Првиетствую всех. Суть проблемы в следующем. Расковырял я моб файл zonemainmenunew.mob. Добавил туда в объектную область объект Огра, прописал туда свой скрипт (ниже), но этот скрипт почему-то отказывается работать. Не пойму в чем проблема. Если просто в консоли в меню набрать ту же команду эффекта, то эффект отрендерится, а через МОБ не хочет. Где я напортачил?
В объектную область добавил огра (см. скриншот).
Я так подозреваю, что просто его Parent я неправильно указал. По сути в мобе вообще нету никакого объекта (группы) с идентификатором -4100.
Duty is everything, the greatest of joys, the deepest of sorrows.
Вобще я думаю так , если в консоли работают , то и в мобе должны работать.
Сам я проверял , они точно не работают в зоне меню.Но , нивал ведь туда скрипт поместил зачем то ?А скрипт то у тебя похоже что не совсем правильный.Ты ведь огра добавил в глобальные переменные.
Ogr = GetObjectByID( "187" )
Не знаю можно ли так делать но такого я еще в скриптах не встречал(хотя может я и не все скрипты изучил).
Если посмотреть на скрипт то CreateParticleSource( 15 , GetX( Ogr ) , GetY( Ogr ) , 0 , 4 , "Mushroom" ) идет до того как ты пресвоил переменной значения огра из меню(опять таки я не знаю можно ли так присваивать в пз).
У меня есть предположения почему в зоне меню не работают скрипты.
Есть же у нас квест на зоне меню ?Есть а следовательно можно отвергнуть то что на зоне меню нельзя использовать скрипты.Однако чего на зоне нету так это триггера когда перс входит в зону.Я полагаю что делается некоторые проверки в екзешнике.Например что то вроде того : пока перс не выйдет на зону , скрипт не загружается.Хотя господа программисты , это всего лиш предположения и все это еще надо подтвердить на практике.
Цитата:А скрипт то у тебя похоже что не совсем правильный.Ты ведь огра добавил в глобальные переменные.
Ogr = GetObjectByID( "187" )
Не знаю можно ли так делать но такого я еще в скриптах не встречал(хотя может я и не все скрипты изучил).
Хм.. Я делал так же, как и на зоне с проклятьем. Программки-декодера у меня нету, так что пока обхожусь малым. Может быть его и по-другому объявить надо. :/
Цитата:Если посмотреть на скрипт то CreateParticleSource( 15 , GetX( Ogr ) , GetY( Ogr ) , 0 , 4 , "Mushroom" ) идет до того как ты пресвоил переменной значения огра из меню(опять таки я не знаю можно ли так присваивать в пз).
Почему же ДО??? Ведь первым делом выполняется WorldScript. А вызов VTriger#0#2 происходит после объявления переменной Ogr.
Duty is everything, the greatest of joys, the deepest of sorrows.
WorldScript это кажись всего лиш точка входа в скрипт , не обязательно что он выполняется первее.У тебя есть подтверждения что он выполняется первым ?
Цитата:Хм.. Я делал так же, как и на зоне с проклятьем. Программки-декодера у меня нету, так что пока обхожусь малым. Может быть его и по-другому объявить надо. :/
Думаю что обычным декодером тут не отделаться.Там шрифт какой то другой вроде.Точнее другого типа.
Еще возникает вопрос , есть ли где нибудь в интернете декриптор которым можно расшифровать скрипт в мобе ?Или в мобе полностью шифрование происходит по определенно составленному алгоритму а не из разных бибилиотек.
Может это и так, что WorldScript это как в си++ функция маин.
Но в некоторых скриптах WorldScript может быть использован несколько раз.
Тогда как он определяет что из неих главное ?
Кстати DeclareScript #OnBriefingComplete ( nPlayer : float, szComplete : string
похоже на функции (может это они и есть).Тогда при вызове этого триггера ты исрользуеш не все аргументы.
Хмм. Что-то я не пойму, зачем WorldScript несколько раз запускать. :blink:
а #OnBriefingComplete я не менял, оставил как было. Насколько я понимаю, в последующем указывании "функции" (читай триггера) указывать ее переменняе не надо. Они указываются только в самом начале и передаются ей, при вызове.
Duty is everything, the greatest of joys, the deepest of sorrows.