Варкрафт с ума меня сведёт!
Что за чертовщина?
Что за чертовщина?
call InitTrig_UbiquitousAll()
call InitTrig_ElementalistAll()
call InitTrig_FavoriteAll()
call InitTrig_GodofTwilightAll()
call InitTrig_ElementalistAll()
call InitTrig_FavoriteAll()
call InitTrig_GodofTwilightAll()
call InitTrig_NeedlessAll()
call InitTrig_CursedChitAll()
call InitTrig_ArbiterAll()
call InitTrig_CursedChitAll()
call InitTrig_ArbiterAll()
call InitTrig_ArchdruidAll()
call InitTrig_SkyHeraldAll()
call InitTrig_PastmasterAll()
call InitTrig_ManipulatorAll()
call InitTrig_SoulCarrierAll()
call InitTrig_SkyHeraldAll()
call InitTrig_PastmasterAll()
call InitTrig_ManipulatorAll()
call InitTrig_SoulCarrierAll()
Есть поток, это только часть функций, инициализирующихся в нём - есть выше и ниже, не суть важно.
Для проверки мной постоянно проверяется на работоспособность последняя функция потока, с ней всё есть и было ок.
Для проверки мной постоянно проверяется на работоспособность последняя функция потока, с ней всё есть и было ок.
Но внезапно выяснилось, что единственная выделенная жирным функция НЕ инициализируется! Функция В ЦЕНТРЕ потока. При выучивании спеллов (а это базовое регистрирующее там на триггер событие, в соседних ф-ях так же) герой НИЧЕГО не делает, спеллы остаются пустышками.
Со страху я кидаюсь проверять все остальные - вроде всё ок.
Перемещаю функцию в другой поток - нихрена, при этом остальные функции в потоках (в частности нижние!!!) исправно работают.
Тут еще самое веселое, что нет 100% уверенности, что раньше функция работала, по идее должна была, но уже не помню, мб просто наспех была пропущена для проверки...
Все функции рядом работают по тому же принципу и успешно инициализируются!
Все функции рядом работают по тому же принципу и успешно инициализируются!
Ошибки в названии функции быть не может, да и не скомпилировался бы тогда код по идее.
Отладка на начало действия функции (сразу после объявления локальных переменных) сразу же была сделана для проверки - ремув объекта с карты. Объект оставался на месте.
Т. е. call InitTrig_GodofTwilightAll() по идее просто НЕ срабатывало!
Там сразу же после задания локальных переменных была отладка поставлена и не действовала.
Ифзенэлсы все дальнейшие проверять в функции не было смысла.
Там сразу же после задания локальных переменных была отладка поставлена и не действовала.
Ифзенэлсы все дальнейшие проверять в функции не было смысла.
Решено было так: вообще-то все новые герои инициализируются уже через одну общую функцию, поэтому куски кода из того, что запускает эта, благополучно были перенесены в неё.
Всё действует.
Но всё-таки остаётся непонимание - что это было???
Может разве быть такое, что В СЕРЕДИНЕ потока функция не запускается, а ниже ( и выше) все исправно действует?
Может разве быть такое, что В СЕРЕДИНЕ потока функция не запускается, а ниже ( и выше) все исправно действует?
Принятый ответ
скачай этот файл и закинь его в папку AdicHelper\lib\ в папке с jngp
после в шапке карты напиши include "ifdebug.j"
и создай триггер с событием
игрок написал в чат ifdebug как точное совпадение
действие
кастом скрипт log()
после чего запусти карту и напиши в чат ifdebug
он выведет на экран все if/else/elseif через которые он прошёл (true в скобках в конце строки означает что значение в ифе истина)
после в шапке карты напиши include "ifdebug.j"
и создай триггер с событием
игрок написал в чат ifdebug как точное совпадение
действие
кастом скрипт log()
после чего запусти карту и напиши в чат ifdebug
он выведет на экран все if/else/elseif через которые он прошёл (true в скобках в конце строки означает что значение в ифе истина)
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
поток виноват? нет, перемещалось в другой и не действовало = тут ошибки нет
в функции неправильные if then else? - но там с самого начала после объявления единственной локалки (триггера) стояла отладка - удалить имеющееся с начала игры здание, а оно оставалось на месте = функция просто не вызывалась.
При этом функции ниже (и выше) в потоке успешно вызываются.
Перемещение в другой поток ничего не меняет.
На каком-то другом этапе вроде бы ошибка - см. выше - исключена.
Что за бред?
Отредактирован nvc123
советую сделать нормальный дебаг (есть куча готовых систем для дебага)
Отредактирован nvc123
значит, ошибка всё-таки могла быть где-то в ифзенэлсах
да, именно в такой гуи глобалке именно это здание и было и именно через нее ремувилось и ни один триг не использовал
А текст успел бы появиться? Дело в том, что событие, где был этот поток - по-моему, map initialization
Поток же всегда если принудительно завершается на какой-то функции, то ниже нее функции уже тоже должны не работать? А тут работали
вот крч код если интересно
ни один спелл не действовал так что где if then else смотреть - понятно
Дело вот где-то в том, что ни один спелл не регается после изучения и озвучка не появляется
то есть или в кондишенах или где-то в начале все обрывается
UMSWE
Отредактирован nvc123
после в шапке карты напиши include "ifdebug.j"
и создай триггер с событием
игрок написал в чат ifdebug как точное совпадение
действие
кастом скрипт log()
после чего запусти карту и напиши в чат ifdebug
он выведет на экран все if/else/elseif через которые он прошёл (true в скобках в конце строки означает что значение в ифе истина)
но уже нврн в след. раз
пока меня больше интересовало, может ли в потоке в СЕРЕДИНЕ что-то не выполниться, а дальше выполняться, если функция сама по себе исправна
ятп - нет и слава Богу
твой ответ жму как лучший