CemKey Опубликовано 21 ноября, 2006 Жалоба Поделиться Опубликовано 21 ноября, 2006 Нужно чтобы после каста заклинания плаером, запускался скрипт. Как это сделать? Ссылка на комментарий Поделиться на другие сайты Поделиться
lost81 Опубликовано 26 ноября, 2006 Жалоба Поделиться Опубликовано 26 ноября, 2006 Угу, глобальным... теперь дело за малым: отследить, что на игроке наложено опеделенное заклинание, а не эффект... Ссылка на комментарий Поделиться на другие сайты Поделиться
CemKey Опубликовано 30 ноября, 2006 Автор Жалоба Поделиться Опубликовано 30 ноября, 2006 С малым я и сам знаю как разобраться. Ты мне про глобальное расскажи. Ссылка на комментарий Поделиться на другие сайты Поделиться
Майк Опубликовано 4 декабря, 2006 Жалоба Поделиться Опубликовано 4 декабря, 2006 в морре без дополнений глобальные запускать командой StartScript, "Script ID"в трибе/бладе - CS в меню Gameplay/Edit starting Scripts, тогда сами при загрузке стартанут любой скрипт не привязанный к объекту - глобальный, и так как когда его запустишь о выполняется в каждом кадре надо быть с ними аккуратнее, например вставить таймер на выполнение основной части скрипта раз в секунду или еще реже на спел подвесить какой-нить из эффектов который будет действовать не на цель атаки, а на игрока и потом детектить через if ( Player -> GetSpellEffects, "тут указывается эффект" == 1 ) endif но эта шняга выполнится и в любом другом случае если такой эффект вдруг наложат на игрока, тут уж тока на удачу выбрать какой-нить из редких Ссылка на комментарий Поделиться на другие сайты Поделиться
CemKey Опубликовано 7 декабря, 2006 Автор Жалоба Поделиться Опубликовано 7 декабря, 2006 Майк сказал: if ( Player -> GetSpellEffects, "тут указывается эффект" == 1 )Там указываеться не эффект, а ID спелла. Эффект указываеться при GetEffect.А по подробней низя? :1anim_ah: С примером. А то стеорией неочень. Триб и Блад используются. Ссылка на комментарий Поделиться на другие сайты Поделиться
Майк Опубликовано 7 декабря, 2006 Жалоба Поделиться Опубликовано 7 декабря, 2006 а тебе вообще какая ситуация нужна? игрок в любой момент кастит заклятье(любое) на себя или на любого врага - сомневаюсь что можно будет отследитьигрок кастит на себя что-то хорошее или плохое (из стандартных) в любой момент - по GetSpellEffectsигрок кастит любое заклинание на уникального НПС - тоже по GetSpellEffects но проверка на неписи локальным скриптом, тоже самое если закл атакующий то проверка просто атаки по OnPCHitmeили еще что Ссылка на комментарий Поделиться на другие сайты Поделиться
CemKey Опубликовано 7 декабря, 2006 Автор Жалоба Поделиться Опубликовано 7 декабря, 2006 Конечно на себя, на неписей плевать. :1anim_ao: Да и скрипт висел когда-то активаторе, но думаю чтоб превратить его в глобальный, надо убрать условие (OnActivate ==1). Ссылка на комментарий Поделиться на другие сайты Поделиться
Майк Опубликовано 7 декабря, 2006 Жалоба Поделиться Опубликовано 7 декабря, 2006 (изменено) а по-подробнее? так все секретно...ну примерно так Begin castOnMe Short framecounter Short do_once if ( MenuMode == 1) return endif ;чтоб во время открытого меню не работал if ( framecounter < 10 ) set framecounter to ( framecounter + 1 ) Return endif set framecounter to 0 ;чтоб скрипт выполнялся лишь раз в 10 кадров, типа уменьшение загрузки проца if ( do_once == 1); чтоб скрипт не выполнялся повторно с тех пор как было наложено заклятье и до окончания действия его эффекта if ( Player -> GetSpellEffects, "ID_Spell" == 0) Set do_once to 0 return endif elseif ( do_once == 0) if ( Player -> GetSpellEffects, "ID_Spell" == 1) Set do_once to 1 ;скрипт того, что должно выполнятся в случае если обнаружено наложенное заклятье endif endif end castOnMe Изменено 7 декабря, 2006 пользователем Майк Ссылка на комментарий Поделиться на другие сайты Поделиться
CemKey Опубликовано 8 декабря, 2006 Автор Жалоба Поделиться Опубликовано 8 декабря, 2006 Не работает. :1anim_al: Я подставил для проверки функцию PositionCell, но в игре не телепортировался. Ссылка на комментарий Поделиться на другие сайты Поделиться
Майк Опубликовано 8 декабря, 2006 Жалоба Поделиться Опубликовано 8 декабря, 2006 а в автозагрузку в CS не забыл поставить?попробуй в консоли запустить StartScript castOnMe по логике все верно, сделай наложенное на себя заклинание длинее или убериif ( framecounter < 10 ) set framecounter to ( framecounter + 1 ) Returnendifset framecounter to 0чтоб в каждом кадре исполнялось Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти