neluturcanu Опубликовано 10 января, 2019 Опубликовано 10 января, 2019 Всем доброго времени суток. Я обратился сюда так как я уже совсем отчаялся и незнаю больше куда обратиться, надеюсь вы мне поможете. Я провел два дня пытаясь добавить аналог меча Бладскал в игру через СК, что то я понял а что то не очень, были какие-то недопопытки но результат почти нулевой. Дело в том что этот меч заскриптован до чертиков, и как он работает понятно только тем кто его создал и не только, но не суть...Я нашел в интернете мод, который добавляет в игру двуручный меч с такими же эффектами что и у Бладскала но только другого цвета и с чучуть другой механикой и при том при всём этот меч создаваемый! Его можно создать с такими поприкушками, я по копался немного и понял, как я бы не пытался создать такой же аналог, я не смогу создать его и за скриптов так как не знаю как их создать. Мораль всей басни в чём...я хочу добавить в игру оружие с эффектом Бладскала, это в полне реализуемо, и даже не трудно, но вот знать бы как(((...я умею добавлять предметы которые можно скрафтить в кузне, менять цвет, делать ретекстур, основы я понял, но вот уж этот Бладскал со своими скриптами(((. Уважаемые Админы, Модер-Мейкеры и просто Люди которые разбираетесь во всех этих нюансах, помогите мне понять как добавить в игру аналог Бладскала который я бы мог создать сам с нуля, у кого-то получилось добавить, я тоже так хочу уметь...Надеюсь вы поняли что я имею ввиду, буду рад любой информации и подсказкам.
Azazellz Опубликовано 11 января, 2019 Опубликовано 11 января, 2019 Учись писать скрипты. Разбирайся, как работает скриптовый движок. Смотри чужие скрипты, пытайся понять, как и что там устроено. Других вариантов нет. Вот тебе ссылка на вики по СК. Там есть раздел с туториалами. Потому что если тебе дать скрипт, который отвечает за работу бладскала, ты все равно в нем нифига не разберешься - ибо для этого нужен обязательный набор базовых знаний. Но если прям хочется - то держи. Скрипт раз, попроще. Только для силовых атак оружия в правой руке/двуручного. Спойлер Scriptname SwordEffectScript extends activemagiceffect Spell Property SpellHoriz auto Spell Property SpellVert auto Actor SelfRef Event OnEffectStart(Actor akTarget, Actor akCaster) SelfRef = akCaster registerForAnimationEvent(SelfRef, "AttackPowerStanding_FXstart") registerForAnimationEvent(SelfRef, "AttackPowerRight_FXstart") registerForAnimationEvent(SelfRef, "AttackPowerLeft_FXstart") registerForAnimationEvent(SelfRef, "AttackPowerBackward_FXstart") registerForAnimationEvent(SelfRef, "AttackPowerForward_FXstart") endEvent Event OnEffectFinish(Actor akTarget, Actor akCaster) ;;Automatically Unregisterd when Ability Removed ENDEVENT Event OnAnimationEvent(ObjectReference akSource, string EventName) if (eventName == "AttackPowerRight_FXstart") || (eventName == "AttackPowerLeft_FXstart") || (eventName == "AttackPowerBackward_FXstart") SpellHoriz.cast(SelfRef) elseif (eventName == "AttackPowerStanding_FXstart") || (eventName == "AttackPowerForward_FXstart") SpellVert.cast(SelfRef) endif endEVENT Скрипт два, посложнее. Для любых атак, включая безоружные, для оружия в любой руке. В том числе и для щитов. Спойлер scriptName SwordsMagicScript extends activemagiceffect actor property selfref auto hidden spell property OneHandedSpellForward auto spell property OneHandedSpellStand auto spell property OneHandedSpellSide auto spell property OneHandedSpellBack auto spell property OneHandedSpellForwardLeft auto spell property OneHandedSpellStandLeft auto spell property OneHandedSpellSideLeft auto spell property OneHandedSpellBackLeft auto spell property SpellForward auto spell property SpellStand auto spell property SpellSide auto spell property SpellBack auto spell property AxeSpellForward auto spell property AxeSpellStand auto spell property AxeSpellSide auto spell property AxeSpellBack auto spell property UnarmedSpellForward auto spell property UnarmedSpellStand auto spell property UnarmedSpellSide auto spell property UnarmedSpellBack auto spell property SpellBash auto Float property Direction auto Float property Speed auto function OnEffectStart(actor akTarget, actor akCaster) selfref = akCaster self.registerForAnimationEvent(akCaster as objectreference, "PowerAttack_Start_End") self.registerForAnimationEvent(akCaster as objectreference, "AttackPowerStanding_FXStart") self.registerForAnimationEvent(akCaster as objectreference, "AttackPowerRight_FXStart") self.registerForAnimationEvent(akCaster as objectreference, "AttackPowerLeft_FXStart") self.registerForAnimationEvent(akCaster as objectreference, "AttackPowerBackward_FXStart") self.registerForAnimationEvent(akCaster as objectreference, "AttackPowerForward_FXStart") self.registerForAnimationEvent(akCaster as objectreference, "bashRelease") self.registerForAnimationEvent(akCaster as objectreference, "WeaponSwing") self.registerForAnimationEvent(akCaster as objectreference, "WeaponLeftSwing") endFunction function OnAnimationEvent(objectreference akSource, String EventName) if EventName == "bashRelease" SpellBash.Cast(selfref as objectreference, none) elseIf EventName == "AttackPowerStanding_FXStart" SpellStand.Cast(selfref as objectreference, none) elseIf EventName == "AttackPowerForward_FXStart" if selfref.IsSprinting() SpellForward.Cast(selfref as objectreference, none) endIf elseIf EventName == "AttackPowerRight_FXStart" || EventName == "AttackPowerLeft_FXStart" SpellSide.Cast(selfref as objectreference, none) elseIf EventName == "AttackPowerBackward_FXStart" SpellBack.Cast(selfref as objectreference, none) elseIf EventName == "WeaponSwing" Direction = selfref.GetAnimationVariableFloat("Direction") Speed = selfref.GetAnimationVariableFloat("Speed") Bool PowerAttack = selfref.GetAnimationVariableBool("bAllowRotation") if PowerAttack if selfref.GetEquippedItemType(0) == 6 if Speed == 0.000000 AxeSpellStand.Cast(selfref as objectreference, none) elseIf Speed > 0.000000 if Direction == 1.00000 || Direction == 0.000000 if selfref.IsSprinting() == 0 AxeSpellForward.Cast(selfref as objectreference, none) endIf elseIf Direction == 0.250000 AxeSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.750000 AxeSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.500000 AxeSpellBack.Cast(selfref as objectreference, none) endIf endIf elseIf selfref.GetEquippedItemType(1) == 1 || selfref.GetEquippedItemType(1) == 2 || selfref.GetEquippedItemType(1) == 3 || selfref.GetEquippedItemType(1) == 4 if Speed == 0.000000 OneHandedSpellStand.Cast(selfref as objectreference, none) elseIf Speed > 0.000000 if Direction == 1.00000 || Direction == 0.000000 if selfref.IsSprinting() == 0 OneHandedSpellForward.Cast(selfref as objectreference, none) endIf elseIf Direction == 0.250000 OneHandedSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.750000 OneHandedSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.500000 OneHandedSpellBack.Cast(selfref as objectreference, none) endIf endIf elseIf selfref.GetEquippedItemType(1) == 0 if Speed == 0.000000 UnarmedSpellStand.Cast(selfref as objectreference, none) elseIf Speed > 0.000000 if Direction == 1.00000 || Direction == 0.000000 UnarmedSpellForward.Cast(selfref as objectreference, none) elseIf Direction == 0.250000 UnarmedSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.750000 UnarmedSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.500000 UnarmedSpellBack.Cast(selfref as objectreference, none) endIf endIf endIf endIf elseIf EventName == "WeaponLeftSwing" Direction = selfref.GetAnimationVariableFloat("Direction") Speed = selfref.GetAnimationVariableFloat("Speed") Bool PowerAttack = selfref.GetAnimationVariableBool("bAllowRotation") if PowerAttack if selfref.GetEquippedItemType(0) == 6 if Speed == 0.000000 AxeSpellStand.Cast(selfref as objectreference, none) elseIf Speed > 0.000000 if Direction == 1.00000 || Direction == 0.000000 if selfref.IsSprinting() == 0 AxeSpellForward.Cast(selfref as objectreference, none) endIf elseIf Direction == 0.250000 AxeSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.750000 AxeSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.500000 AxeSpellBack.Cast(selfref as objectreference, none) endIf endIf elseIf selfref.GetEquippedItemType(1) == 1 || selfref.GetEquippedItemType(1) == 2 || selfref.GetEquippedItemType(1) == 3 || selfref.GetEquippedItemType(1) == 4 if Speed == 0.000000 OneHandedSpellStandLeft.Cast(selfref as objectreference, none) elseIf Speed > 0.000000 if Direction == 1.00000 || Direction == 0.000000 if selfref.IsSprinting() == 0 OneHandedSpellForwardLeft.Cast(selfref as objectreference, none) endIf elseIf Direction == 0.250000 OneHandedSpellSideLeft.Cast(selfref as objectreference, none) elseIf Direction == 0.750000 OneHandedSpellSideLeft.Cast(selfref as objectreference, none) elseIf Direction == 0.500000 OneHandedSpellBackLeft.Cast(selfref as objectreference, none) endIf endIf elseIf selfref.GetEquippedItemType(1) == 0 if Speed == 0.000000 UnarmedSpellStand.Cast(selfref as objectreference, none) elseIf Speed > 0.000000 if Direction == 1.00000 || Direction == 0.000000 UnarmedSpellForward.Cast(selfref as objectreference, none) elseIf Direction == 0.250000 UnarmedSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.750000 UnarmedSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.500000 UnarmedSpellBack.Cast(selfref as objectreference, none) endIf endIf endIf endIf endIf endFunction function OnEffectFinish(actor akTarget, actor akCaster) self.unregisterForAnimationEvent(akCaster as objectreference, "PowerAttack_Start_End") self.unregisterForAnimationEvent(akCaster as objectreference, "AttackPowerStanding_FXStart") self.unregisterForAnimationEvent(akCaster as objectreference, "AttackPowerRight_FXStart") self.unregisterForAnimationEvent(akCaster as objectreference, "AttackPowerLeft_FXStart") self.unregisterForAnimationEvent(akCaster as objectreference, "AttackPowerBackward_FXStart") self.unregisterForAnimationEvent(akCaster as objectreference, "AttackPowerForward_FXStart") self.unregisterForAnimationEvent(akCaster as objectreference, "bashRelease") self.unregisterForAnimationEvent(akCaster as objectreference, "WeaponSwing") self.unregisterForAnimationEvent(akCaster as objectreference, "WeaponLeftSwing") endFunction
neluturcanu Опубликовано 12 января, 2019 Автор Опубликовано 12 января, 2019 11.01.2019 10:46:07, Azazellz сказал(-а): Учись писать скрипты. Разбирайся, как работает скриптовый движок. Смотри чужие скрипты, пытайся понять, как и что там устроено. Других вариантов нет. Вот тебе ссылка на вики по СК. Там есть раздел с туториалами. Потому что если тебе дать скрипт, который отвечает за работу бладскала, ты все равно в нем нифига не разберешься - ибо для этого нужен обязательный набор базовых знаний. Но если прям хочется - то держи. Скрипт раз, попроще. Только для силовых атак оружия в правой руке/двуручного. Спойлер Scriptname SwordEffectScript extends activemagiceffect Spell Property SpellHoriz auto Spell Property SpellVert auto Actor SelfRef Event OnEffectStart(Actor akTarget, Actor akCaster) SelfRef = akCaster registerForAnimationEvent(SelfRef, "AttackPowerStanding_FXstart") registerForAnimationEvent(SelfRef, "AttackPowerRight_FXstart") registerForAnimationEvent(SelfRef, "AttackPowerLeft_FXstart") registerForAnimationEvent(SelfRef, "AttackPowerBackward_FXstart") registerForAnimationEvent(SelfRef, "AttackPowerForward_FXstart") endEvent Event OnEffectFinish(Actor akTarget, Actor akCaster) ;;Automatically Unregisterd when Ability Removed ENDEVENT Event OnAnimationEvent(ObjectReference akSource, string EventName) if (eventName == "AttackPowerRight_FXstart") || (eventName == "AttackPowerLeft_FXstart") || (eventName == "AttackPowerBackward_FXstart") SpellHoriz.cast(SelfRef) elseif (eventName == "AttackPowerStanding_FXstart") || (eventName == "AttackPowerForward_FXstart") SpellVert.cast(SelfRef) endif endEVENT Скрипт два, посложнее. Для любых атак, включая безоружные, для оружия в любой руке. В том числе и для щитов. Спойлер scriptName SwordsMagicScript extends activemagiceffect actor property selfref auto hidden spell property OneHandedSpellForward auto spell property OneHandedSpellStand auto spell property OneHandedSpellSide auto spell property OneHandedSpellBack auto spell property OneHandedSpellForwardLeft auto spell property OneHandedSpellStandLeft auto spell property OneHandedSpellSideLeft auto spell property OneHandedSpellBackLeft auto spell property SpellForward auto spell property SpellStand auto spell property SpellSide auto spell property SpellBack auto spell property AxeSpellForward auto spell property AxeSpellStand auto spell property AxeSpellSide auto spell property AxeSpellBack auto spell property UnarmedSpellForward auto spell property UnarmedSpellStand auto spell property UnarmedSpellSide auto spell property UnarmedSpellBack auto spell property SpellBash auto Float property Direction auto Float property Speed auto function OnEffectStart(actor akTarget, actor akCaster) selfref = akCaster self.registerForAnimationEvent(akCaster as objectreference, "PowerAttack_Start_End") self.registerForAnimationEvent(akCaster as objectreference, "AttackPowerStanding_FXStart") self.registerForAnimationEvent(akCaster as objectreference, "AttackPowerRight_FXStart") self.registerForAnimationEvent(akCaster as objectreference, "AttackPowerLeft_FXStart") self.registerForAnimationEvent(akCaster as objectreference, "AttackPowerBackward_FXStart") self.registerForAnimationEvent(akCaster as objectreference, "AttackPowerForward_FXStart") self.registerForAnimationEvent(akCaster as objectreference, "bashRelease") self.registerForAnimationEvent(akCaster as objectreference, "WeaponSwing") self.registerForAnimationEvent(akCaster as objectreference, "WeaponLeftSwing") endFunction function OnAnimationEvent(objectreference akSource, String EventName) if EventName == "bashRelease" SpellBash.Cast(selfref as objectreference, none) elseIf EventName == "AttackPowerStanding_FXStart" SpellStand.Cast(selfref as objectreference, none) elseIf EventName == "AttackPowerForward_FXStart" if selfref.IsSprinting() SpellForward.Cast(selfref as objectreference, none) endIf elseIf EventName == "AttackPowerRight_FXStart" || EventName == "AttackPowerLeft_FXStart" SpellSide.Cast(selfref as objectreference, none) elseIf EventName == "AttackPowerBackward_FXStart" SpellBack.Cast(selfref as objectreference, none) elseIf EventName == "WeaponSwing" Direction = selfref.GetAnimationVariableFloat("Direction") Speed = selfref.GetAnimationVariableFloat("Speed") Bool PowerAttack = selfref.GetAnimationVariableBool("bAllowRotation") if PowerAttack if selfref.GetEquippedItemType(0) == 6 if Speed == 0.000000 AxeSpellStand.Cast(selfref as objectreference, none) elseIf Speed > 0.000000 if Direction == 1.00000 || Direction == 0.000000 if selfref.IsSprinting() == 0 AxeSpellForward.Cast(selfref as objectreference, none) endIf elseIf Direction == 0.250000 AxeSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.750000 AxeSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.500000 AxeSpellBack.Cast(selfref as objectreference, none) endIf endIf elseIf selfref.GetEquippedItemType(1) == 1 || selfref.GetEquippedItemType(1) == 2 || selfref.GetEquippedItemType(1) == 3 || selfref.GetEquippedItemType(1) == 4 if Speed == 0.000000 OneHandedSpellStand.Cast(selfref as objectreference, none) elseIf Speed > 0.000000 if Direction == 1.00000 || Direction == 0.000000 if selfref.IsSprinting() == 0 OneHandedSpellForward.Cast(selfref as objectreference, none) endIf elseIf Direction == 0.250000 OneHandedSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.750000 OneHandedSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.500000 OneHandedSpellBack.Cast(selfref as objectreference, none) endIf endIf elseIf selfref.GetEquippedItemType(1) == 0 if Speed == 0.000000 UnarmedSpellStand.Cast(selfref as objectreference, none) elseIf Speed > 0.000000 if Direction == 1.00000 || Direction == 0.000000 UnarmedSpellForward.Cast(selfref as objectreference, none) elseIf Direction == 0.250000 UnarmedSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.750000 UnarmedSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.500000 UnarmedSpellBack.Cast(selfref as objectreference, none) endIf endIf endIf endIf elseIf EventName == "WeaponLeftSwing" Direction = selfref.GetAnimationVariableFloat("Direction") Speed = selfref.GetAnimationVariableFloat("Speed") Bool PowerAttack = selfref.GetAnimationVariableBool("bAllowRotation") if PowerAttack if selfref.GetEquippedItemType(0) == 6 if Speed == 0.000000 AxeSpellStand.Cast(selfref as objectreference, none) elseIf Speed > 0.000000 if Direction == 1.00000 || Direction == 0.000000 if selfref.IsSprinting() == 0 AxeSpellForward.Cast(selfref as objectreference, none) endIf elseIf Direction == 0.250000 AxeSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.750000 AxeSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.500000 AxeSpellBack.Cast(selfref as objectreference, none) endIf endIf elseIf selfref.GetEquippedItemType(1) == 1 || selfref.GetEquippedItemType(1) == 2 || selfref.GetEquippedItemType(1) == 3 || selfref.GetEquippedItemType(1) == 4 if Speed == 0.000000 OneHandedSpellStandLeft.Cast(selfref as objectreference, none) elseIf Speed > 0.000000 if Direction == 1.00000 || Direction == 0.000000 if selfref.IsSprinting() == 0 OneHandedSpellForwardLeft.Cast(selfref as objectreference, none) endIf elseIf Direction == 0.250000 OneHandedSpellSideLeft.Cast(selfref as objectreference, none) elseIf Direction == 0.750000 OneHandedSpellSideLeft.Cast(selfref as objectreference, none) elseIf Direction == 0.500000 OneHandedSpellBackLeft.Cast(selfref as objectreference, none) endIf endIf elseIf selfref.GetEquippedItemType(1) == 0 if Speed == 0.000000 UnarmedSpellStand.Cast(selfref as objectreference, none) elseIf Speed > 0.000000 if Direction == 1.00000 || Direction == 0.000000 UnarmedSpellForward.Cast(selfref as objectreference, none) elseIf Direction == 0.250000 UnarmedSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.750000 UnarmedSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.500000 UnarmedSpellBack.Cast(selfref as objectreference, none) endIf endIf endIf endIf endIf endFunction function OnEffectFinish(actor akTarget, actor akCaster) self.unregisterForAnimationEvent(akCaster as objectreference, "PowerAttack_Start_End") self.unregisterForAnimationEvent(akCaster as objectreference, "AttackPowerStanding_FXStart") self.unregisterForAnimationEvent(akCaster as objectreference, "AttackPowerRight_FXStart") self.unregisterForAnimationEvent(akCaster as objectreference, "AttackPowerLeft_FXStart") self.unregisterForAnimationEvent(akCaster as objectreference, "AttackPowerBackward_FXStart") self.unregisterForAnimationEvent(akCaster as objectreference, "AttackPowerForward_FXStart") self.unregisterForAnimationEvent(akCaster as objectreference, "bashRelease") self.unregisterForAnimationEvent(akCaster as objectreference, "WeaponSwing") self.unregisterForAnimationEvent(akCaster as objectreference, "WeaponLeftSwing") endFunction Вы правы, но хотел бы узнать, чем их открыть? как их писать? Подскажите
Azazellz Опубликовано 12 января, 2019 Опубликовано 12 января, 2019 12.01.2019 12:25:47, neluturcanu сказал(-а):Вы правы, но хотел бы узнать, чем их открыть? как их писать? Подскажите Ты б еще спросил "как собрать ядерную бомбу в домашних условиях". В двух словах такое не расскажешь. Ссылку на СК-вики я тебе дал. Базовая информация там есть, уроки для начинающих с примерами там тоже есть. Вперед.
5teVe Опубликовано 12 января, 2019 Опубликовано 12 января, 2019 12.01.2019 12:48:44, Azazellz сказал(-а): Ты б еще спросил "как собрать ядерную бомбу в домашних условиях". а как?
Azazellz Опубликовано 12 января, 2019 Опубликовано 12 января, 2019 12.01.2019 20:27:34, 5teVe сказал(-а):а как? 12.01.2019 12:48:44, Azazellz сказал(-а):В двух словах такое не расскажешь.
neluturcanu Опубликовано 13 января, 2019 Автор Опубликовано 13 января, 2019 12.01.2019 12:48:44, Azazellz сказал(-а): Ты б еще спросил "как собрать ядерную бомбу в домашних условиях". В двух словах такое не расскажешь. Ссылку на СК-вики я тебе дал. Базовая информация там есть, уроки для начинающих с примерами там тоже есть. Вперед. Спасибо
neluturcanu Опубликовано 25 января, 2019 Автор Опубликовано 25 января, 2019 11.01.2019 10:46:07, Azazellz сказал(-а): Учись писать скрипты. Разбирайся, как работает скриптовый движок. Смотри чужие скрипты, пытайся понять, как и что там устроено. Других вариантов нет. Вот тебе ссылка на вики по СК. Там есть раздел с туториалами. Потому что если тебе дать скрипт, который отвечает за работу бладскала, ты все равно в нем нифига не разберешься - ибо для этого нужен обязательный набор базовых знаний. Но если прям хочется - то держи. Скрипт раз, попроще. Только для силовых атак оружия в правой руке/двуручного. Спойлер Scriptname SwordEffectScript extends activemagiceffect Spell Property SpellHoriz auto Spell Property SpellVert auto Actor SelfRef Event OnEffectStart(Actor akTarget, Actor akCaster) SelfRef = akCaster registerForAnimationEvent(SelfRef, "AttackPowerStanding_FXstart") registerForAnimationEvent(SelfRef, "AttackPowerRight_FXstart") registerForAnimationEvent(SelfRef, "AttackPowerLeft_FXstart") registerForAnimationEvent(SelfRef, "AttackPowerBackward_FXstart") registerForAnimationEvent(SelfRef, "AttackPowerForward_FXstart") endEvent Event OnEffectFinish(Actor akTarget, Actor akCaster) ;;Automatically Unregisterd when Ability Removed ENDEVENT Event OnAnimationEvent(ObjectReference akSource, string EventName) if (eventName == "AttackPowerRight_FXstart") || (eventName == "AttackPowerLeft_FXstart") || (eventName == "AttackPowerBackward_FXstart") SpellHoriz.cast(SelfRef) elseif (eventName == "AttackPowerStanding_FXstart") || (eventName == "AttackPowerForward_FXstart") SpellVert.cast(SelfRef) endif endEVENT Скрипт два, посложнее. Для любых атак, включая безоружные, для оружия в любой руке. В том числе и для щитов. Спойлер scriptName SwordsMagicScript extends activemagiceffect actor property selfref auto hidden spell property OneHandedSpellForward auto spell property OneHandedSpellStand auto spell property OneHandedSpellSide auto spell property OneHandedSpellBack auto spell property OneHandedSpellForwardLeft auto spell property OneHandedSpellStandLeft auto spell property OneHandedSpellSideLeft auto spell property OneHandedSpellBackLeft auto spell property SpellForward auto spell property SpellStand auto spell property SpellSide auto spell property SpellBack auto spell property AxeSpellForward auto spell property AxeSpellStand auto spell property AxeSpellSide auto spell property AxeSpellBack auto spell property UnarmedSpellForward auto spell property UnarmedSpellStand auto spell property UnarmedSpellSide auto spell property UnarmedSpellBack auto spell property SpellBash auto Float property Direction auto Float property Speed auto function OnEffectStart(actor akTarget, actor akCaster) selfref = akCaster self.registerForAnimationEvent(akCaster as objectreference, "PowerAttack_Start_End") self.registerForAnimationEvent(akCaster as objectreference, "AttackPowerStanding_FXStart") self.registerForAnimationEvent(akCaster as objectreference, "AttackPowerRight_FXStart") self.registerForAnimationEvent(akCaster as objectreference, "AttackPowerLeft_FXStart") self.registerForAnimationEvent(akCaster as objectreference, "AttackPowerBackward_FXStart") self.registerForAnimationEvent(akCaster as objectreference, "AttackPowerForward_FXStart") self.registerForAnimationEvent(akCaster as objectreference, "bashRelease") self.registerForAnimationEvent(akCaster as objectreference, "WeaponSwing") self.registerForAnimationEvent(akCaster as objectreference, "WeaponLeftSwing") endFunction function OnAnimationEvent(objectreference akSource, String EventName) if EventName == "bashRelease" SpellBash.Cast(selfref as objectreference, none) elseIf EventName == "AttackPowerStanding_FXStart" SpellStand.Cast(selfref as objectreference, none) elseIf EventName == "AttackPowerForward_FXStart" if selfref.IsSprinting() SpellForward.Cast(selfref as objectreference, none) endIf elseIf EventName == "AttackPowerRight_FXStart" || EventName == "AttackPowerLeft_FXStart" SpellSide.Cast(selfref as objectreference, none) elseIf EventName == "AttackPowerBackward_FXStart" SpellBack.Cast(selfref as objectreference, none) elseIf EventName == "WeaponSwing" Direction = selfref.GetAnimationVariableFloat("Direction") Speed = selfref.GetAnimationVariableFloat("Speed") Bool PowerAttack = selfref.GetAnimationVariableBool("bAllowRotation") if PowerAttack if selfref.GetEquippedItemType(0) == 6 if Speed == 0.000000 AxeSpellStand.Cast(selfref as objectreference, none) elseIf Speed > 0.000000 if Direction == 1.00000 || Direction == 0.000000 if selfref.IsSprinting() == 0 AxeSpellForward.Cast(selfref as objectreference, none) endIf elseIf Direction == 0.250000 AxeSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.750000 AxeSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.500000 AxeSpellBack.Cast(selfref as objectreference, none) endIf endIf elseIf selfref.GetEquippedItemType(1) == 1 || selfref.GetEquippedItemType(1) == 2 || selfref.GetEquippedItemType(1) == 3 || selfref.GetEquippedItemType(1) == 4 if Speed == 0.000000 OneHandedSpellStand.Cast(selfref as objectreference, none) elseIf Speed > 0.000000 if Direction == 1.00000 || Direction == 0.000000 if selfref.IsSprinting() == 0 OneHandedSpellForward.Cast(selfref as objectreference, none) endIf elseIf Direction == 0.250000 OneHandedSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.750000 OneHandedSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.500000 OneHandedSpellBack.Cast(selfref as objectreference, none) endIf endIf elseIf selfref.GetEquippedItemType(1) == 0 if Speed == 0.000000 UnarmedSpellStand.Cast(selfref as objectreference, none) elseIf Speed > 0.000000 if Direction == 1.00000 || Direction == 0.000000 UnarmedSpellForward.Cast(selfref as objectreference, none) elseIf Direction == 0.250000 UnarmedSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.750000 UnarmedSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.500000 UnarmedSpellBack.Cast(selfref as objectreference, none) endIf endIf endIf endIf elseIf EventName == "WeaponLeftSwing" Direction = selfref.GetAnimationVariableFloat("Direction") Speed = selfref.GetAnimationVariableFloat("Speed") Bool PowerAttack = selfref.GetAnimationVariableBool("bAllowRotation") if PowerAttack if selfref.GetEquippedItemType(0) == 6 if Speed == 0.000000 AxeSpellStand.Cast(selfref as objectreference, none) elseIf Speed > 0.000000 if Direction == 1.00000 || Direction == 0.000000 if selfref.IsSprinting() == 0 AxeSpellForward.Cast(selfref as objectreference, none) endIf elseIf Direction == 0.250000 AxeSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.750000 AxeSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.500000 AxeSpellBack.Cast(selfref as objectreference, none) endIf endIf elseIf selfref.GetEquippedItemType(1) == 1 || selfref.GetEquippedItemType(1) == 2 || selfref.GetEquippedItemType(1) == 3 || selfref.GetEquippedItemType(1) == 4 if Speed == 0.000000 OneHandedSpellStandLeft.Cast(selfref as objectreference, none) elseIf Speed > 0.000000 if Direction == 1.00000 || Direction == 0.000000 if selfref.IsSprinting() == 0 OneHandedSpellForwardLeft.Cast(selfref as objectreference, none) endIf elseIf Direction == 0.250000 OneHandedSpellSideLeft.Cast(selfref as objectreference, none) elseIf Direction == 0.750000 OneHandedSpellSideLeft.Cast(selfref as objectreference, none) elseIf Direction == 0.500000 OneHandedSpellBackLeft.Cast(selfref as objectreference, none) endIf endIf elseIf selfref.GetEquippedItemType(1) == 0 if Speed == 0.000000 UnarmedSpellStand.Cast(selfref as objectreference, none) elseIf Speed > 0.000000 if Direction == 1.00000 || Direction == 0.000000 UnarmedSpellForward.Cast(selfref as objectreference, none) elseIf Direction == 0.250000 UnarmedSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.750000 UnarmedSpellSide.Cast(selfref as objectreference, none) elseIf Direction == 0.500000 UnarmedSpellBack.Cast(selfref as objectreference, none) endIf endIf endIf endIf endIf endFunction function OnEffectFinish(actor akTarget, actor akCaster) self.unregisterForAnimationEvent(akCaster as objectreference, "PowerAttack_Start_End") self.unregisterForAnimationEvent(akCaster as objectreference, "AttackPowerStanding_FXStart") self.unregisterForAnimationEvent(akCaster as objectreference, "AttackPowerRight_FXStart") self.unregisterForAnimationEvent(akCaster as objectreference, "AttackPowerLeft_FXStart") self.unregisterForAnimationEvent(akCaster as objectreference, "AttackPowerBackward_FXStart") self.unregisterForAnimationEvent(akCaster as objectreference, "AttackPowerForward_FXStart") self.unregisterForAnimationEvent(akCaster as objectreference, "bashRelease") self.unregisterForAnimationEvent(akCaster as objectreference, "WeaponSwing") self.unregisterForAnimationEvent(akCaster as objectreference, "WeaponLeftSwing") endFunction У меня получилось!....но мне опять нужна твоя помощ http://tesall.ru/topic/21177-problema-s-teksturami/
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти