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

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

Опубликовано (изменено)

Всем доброго времени суток.

Продолжаю делать мод и столкнулся с такой проблемой, что не могу сделать актера своим компаньоном. Компаньона не в привычном смысле, а с некоторыми его функциями.

По задумке после смерти актера под специальным эффектом должен появится его призрак. Было бы идеально использовать для этого готовые архетипы эффектов реанимации или призыва, но как призвать неопределенного актера я не знаю. Конечно, если пофантазировать, то появляется идея создать какого-то актера-болванку со скриптом, который при загрузке будет задавать ему все значения полученные от выбранного актера в игре, но я не нашел подходящих функций в вики и вообще очень сомневаюсь, что нечто такое возможно. Но тогда не пришлось бы заставлять его бегать за игроком, сражаться за него и все такое, он сразу вел бы себя как призванное существо, что помимо всего исключило бы лишние скрипты и баги. Если это реально, то дайте знать, пожалуйста.

Если же нет, то очень нуждаюсь в помощи по реализации задуманного по старому курсу. Я сделал заклинание, которое копирует актера и добавляет ему внешний вид призрака, а вот заставить его бегать за игроком и сражаться за него никак не получается. Я помещал это все в одно заклинание, делал заклинание "на себя", которое должен кастовать призрак, делал "на цель" и пытался сам их "подчинить", но результат постоянно был уродливым и, что странно, разным. Бывало цель становились союзником (не уверен насчет этого, но враги её тоже били), но ничего не делала, просто ходила по своему маршруту, даже если её били, полный игнор и пофигизм, либо вообще актер становился моим врагом (и всех окружающих, если в городе), хотя должно быть совершенно наоборот, а иногда вообще видимого эффекта не было, цель так же атаковала игрока вместе с остальными врагами.

В общем, прошу помощи с "подчинением" актера. Вот что я делал:

Призыв души
Event OnEffectFinish(Actor Target, Actor Caster)
	victim = Target
	if victim
		GhostActorBase = victim.GetBaseObject() as ActorBase
		Clone = victim.PlaceActorAtMe(GhostActorBase)
		Ghosting.Cast(Clone)
		TrapSoundFX.play(victim) 
		TrapImod.apply() 
		TargetVFX.Play(victim,4.7,Clone) 
		CasterVFX.Play(victim,5.9,clone)
		TargetFXS.Play(clone,2) 
		CasterFXS.Play(victim,3)
	endif
endEvent

Подчинение
Faction Property Player  Auto  
Faction Property NecroUndead  Auto

Event OnEffectStart(Actor Target, Actor Caster)
	Target.RemoveFromAllFactions() 
	Target.SetActorValue("Morality", 0) 
	Target.SetActorValue("Confidence", 4) 
	Target.SetActorValue("Assistance", 1) 
	Target.SetActorValue("Aggression", 1)
	Target.SetRelationshipRank(Game.GetPlayer(), 3)
        Target.AddToFaction(NecroUndead)
	NecroUndead.SetAlly(Player)
EndEvent 

 

Спасибо за внимание.

Изменено пользователем Divico
  • Нравится 1
Опубликовано

Протестировал еще раз в Вайтране на стражниках, жителях и немного на драуграх в ветреном пике. Что странно, на жителях и драуграх работает как надо, а вот стражники лишь на мгновение перестают быть врагами и снова атакуют. Не думал, что будет разница между стражниками и остальными. Тогда получается, что скрипт частично рабочий, остается только заставить их следовать за игроком и разобраться со стражниками, если это вообще возможно. У кого-то есть идеи?

  • Нравится 1
Опубликовано

По реализации классно, и очень правдоподобно, Поднял Нежить, она на всех начинает кидаться, надо подчинить.

 

Но если честно не очень понял чего именно ты хочешь добиться?

 

03.02.2017 01:15:41, Divico сказал(-а):
а вот заставить его бегать за игроком и сражаться за него никак не получается

Относительно этого, даже просто в консоли есть команда, которая принудительно делает персонажа компаньоном.

На память!

Riddler(RSSB).png riddler(MEA).png ico_morgan.png
And something Else

pre_1481213484__001-11.png.webp.png pre_1479203619____.png.webp.png 12208269.png shipment.png red.png pre_1479396979__ramka_photoshop_11.png
Опубликовано
03.02.2017 10:09:55, R¡ddler сказал(-а):
По реализации классно, и очень правдоподобно, Поднял Нежить, она на всех начинает кидаться, надо подчинить.

Ничего правдоподобного. Если уже сам поднял, то одновременно и подчинил этим. Некромантию учи!

  • Нравится 1
108091036.gif
Опубликовано (изменено)
03.02.2017 10:09:55, R¡ddler сказал(-а):

По реализации классно, и очень правдоподобно, Поднял Нежить, она на всех начинает кидаться, надо подчинить.

 

Но если честно не очень понял чего именно ты хочешь добиться?

 

Относительно этого, даже просто в консоли есть команда, которая принудительно делает персонажа компаньоном.

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

Я хочу добиться, что бы у любого убиваемого и живого существа можно было призвать душу и подчинить. Это означает, что она будет следовать за игроком и сражаться на его стороне. Со сражением вроде пока все работает, но вот про следование никакой функции не нашел.

И еще почему-то стражники избегают воздействия. Вроде удалил у него фракции, поставил мораль нужную, а он все-равно агриться при нарушении закона. Стражник - состояние души, видимо. Хотелось бы с этим еще разобраться


03.02.2017 12:26:53, Воин1 сказал(-а):

Ничего правдоподобного. Если уже сам поднял, то одновременно и подчинил этим. Некромантию учи!

Ну, кстати, тут тоже все не так просто. Я очень много думал как сделать, что бы не было скучно, простенько и читерно, но в то же время и не слишком сложно и затратно. Если дух сразу будет подчиненный призываться с убитого врага, то в бою это хорошенький подарок. Представьте, убиваете какого-то вампира - владыку ночи или главаря бандитов и он тут же ваш. А если несколько? К слову, 16-20 самых дохлых скелетов с мечами и топорами, которые убиваются кулаками, убивают великана. Так что тут тоже надо подумать. Пока есть идеи, но еще тоже надо проверять.

В любом случае с лорностью и правдоподобностью будет возможность разобраться. Сейчас главное добиться работоспособности.

Изменено пользователем Divico
  • Нравится 1
Опубликовано
03.02.2017 12:26:53, Воин1 сказал(-а):

Ничего правдоподобного. Если уже сам поднял, то одновременно и подчинил этим. Некромантию учи!

Не согласен, поднять можно либо успешно, либо нет. Если нет, то соответственно все как раз так как и должно быть.

На память!

Riddler(RSSB).png riddler(MEA).png ico_morgan.png
And something Else

pre_1481213484__001-11.png.webp.png pre_1479203619____.png.webp.png 12208269.png shipment.png red.png pre_1479396979__ramka_photoshop_11.png

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

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

Создать аккаунт

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

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

Войти

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

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

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