Всем привет. Я хочу сделать кольцо со скриптом: одел и возле тебя появляется лошадь (ее ID 1CL_Horse) а когда снимаешь кольцо - она исчезает. Первую часть я делал:
scn 1CLHorseScript
Begin OnEquip
player.placeatme 1CL_Horse 1,128,0
End
Лошадь появляется. А вторую часть я не стал печатать, потому что не знаю как. Знаю что через команду "OnUnequip", но disable почему то не работает...
Прошу помочь. Напишите пожалуйста скрипт полностью. Буду очень благодарен)
Помогите написать скрипт для лошади
Сообщений 1 страница 13 из 13
Поделиться12011-06-11 15:19:26
Поделиться22011-06-11 15:32:18
Corsol,
scn 1CLHorseScript ref HorseRef Begin OnEquip set HorseRef to player.placeatme 1CL_Horse 1,128,0 End Begin OnUnequip HorseRef.disable End
Хочу заметить, что функция PlaceAtMe немного нестабильна, и вообще её использовать нужно на свой страх и риск. И Disable просто отключает прорисовку объекта, скрипты на лошади будут обрабатываться, если таковые имеются. Т.е. если 100 раз кольцо надеть и снять, в мире будет 100 лошадей, просто все отключены.
Отредактировано Evil (2011-06-11 15:34:28)
Поделиться32011-06-11 15:36:00
Хочу заметить, что функция PlaceAtMe немного нестабильна, и вообще её использовать нужно на свой страх и риск.
Да, я знаю. Спсибо огромное за скрипт. =)
И Disable просто отключает прорисовку объекта, скрипты на лошади будут обрабатываться, если таковые имеются.
Кстати, а нельзя ли вместо disable использовать delete вроде бы такая функция была. Или что?
Поделиться42011-06-11 15:41:52
Corsol, RemoveMe действует только на предметы. Можно где-нибудь лошадь разместить, делать её копии через функцию CreateFullActorCopy и удалять их.
Отредактировано Evil (2011-06-11 15:42:08)
Поделиться52011-06-11 17:14:54
Спасибо попробую)
Поделиться62011-06-11 21:07:31
В данном случае правильнее всего было бы сделать так.
Создаем невидимый активатор. Размещаем его в мире игры (где-нибудь, где игрок не сможет его найти. Размещаем где-нибудь лошадь. В первой части, когда одеваем кольцо - лошадь перемещаем к себе. Во второй - лошадь перемещаем к активатору.
Еще один вариант. Создаем лошадь, размещаем в мире игры в любом месте и делаем ее неактивной. В первой части скрипта перемещаем ее к себе и активируем. Во второй просто деактивируем.
Поделиться72011-06-11 21:13:00
Igor_Ra, и если лошадь умрет, вызывать будем труп лошади Так что в таком случае или делаем лошадь Essential, или юзаем функцию respawn, если лошадь мертва.
Поделиться82011-06-11 22:41:36
Так что в таком случае или делаем лошадь Essential, или юзаем функцию respawn, если лошадь мертва.
Или делаем проверку на то жива ли она или нет - и если нет - то не призываем ее.
Поделиться92011-07-21 19:30:56
Я как-то делал подобное кольцо.
1. Сначала отредактировал магический эффект призыва существа, чтобы вызывалась именно лошадь (там есть "свободный" эффект, к которому еще не привязано конкретнос существо, называется ExtraSummon, если не ошибаюсь) (кстати, забыл сказать - сначал создал вызываемую лошадь, это у меня единорог был).
2. Создал спелл с магическим эффектом этого призыва, причем чтобы это было ability, назвал его Mysummonhorce
3. Скрипт был такой:
scn Mysummonhorcescript
Begin Onequip
player.addspell Mysummonhorce
end
Begin Onunequip
player.removespell Mysummonhorce
end
4. Повесил его на кольцо.
Сразу предупреждаю - такой мод будет конфликтовать с другими, затрагивающми редактирование этого же магического эффекта.
Отредактировано Вовочка (2011-07-21 19:38:05)
Поделиться102012-08-06 21:14:51
Можно заклинания сделать и добавлять себе лошадь. Например она померла и вызвал снова
Scn Loshat
BeginScriptEffectStart
PlaceAtme <id> лошади
End
добавить в MagicEffect и создать заклинания
Поделиться112012-08-07 16:07:48
Можно заклинания сделать и добавлять себе лошадь. Например она померла и вызвал снова
Scn Loshat
BeginScriptEffectStart
PlaceAtme <id> лошадиEnd
добавить в MagicEffect и создать заклинания
Беда в том, что повторно будет призываться уже мертвая лошадь.
Поделиться122012-08-07 16:14:43
Я может случайно где то ошибся нужно посматреть но как лошадь умерла я призывал вновь нормальную и так раз 10 у меня было убивал и призывал
Поделиться132012-08-07 16:19:53
Я понял ошибку вот
Scn Losha
Begin ScriptEffectStart
PlaceAtme id
End
нужно раздельно писать и все
Отредактировано vampir (2012-08-07 16:25:27)