Modderecke > Allgemeine Modding-Fragen
EvilDets Fragenthread
EvilDet:
Ich habe jetzt deine Mehtode angewandt, ea, mein Held wird auch geheilt, aber er bekommt immernoch keinen Debuff. Ich wusste nur nicht, was du mit der "One-Klick-Option" meinst, im Ivory-Tower-Button habe ich keine Option gefunden, die so heißt.
--- Code: --- Behavior = SpecialPowerModule ModuleTag_DainMightyRageDummy
SpecialPowerTemplate = SpecialAbilityDrustanWein
StartsPaused = Yes
UpdateModuleStartsAttack = Yes
End
Behavior = ActivateModuleSpecialPower ModuleTag_CloseTheGap
SpecialPowerTemplate = SpecialAbilityDrustanWein
StartAbilityRange = 200
TriggerSpecialPower = ModuleTag_MightyRageHeal CREATE_AT_LOCATION
TriggerSpecialPower = ModuleTag_MightyRageDebuff CREATE_AT_LOCATION
End
Behavior = PlayerHealSpecialPower ModuleTag_MightyRageHeal
SpecialPowerTemplate = SpecialAbilityActivateeDummy
HealAmount = 20.0
HealAsPercent = Yes
HealAffects = GIMLI
HealRadius = DAIN_MIGHTYRAGE_EFFECT_RADIUS
HealFX = FX_SpellHealUnitHealBuff
InitiateSound = DainMightyRage
;TriggerFX = FX_DainMightyRage02
End
Behavior = SpecialPowerModule ModuleTag_MightyRageDebuff
SpecialPowerTemplate = SpecialAbilityActivateeDummy
AttributeModifier = DrustanWeinMalus
AttributeModifierRange = DAIN_MIGHTYRAGE_EFFECT_RADIUS
AttributeModifierAffects = NONE +GIMLI
AntiCategory = LEADERSHIP BUFF
End
--- Ende Code ---
Commandbutton:
--- Code: ---CommandButton Command_DrustanWein
Command = SPECIAL_POWER
SpecialPower = SpecialAbilityDrustanWein
TextLabel = CONTROLBAR:DrustanWein
ButtonImage = HSWein
CursorName = Bombard
RadiusCursorType = AthelasRadiusCursor
InvalidCursorName = GenericInvalid
ButtonBorderType = ACTION
DescriptLabel = CONTROLBAR:ToolTipDrustanWein
InPalantir = Yes
AutoAbility = Yes
PresetRange = 100.0
NeedDamagedTarget = Yes
; UnitSpecificSound = AragornVoiceAthelas
End
--- Ende Code ---
MfG
EvilDet
Ealendril der Dunkle:
Mit One-Klick-Option meinte ich: Es benötigt kein doeppeltes Klicken, was bei Radius-Cursorn ja der Fall ist. Indem du den Options-Eintrag im Button entfernst, wird die Fähigkeit sofort ausgeführt, sobald auf den Button geklickt wird (was ja bei dir der Fall ist).
Was den Modifier angeht:
In Theodens GloirousCharge gibt es einen Eintrag: TriggerSelf (oder so ähnlich), den noch einfügen, sowie das hier ändern:
--- Zitat --- AttributeModifierAffects = ANY +GIMLI
--- Ende Zitat ---
EvilDet:
Danke für deine Hilfe ea, jetzt funktioniert auch der Debuff.
Und ich habe auch schon wieder eine neue Frage:
Gibt es eine Möglichkeit, dass eine Fähigkeit nur aktiviert werden kann, wenn eine bestimmte Einheit in der Nähe ist?
MfG
EvilDet
thepinking:
Ja gibt es:
Du gibst der Einheit die in der Nähe sein muss eine Führerschaft welche nur auf die Einheit welche den Spell wirken soll wirkt. Diese Führerschaft bringt die Einheit in einen ModelCondition (zb USER_1). Das Model bleibt natürlich gleich (muss es aber nicht ;)). Dan schaust du mal nach ob die Einheit schon einen Eintrag bei AILuaEventsList hat. Falls ja öffne die scriptevents.xml und füge dort bei der Eventlist deiner Einheit das hinzu (falls die Einheit noch keinen eintrag hat, dan mach einen neuen, in dem ebenfalls der folgende Code vorhanden ist) :
--- Code: --- <EventHandler EventName="ModelConditionUSER_1" ScriptFunctionName="ObjectGrantUpgradeScript" DebugSingleStep="false"/>
<EventHandler EventName="ModelConditionNOTUSER_1" ScriptFunctionName="ObjectRemoveUpgradeScript" DebugSingleStep="false"/>
--- Ende Code ---
Sollte ModelConditionUSER_1 und ModelConditionNOTUSER_1 in der scriptevents.xml noch nicht im Abschnitt Events definiert sein dan füge folgen Code im Abschnitt Events hinzu:
--- Code: --- <ModelConditionEvent Name="ModelConditionUSER_1">
<Conditions>+USER_1</Conditions>
</ModelConditionEvent>
<ModelConditionEvent Name="ModelConditionNOTUSER_1">
<Conditions>-USER_1</Conditions>
</ModelConditionEvent>
--- Ende Code ---
Dan öffnest du noch die scripts.lua und fügst dort follgende Scripts hinzu (Namen kannst du frei wählen, du musst den ScriptFunctionName in der Scriptevents.xml auch anpassen) :
--- Code: ---function ObjectGrantUpgradeScript(self)
ObjectGrantUpgrade( self, "UpgradeName )
end
function ObjectRemoveUpgradeScript(self)
ObjectRemoveUpgrade( self, "UpgradeName" )
end
--- Ende Code ---
Das Upgrade musst du dan noch in die Helden.ini zu der Fähigkeit schreiben (oder in den Button).
mfg
Pini
Ealendril der Dunkle:
Da hat wohl jemand meine Coding-Scripts entdeckt. ;) Das System gibt es nämlich im Original-Zustand in SuM nicht und ermöglicht noch viel mehr als das.
Freut mich jedenfalls, wenn sich jemand die Mühe macht und versucht meine Codes nachzuvollziehen.
Für sein System benötigt man das aber nicht, man kann es weitaus einfacher machen:
Eine Führerschaft, die nur auf dei Einheit wirkt und nichts anderes macht, als einen ModelCondition zu geben, zb. USER_4
Dann im Button der Fähigkeit angeben:
1. DisableOnModelCondition = USER_4 (Wenn die Fähigkeit NICHT in der Nähe des Helden ausführbar sein soll)
oder
2. EnableOnModelCondition = USER_4 (Wenn die Fähigkeit nur ausführbar sein soll, wenn der Held in der Nähe ist.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln