Популярный пост Darkness Опубликовано 7 июля, 2012 Популярный пост Жалоба Поделиться Опубликовано 7 июля, 2012 Создатель mrboob 56 Ссылка на комментарий Поделиться на другие сайты Поделиться
Лилит Опубликовано 7 июля, 2012 Жалоба Поделиться Опубликовано 7 июля, 2012 Создатель mrboobНе правда. Он всего лишь изменил скрипт ~AnnieRuru~.http://www.eathena.ws/board/index.php?showtopic=243825&view=findpost&p=1329191 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Darkness Опубликовано 7 июля, 2012 Автор Жалоба Поделиться Опубликовано 7 июля, 2012 Тогда извеняюсь. Ссылка на комментарий Поделиться на другие сайты Поделиться
botka4aet Опубликовано 7 июля, 2012 Жалоба Поделиться Опубликовано 7 июля, 2012 У Годдемита получше будет Ссылка на комментарий Поделиться на другие сайты Поделиться
Tailss Опубликовано 7 июля, 2012 Жалоба Поделиться Опубликовано 7 июля, 2012 У Санасола тоже вроде есть Таро. Ссылка на комментарий Поделиться на другие сайты Поделиться
Break Опубликовано 7 июля, 2012 Жалоба Поделиться Опубликовано 7 июля, 2012 (изменено) Создатель mrboob Не правда. Он всего лишь изменил скрипт ~AnnieRuru~. http://www.eathena.ws/board/index.php?showtopic=243825&view=findpost&p=1329191 не спорю, тот кусок что там лежит использовал в своем скрипте правда и то только, чтобы особо не заморачиваться с этим) да и там он с багами Изменено 7 июля, 2012 пользователем mrboob Ссылка на комментарий Поделиться на другие сайты Поделиться
Sanasol Опубликовано 7 июля, 2012 Жалоба Поделиться Опубликовано 7 июля, 2012 я брал от годдаймейта, но там много подводных камней Ссылка на комментарий Поделиться на другие сайты Поделиться
Bazar2009 Опубликовано 22 июля, 2012 Жалоба Поделиться Опубликовано 22 июля, 2012 А можно его сделать чтоб сам запускался а не активировал ГМ постоянно? Помогите сделать? Ссылка на комментарий Поделиться на другие сайты Поделиться
nomn Опубликовано 22 июля, 2012 Жалоба Поделиться Опубликовано 22 июля, 2012 OnClock2100: Ссылка на комментарий Поделиться на другие сайты Поделиться
medlmen Опубликовано 22 июля, 2012 Жалоба Поделиться Опубликовано 22 июля, 2012 (изменено) А можно его сделать чтоб сам запускался а не активировал ГМ постоянно? Помогите сделать?OnClock1300:OnClock1500:OnClock1700:OnClock1900:OnClock2200:OnClock2328:OnClock0028:Время допишеш. Изменено 22 июля, 2012 пользователем medlmen 1 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Bazar2009 Опубликовано 22 июля, 2012 Жалоба Поделиться Опубликовано 22 июля, 2012 Спасибо большое. А еще вот такая ошибочка вылазиет подскажите что это? Только это не тот ивент.[Warning]: NPC event parameter deprecated! Please use 'NPCNAME::OnEVENT' instead of 'OnMobDead'.[Debug]: Source (NPC): announce2 at guild_vs2-2 (0,0) Ссылка на комментарий Поделиться на другие сайты Поделиться
nomn Опубликовано 22 июля, 2012 Жалоба Поделиться Опубликовано 22 июля, 2012 Воспользуйся переводчиком. Там же и так написано "что это". Ссылка на комментарий Поделиться на другие сайты Поделиться
Bazar2009 Опубликовано 22 июля, 2012 Жалоба Поделиться Опубликовано 22 июля, 2012 Как я понимаю надо что то заменить, но что и где не могу понять ((( Ссылка на комментарий Поделиться на другие сайты Поделиться
SemirLab Опубликовано 24 июля, 2012 Жалоба Поделиться Опубликовано 24 июля, 2012 Нашел баг:Если игрок ливает с эвента - пишется "очередь (null)" и эвент виснет...Есть идеи по решению проблемы? Ссылка на комментарий Поделиться на другие сайты Поделиться
kadze Опубликовано 24 июля, 2012 Жалоба Поделиться Опубликовано 24 июля, 2012 да проверять на пристутствие игрока в онлайне (или же при логауте),если его нету удалять из массива 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
SemirLab Опубликовано 24 июля, 2012 Жалоба Поделиться Опубликовано 24 июля, 2012 попытаюсь исправить) правда с массивами пока не доводилось работать( Ссылка на комментарий Поделиться на другие сайты Поделиться
SemirLab Опубликовано 24 июля, 2012 Жалоба Поделиться Опубликовано 24 июля, 2012 Полагаю как-то так?OnPCLogoutEvent:if(getcharid(3)==.aid[.@i]){deletearray .aid[.@i], 1;set .@i, .@i -1} Ссылка на комментарий Поделиться на другие сайты Поделиться
kadze Опубликовано 24 июля, 2012 Жалоба Поделиться Опубликовано 24 июля, 2012 а перебор .@i забыл? Ссылка на комментарий Поделиться на другие сайты Поделиться
nomn Опубликовано 24 июля, 2012 Жалоба Поделиться Опубликовано 24 июля, 2012 Да вы че)) ЛогАут эвент вешать из-за такой ерунды)) Проверяй наличие чара в онлайне перед обращением к нему. Ссылка на комментарий Поделиться на другие сайты Поделиться
kadze Опубликовано 24 июля, 2012 Жалоба Поделиться Опубликовано 24 июля, 2012 Я предложил оба варианта,он взял какой ему нравится Ссылка на комментарий Поделиться на другие сайты Поделиться
SemirLab Опубликовано 28 июля, 2012 Жалоба Поделиться Опубликовано 28 июля, 2012 Перечитал скрипт и увидел в нем эти самые строчки...while ( getarraysize(.aid) > 1 ) {if (!isloggedin(.aid[.@i])){deletearray .aid[.@i], 1;set .@i, .@i -1;}Проверка на присутствие игрока есть..Баг еще глубже чем казалось. Ссылка на комментарий Поделиться на другие сайты Поделиться
kadze Опубликовано 28 июля, 2012 Жалоба Поделиться Опубликовано 28 июля, 2012 эта часть скрипта проверяет похоже только 1 раз перед началом раунда,а если игрок выйдет в середине раунда,то эвент зависнет. Ссылка на комментарий Поделиться на другие сайты Поделиться
SemirLab Опубликовано 18 октября, 2012 Жалоба Поделиться Опубликовано 18 октября, 2012 (изменено) появилось время, порылся глубже в проблеме:Проверяет он не перед каждым раудном, а перед каждым игроком. Но в нем есть нахер не нужная строчка.Строка set .@i, .@i -1;Что по сути она делает? Все портит(Пример №1:На эвенте зарегистрировалось 5 человек, массив (.aid) выглядит так:0 Вова1 Петя2 Вася3 Саша4 МишаЕще перед началом эвента выходит первый игрок - Вова(0).Начинается эвент, скрипт проверяет строку массива .aid[.@i] первого игрока (который вышел), т.е. .aid[0]. Скрип понимает что игрок оффлайн, далее он делает:deletearray .aid[.@i], 1;(удаляет игрока из массива)а далее (внимание)set .@i, .@i -1;отнимает от вашего .@i единицу.От чего тому становится херово, ибо его значение становится -1. ( 0-1 = -1 )После чего эмуль пишет:[Warning]: script:getelementofarray: index out of range (-1)[Debug]: Data: variable name='.aid' index=0Ну и падает эвент.Пример №2:На эвенте зарегистрировалось 5 человек, массив (.aid) выглядит так:0 Вова1 Петя2 Вася3 Саша4 МишаЕще перед началом эвента выходят - Петя(1) и Вася(2).Начинается эвент, скрипт проверяет строку массива .aid[.@i] первого игрока, т.е. .aid[0] - все ок. Далее:set .@i, .@i +1;(.@i = 1)Потом проверяет игрока .aid[1] - он оффлайн:deletearray .aid[.@i], 1;(удаляет игрока из массива)далее:set .@i, .@i -1;(.@i = 0)...Потом скрипт повторяет все действия заного, так как .@i = 0. (еще раз бьет первого игрока, устанавливает .@i = 1)Опять проверяет игрока .aid[1] (он тоже вышел) - игрока нет, поле пустое - (null)Эвент пишет:Очередь игрока (null)и зависает.Чтобы этого не происходило:1. Надите:announce "Регистрация закончена. Эвент начался.", 8;while ( getarraysize(.aid) > 1 ) {if (!isloggedin(.aid[.@i])){deletearray .aid[.@i], 1;set .@i, .@i -1;}2. Удалите:set .@i, .@i -1;3. Добавьте goto, должно получиться примерно так:announce "Регистрация закончена. Эвент начался.", 8;L_Start:while ( getarraysize(.aid) > 1 ) {if (!isloggedin(.aid[.@i])){deletearray .aid[.@i], 1;goto L_Start;}Теперь все ОК) Изменено 18 октября, 2012 пользователем SemirLab Ссылка на комментарий Поделиться на другие сайты Поделиться
Jarek Опубликовано 18 октября, 2012 Жалоба Поделиться Опубликовано 18 октября, 2012 goto в цикле зачем?И да, так и задумано что проверка нон-стоп? может хотя бы задержку секундную поставить?P.S.: после удаления из массива элемента я бы переместил на его место последний, чтобы isloggedin(.aid[.@i]) не вызывал ошибокAdded: А все, понял Ссылка на комментарий Поделиться на другие сайты Поделиться
SemirLab Опубликовано 18 октября, 2012 Жалоба Поделиться Опубликовано 18 октября, 2012 (изменено) goto в цикле зачем?И да, так и задумано что проверка нон-стоп? может хотя бы задержку секундную поставить?P.S.: после удаления из массива элемента я бы переместил на его место последний, чтобы isloggedin(.aid[.@i]) не вызывал ошибокПример №2 Изменено 18 октября, 2012 пользователем SemirLab Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения