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

Восстающее создание


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

Первый вариант: сразу после смерти непись/кричер воскресает.

Begin npcrepeatresurrect
;данный скрипт cоздан Муурном
if ( MenuMode == 1 )
return
endif
if ( GetHealth <= 0 ); проверяем смерть
; почему изменено с OnDeath смотрим ниже
resurrect
endif
end

Вариант два: непись воскресает только через n секунд. Для не убирания тела ставим в свойствах непися corpse persist.

Begin npcrepeatresurrectwithtimer
float timer
;данный скрипт cоздан Муурном
if ( MenuMode == 1 )
return
endif
if ( gethealth > 0 )
return
endif
if ( timer < 20 ) ; вместо двадцати ставим любое число, это кол-во секунд
set timer to ( timer + getsecondspassed )
else
set timer to 0
resurrect
;Сюда можно вставить MessageBox "", в кавычках пишем текст
endif  
end

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

Первый вариант: сразу после смерти непись/кричер воскресает.

Begin npcrepeatresurrect
;данный скрипт cоздан Муурном
if ( MenuMode == 1 )
return
endif
if ( OnDeath == 1 ); проверяем смерть
resurrect
endif
end

Вариант два: непись воскресает только через n секунд. Для не убирания тела ставим в свойствах непися corpse persist.

Begin npcrepeatresurrectwithtimer
float timer
;данный скрипт cоздан Муурном
if ( MenuMode == 1 )
return
endif
if ( gethealth > 0 )
return
endif
if ( timer < 20 ) ; вместо двадцати ставим любое число, это кол-во секунд
set timer to ( timer + getsecondspassed )
else
set timer to 0
resurrect
;Сюда можно вставить MessageBox "", в кавычках пишем текст
endif  
end

 

Звиняйте,если не в тему.

 

 

Вопрос: А на мертвого(изначально) непися скрипт пойдет?

 

 

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

Вопрос: А на мертвого(изначально) непися скрипт пойдет?

Ответ: если не установить мертвому изначально нипу хиты более 0, то непись будет постоянно воскрешаться и умирать(при первом варианте), но в любом случае лишняя трата памяти. Разве что, после resurrect добавить modhealth 20(сколько хочешь).

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

Ответ: если не установить мертвому изначально нипу хиты более 0, то непись будет постоянно воскрешаться и умирать(при первом варианте), но в любом случае лишняя трата памяти. Разве что, после resurrect добавить modhealth 20(сколько хочешь).

 

А я бы сказал, что непись(изначально мертвый) будет воскрешаться как раз во втором варианте, т.к. в нем нет проверки на смерть OnDeath, а проверка на кол-во здоровья, т.к. у трупа здоровье == 0, скрипт вполне жизнеспособен на мертвеце, в первом же варианте флаг OnDeath устанавливается в момент смерти, а т.к. непися никто не убивал, скрипт не будет выполнен. Следовательно, что бы он работал на изначально мертвом неписе необходимо в него добавить дополнительные условия.

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

Следовательно, что бы он работал на изначально мертвом неписе необходимо в него добавить дополнительные условия.

Заменить if ( ondeath == 1 ) на if ( gethealth <= 0 ).

Спасибо, не заметил ошибки про изначально мертвого.

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

Заменить if ( ondeath == 1 ) на if ( gethealth <= 0 ).

Спасибо, не заметил ошибки про изначально мертвого.

 

Хм, тоже вариант... Не за что...http://fullrest.ru/forum/public/style_emoticons/default/139.gif

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

Кстати, о птичках - лично у меня OnDeath имеет тенденцию адово глючить. В GreatHouseDagoth, насколько я помню, известный рандомный баг с паломником, из-за которого мне регулярно пишут на почту, имеет место потому, что там есть OnDeath. Я, конечно, могу ошибаться, но мне кажется, лучше состояние хладного трупа проверять по getcurrenthealth.
Ссылка на комментарий
Поделиться на другие сайты

удалил даблпост =)

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

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

gethealth пиши, выполнится он все равно один раз, так как по resurrect здоворье у моба восстановится, а глючит gethealth меньше.
Ссылка на комментарий
Поделиться на другие сайты

Я пользовался вот таким скриптом. То же самое, только с GetHealh (восстающая и атакующая нежить)

 

Begin 01_Rz_G_Undead

float timer

if ( GetHealth <= 0 )
set timer to ( timer + GetSecondsPassed )
if ( timer > 5 )
	resurrect
	StartCombat, Player
	set timer to 0
endif
endif

end

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

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

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

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

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

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

Войти

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

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

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