Oxxy
-
Постов
111 -
Зарегистрирован
-
Посещение
-
Победитель дней
8
Сообщения, опубликованные Oxxy
-
-
в Геркулесе не наблюдал такой проблемы. Криворукие девы рафины давно разонравились.
-
Я имею введу серверную роботу, роботу над клиентом РО, роботу над сайтом и форумом, рекламой сервера в интернете, робота над скриптами, SRC...
это какие такие роботы нужны?
-
уверен, что эту проблему вызывает скрипт? пробовал не включать скрипт в автозагрузку, сервер включается нормально?
-
Без понятия. Не слышал. По доминам ток в ru проверял.
Над сервером работают Malufett, Dastgir, Poison, KeyKun, если знаешь, кто это такие (:<
бтв, картой делиться будешь? уж очень понравилась ^^
-
картой делиться будешь? хорошо нарисовал, умничка, ставлю 5.
[offtop]ты знал, что есть ggRO? буржуйский сервер. Название оттуда взял? [/offtop]
-
Кешпоинты можно выдавать через переменную.
#CASHPOINTS = #CASHPOINTS + 1; // даст 1 кеш-поинт.
- 1
-
Помогло спасибо через грфу удалил, и еще вопрос как добавить кастом ,доболяю по старому но Unknown item,и как убрать каст на скилы в battle/skill не убирается.
Дарю тебе:
http://supportmii.com/ro1/JudasBible.pdf
(полный сборник гайдов для начинающих, как добавить кастом, как включить и настроить сервер и т.д)
https://rathena.org/wiki/Custom_weapons
(добавление кастомных оружий)
https://rathena.org/wiki/Custom_Items
(добавление кастомных вещей)
http://hercules.ws/board/topic/7526-guide-adding-new-status-icons/
(добавление новой иконки статуса)
-
-
ЛЕЛ, КЕКЕКЕКЕК. Бтв, давайте не флудить чтоли?
-
Зачем тебе каждый раз выводить число игроков?
И что за проверка в цикле?
выше смотри, там все есть.
Там ничего нет
mes "^FF0000Всего игроков онлайн: "+getarraysize(.@names$)+"^000000";
mes "["+(.@i+1)+"] "+.@names$[.@i]+": "+ .@loc$[.@i]+"";Тут 2 строки
Потом деление на 1(Лолчто блиать)
Какая-то проверка на пустоту(хотя в цикле есть проверка длины строки)
Это конечно здорово, что тебе подсказывают умные люди, но не надо за ними бездумно повторять, а потом говорить
1) ((.@i + 1) % 10) == 0 Смотрим остаток от деления на 10 (проверяем является ли он каждым 10-м)
2) .@names$[.@i + 1] != "" Смотрим, существует ли следующий элемент в списке (зачем? чтобы не было лишней кнопки некст если количество людей онлайн кратно 10)
ПЛЕС. Сколько лет ты тут сидишь, а мозгов все не прибавилось, ага, я чекаю форумы часто C:
Ладно бы я бездумно повторил, но я попросил объяснить, а ты видимо в глаза долбишься, раз не видишь, что написано.
Ты в конечном скрипте ошибся. Вместо (.@i + 1) % 10) == 0 написал (.@i + 1) % 1) == 0 . Чуешь разницу? А он за это и зацепился.
хмхмхмхм, а, это было для теста, ссорьки, кек
-
#KAFRAPOINTS = #KAFRAPOINTS + 1000;
- 1
-
Зачем тебе каждый раз выводить число игроков?
И что за проверка в цикле?
выше смотри, там все есть.
Там ничего нет
mes "^FF0000Всего игроков онлайн: "+getarraysize(.@names$)+"^000000";
mes "["+(.@i+1)+"] "+.@names$[.@i]+": "+ .@loc$[.@i]+"";Тут 2 строки
Потом деление на 1(Лолчто блиать)
Какая-то проверка на пустоту(хотя в цикле есть проверка длины строки)
Это конечно здорово, что тебе подсказывают умные люди, но не надо за ними бездумно повторять, а потом говорить
1) ((.@i + 1) % 10) == 0 Смотрим остаток от деления на 10 (проверяем является ли он каждым 10-м)
2) .@names$[.@i + 1] != "" Смотрим, существует ли следующий элемент в списке (зачем? чтобы не было лишней кнопки некст если количество людей онлайн кратно 10)
ПЛЕС.
-
САБЖ.
Как можно проверить, что игрок ввёл только цифры? если он ввел буквы - закрыть нпц
Догадался.
если input у нас не string переменная, то использование букв приведет к тому, что переменная будет равна 0, вот и сама проверка. клоуз.
input @k;
if(@k == 0) { mes "Число должно состоять только из цифр, оно также не может быть нулем."; close; }Введеное количество цифр можно как-то проверить?
до этого тоже догнал
input @k;
if(@k < 1000 || >9999) { mes "Число должно быть четырехзначным."; close; }--клоуз тему.
-
Зачем тебе каждый раз выводить число игроков?
И что за проверка в цикле?
выше смотри, там все есть.
Можно же сделать
OnInit:
while(1){
удаление чата
запрос
вывод в чат
слип1000;
}особой разницы нет.
-
1 запрос в секунду - это фигня. Ничего не будет.
все тогда, решено, вот готовый нпц, если кому пригодится?
celestiaj,60,71,6 script Players Online 100,{
query_sql "SELECT `name`,`last_map` FROM `char` WHERE `online` > 0 ORDER BY `last_map`", .@names$, .@loc$;
for(.@i = 0; .@i < getarraysize(.@names$); .@i++) {
mes "^FF0000Всего игроков онлайн: "+getarraysize(.@names$)+"^000000";
mes "["+(.@i+1)+"] "+.@names$[.@i]+": "+ .@loc$[.@i]+"";
if ( ((.@i + 1) % 1) == 0 && .@names$[.@i + 1] != "" ) next;
}
close;
OnInit:
initnpctimer;
end;
OnTimer1000:
delwaitingroom;
query_sql "SELECT `name` FROM `char` WHERE `online` > 0 ORDER BY `last_map`", .@names$;
waitingroom _("Игроки онлайн: "+getarraysize(.@names$)),0;
stopnpctimer;
initnpctimer;
end;
}Скобки после Waitingroom'а сделаны для того, чтобы сервер распозновал это как переводимую строчку (кто знает новую систему языков Геркулеса, тот поймет)
-
1) ((.@i + 1) % 10) == 0 Смотрим остаток от деления на 10 (проверяем является ли он каждым 10-м)
2) .@names$[.@i + 1] != "" Смотрим, существует ли следующий элемент в списке (зачем? чтобы не было лишней кнопки некст если количество людей онлайн кратно 10)
люблю тебя спасибо
Можно еще спросить? Как правильно объединить эти два запроса в один:
query_sql "SELECT `name`,`last_map` FROM `char` WHERE `online` > 0 ORDER BY `last_map`", .@names$, .@loc$;
query_sql "SELECT COUNT(name) FROM `char` WHERE `online` > 0", .@online;попробовал так, в итоге выводит только 1 игрока онлайн(хотя их 2):
query_sql "SELECT COUNT(name),`name`,`last_map` FROM `char` WHERE `online` > 0 ORDER BY `last_map`",.@online, .@names$, .@loc$;Зачем тебе второй запрос? Имена всех игроков онлайн у тебя в массиве .@names$, так? Соответственно количество элементов массива = количеству игроков в онлайне, так? Количество элементов в массиве у тебя в скрипте уже используется..
ойойойой, как я протупил, правильно будет сделать getarraysize(.@names$), дыа?
--UPDATE: все, сделал, спасибо всем C:
Вопрос про нагрузку на базу и сервер:
celestiaj,60,71,6 script Players Online 100,{
query_sql "SELECT `name`,`last_map` FROM `char` WHERE `online` > 0 ORDER BY `last_map`", .@names$, .@loc$;
mes "Всего игроков онлайн: "+getarraysize(.@names$);
for(.@i = 0; .@i < getarraysize(.@names$); .@i++) {
mes "["+(.@i+1)+"] "+.@names$[.@i]+": "+ .@loc$[.@i]+"";
if ( ((.@i + 1) % 1) == 0 && .@names$[.@i + 1] != "" ) next;
}
close;
OnInit:
initnpctimer;
end;
OnTimer1000:
delwaitingroom;
query_sql "SELECT `name`,`last_map` FROM `char` WHERE `online` > 0 ORDER BY `last_map`", .@names$, .@loc$;
waitingroom "Players Online: "+getarraysize(.@names$),0;
stopnpctimer;
initnpctimer;
end;
}будет ли сильно грузится сервер и база при таком виде нпц?
-
1) ((.@i + 1) % 10) == 0 Смотрим остаток от деления на 10 (проверяем является ли он каждым 10-м)
2) .@names$[.@i + 1] != "" Смотрим, существует ли следующий элемент в списке (зачем? чтобы не было лишней кнопки некст если количество людей онлайн кратно 10)
люблю тебя спасибо
Можно еще спросить? Как правильно объединить эти два запроса в один:
query_sql "SELECT `name`,`last_map` FROM `char` WHERE `online` > 0 ORDER BY `last_map`", .@names$, .@loc$;
query_sql "SELECT COUNT(name) FROM `char` WHERE `online` > 0", .@online;попробовал так, в итоге выводит только 1 игрока онлайн(хотя их 2):
query_sql "SELECT COUNT(name),`name`,`last_map` FROM `char` WHERE `online` > 0 ORDER BY `last_map`",.@online, .@names$, .@loc$; -
Жесть какая. За полтора года прям все приципы программирования поменялись настолько кардинально чтоли?
Почитай, что такое цикл, как он организуется. Составь алгоритм своими словами. Потом это дело в скрипт уже переноси.
Мой мозг перестал работать за полтора года, кекекек. На самом деле, забываешь очень много ;-)
Заменить next;
на if (!((.@i+1)%10) && .@names$[.@i+1]) next;
Спасибо, проверю C:
-- UPDATE: нпц виснет про твоем варианте, Джерек.
Проверь, что у тебя стоит &&, а не &. Если все так, то попробуй так:
if ( ((.@i + 1) % 10) == 0 && .@names$[.@i + 1] != "" ) next;Спасибо, все работает :-*
Бтв, я догадывался, что нужен еще один луп, можешь объяснить эту строку? Конкретно первую часть. (.@i + 1) % 10) Это сравнение?
-
Жесть какая. За полтора года прям все приципы программирования поменялись настолько кардинально чтоли?
Почитай, что такое цикл, как он организуется. Составь алгоритм своими словами. Потом это дело в скрипт уже переноси.
Мой мозг перестал работать за полтора года, кекекек. На самом деле, забываешь очень много ;-)
Заменить next;
на if (!((.@i+1)%10) && .@names$[.@i+1]) next;
Спасибо, проверю C:
-- UPDATE: нпц виснет про твоем варианте, Джерек.
-
не знал, как объяснить правильно.
http://upaste.me/f0b718789d23fc687скрипт, соответсвенно, я уже весь мозг сломал, убейте, не помню, как сделать чтобы показало, например, 10 игроков, появилась кнопка NEXT, пошел следующие 10 игроков и т.д. C:
-- З.Ы: Всем привет, 1.5 года не занимался РОшечкой :]
-
XDDDD откровенный агр пошёл))))) у кого еще мания школьника?)
- 1
-
Не понравилась музыка - пиздуй, тема для тех, кому должно понравится/обсудить есть желание. У тебя мания величия. Твой пост был откровенной хуйней - я минусовал. problems?
P.S Тем, кому без разницы - не отвечают дальше, однако, ты лишь можешь выебнуться этой фразой. И да, мне не похуй, что просто так минусуют.
-
да нет, не охуел, сударь. И однако, мозга не хватило ответить на другую часть предложения? Важнее было ответить на оскорбление, видимо задело...
-
Развивайся, хохольчик мой. Минусовать за то, что я тебе заминусовал тупой пост - глупо <3 peace.
- 1
помогите с командой!
в Помощь в скриптинге
Опубликовано
что за извращение? Обычный warp уже не катит?