Перейти к содержанию

Как повесить скрипт на заклинание?


Рекомендуемые сообщения

Нужно чтобы после каста заклинания плаером, запускался скрипт. Как это сделать?
Ссылка на комментарий
Поделиться на другие сайты

Угу, глобальным... теперь дело за малым: отследить, что на игроке наложено опеделенное заклинание, а не эффект...
Ссылка на комментарий
Поделиться на другие сайты

С малым я и сам знаю как разобраться. Ты мне про глобальное расскажи.
Ссылка на комментарий
Поделиться на другие сайты

в морре без дополнений глобальные запускать командой StartScript, "Script ID"

в трибе/бладе - CS в меню Gameplay/Edit starting Scripts, тогда сами при загрузке стартанут

 

любой скрипт не привязанный к объекту - глобальный, и так как когда его запустишь о выполняется в каждом кадре надо быть с ними аккуратнее, например вставить таймер на выполнение основной части скрипта раз в секунду или еще реже

 

на спел подвесить какой-нить из эффектов который будет действовать не на цель атаки, а на игрока и потом детектить через

 

if ( Player -> GetSpellEffects, "тут указывается эффект" == 1 )

 

endif

 

но эта шняга выполнится и в любом другом случае если такой эффект вдруг наложат на игрока, тут уж тока на удачу выбрать какой-нить из редких

Ссылка на комментарий
Поделиться на другие сайты

if ( Player -> GetSpellEffects, "тут указывается эффект" == 1 )

Там указываеться не эффект, а ID спелла. Эффект указываеться при GetEffect.

А по подробней низя? :1anim_ah: С примером. А то стеорией неочень. Триб и Блад используются.

Ссылка на комментарий
Поделиться на другие сайты

а тебе вообще какая ситуация нужна?

игрок в любой момент кастит заклятье(любое) на себя или на любого врага - сомневаюсь что можно будет отследить

игрок кастит на себя что-то хорошее или плохое (из стандартных) в любой момент - по GetSpellEffects

игрок кастит любое заклинание на уникального НПС - тоже по GetSpellEffects но проверка на неписи локальным скриптом, тоже самое если закл атакующий то проверка просто атаки по OnPCHitme

или еще что

Ссылка на комментарий
Поделиться на другие сайты

Конечно на себя, на неписей плевать. :1anim_ao: Да и скрипт висел когда-то активаторе, но думаю чтоб превратить его в глобальный, надо убрать условие (OnActivate ==1).
Ссылка на комментарий
Поделиться на другие сайты

а по-подробнее? так все секретно...

ну примерно так

 

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

Изменено пользователем Майк
Ссылка на комментарий
Поделиться на другие сайты

Не работает. :1anim_al: Я подставил для проверки функцию PositionCell, но в игре не телепортировался.
Ссылка на комментарий
Поделиться на другие сайты

а в автозагрузку в CS не забыл поставить?

попробуй в консоли запустить StartScript castOnMe

по логике все верно, сделай наложенное на себя заклинание длинее или убери

if ( framecounter < 10 )

set framecounter to ( framecounter + 1 )

Return

endif

set framecounter to 0

чтоб в каждом кадре исполнялось

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...