Qunis Опубликовано 14 января, 2012 Жалоба Поделиться Опубликовано 14 января, 2012 В данном примере показано, как сделать так, чтобы комната с чатом у NPC обновлялась и показывала информацию об онлайне на локации prontera.prontera,150,170,4 script Chat_Room 651,{ end;OnInit:OnTimer1000: delwaitingroom; waitingroom getmapusers("prontera")+" player"+( getmapusers("prontera") > 1 ? "s":"") +" in Prontera", 0; initnpctimer;} - Источник: http://ragnarok-server.ru 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Карласон Опубликовано 14 января, 2012 Жалоба Поделиться Опубликовано 14 января, 2012 ну тут нечего стоещего нету=( Ссылка на комментарий Поделиться на другие сайты Поделиться
Sanasol Опубликовано 14 января, 2012 Жалоба Поделиться Опубликовано 14 января, 2012 источник prontera,150,170,4 script Chat_Room 651,{ end;OnInit:initnpctimer;end;OnTimer1000: delwaitingroom; waitingroom getmapusers("prontera")+" player"+( getmapusers("prontera") > 1 ? "s":"") +" in Prontera", 0; stopnpctimer; initnpctimer;end;} Ссылка на комментарий Поделиться на другие сайты Поделиться
Sanasol Опубликовано 14 января, 2012 Жалоба Поделиться Опубликовано 14 января, 2012 так лучше кажись 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
nomn Опубликовано 14 января, 2012 Жалоба Поделиться Опубликовано 14 января, 2012 ну тут нечего стоещего нету=(Полностью согласен. Мало того, что на спасибку не тянет,так и реализация не самая лучшая. Мой вариант:prontera,150,170,4 script Chat_Room 651,{ end; while(1) { waitingroom getmapusers("prontera")+" player"+( getmapusers("prontera") > 1 ? "s":"") +" in Prontera", 0; sleep 1000; delwaitingroom; } end;} Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 14 января, 2012 Жалоба Поделиться Опубликовано 14 января, 2012 Хм.. В последний раз, когда я интересовался бесконечными циклами - вроде как было невозможно запустить их. Точнее как - сервер выдавал ошибку, что цикл по умолчанию бесконечный и останавливал его работу и чтобы это обойти нужно было в конце тела цикла добавлять sleep(n);. Как-то так, хотя за достоверность ручаться не буду. Если я не ошибся - тогда вариант nomn'a лучше чуть пееделать:prontera,150,170,4 script Chat_Room 651,{ end; while(1) { delwaitingroom; waitingroom getmapusers("prontera")+" player"+( getmapusers("prontera") > 1 ? "s":"") +" in Prontera", 0; sleep 1000; } end;}Ну а если я где-то что-то напутал, тогда пофиг. Ну и цикл гораздо лучше таймера, всяко. Ссылка на комментарий Поделиться на другие сайты Поделиться
nomn Опубликовано 14 января, 2012 Жалоба Поделиться Опубликовано 14 января, 2012 И получишь ошибку на первой итерации, т.к. скрипт попытается убрать чат которого нет Требую прув!) Проверь мой вариант Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 14 января, 2012 Жалоба Поделиться Опубликовано 14 января, 2012 (изменено) И получишь ошибку на первой итерации, т.к. скрипт попытается убрать чат которого нет Требую прув!) Проверь мой вариант Щас негде проверять.. Да и не критично это, выдаст ошибку - добавить вторую строчку создания чата перед удалением (: А прув... Ну нет у меня доказательств. Просто когда-то для себя писал подобное, там на арене онлайн каждую секунду обновлялся и показывался - ну аналогично ощем. И где-то на форуме афины накопал про эту особенность. Сначала слип тоже стоял в середине, переместил в конец - заработало. А если вначале или в середине - писал в консоли, мол бесконечный цикл, ошибка. Вот...) Кстати.. Там именно ошибку выдаст или просто warn? Изменено 14 января, 2012 пользователем Кеник Ссылка на комментарий Поделиться на другие сайты Поделиться
Krivedkin Опубликовано 5 марта, 2012 Жалоба Поделиться Опубликовано 5 марта, 2012 Вопрос тупой конечно, но вопрос.Как сделать проверку на чистый онлайн (без торгов и детачей)? Ссылка на комментарий Поделиться на другие сайты Поделиться
Krivedkin Опубликовано 5 марта, 2012 Жалоба Поделиться Опубликовано 5 марта, 2012 SRC модификациейПодробнее можете указать?Что то не находил такого. Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 6 марта, 2012 Жалоба Поделиться Опубликовано 6 марта, 2012 Навскидку:В базе помница есть поле в таблице персонажей, которое обозначает их "состояние" (онлайн-оффлайн). В команду @detach дописать выставление этого поля в третье (четвертое-пятое-десятое) значение, которое не будет учитываться при подсчете онлайна. Как-то так (: Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения