Modderecke > Coding
Natsu's Fragen-Thread
Natsu:
Vielen Dank Radagast, Ealendril und Sanalf,
das mit der Heldenfunktion habe ich nun endlich hinbekommen
Allerdings verstehe ich noch nicht ganz was ich machen muss, das gewisse Einheiten nur dann ausgebildet werden können wen der entsprechende Held auf dem Feld ist.
Beispiel: Düsterwaldbogenschützen, Thranduil
Lg Natsu
Radagast der Musikalische:
Dazu muss der Spieler durch die Ankunft des entsprechenden Heldes ein Upgrade erhalten. Dieses Upgrade gibt man dann als NeededUpgrade beim BuildButton der Düsterwaldbogenschützen an.
In die ini des Helden, in diesem Fall Thranduil muss dieses Behavior eingefügt werden.
thranduil.ini
--- Code: --- Behavior = GrantUpgradeCreate ModuleTag_EnableUpgradeSchwan
UpgradeToGrant = Upgrade_Thranduil
GiveOnBuildComplete = Yes
End
--- Ende Code ---
Suche in der Commandbutton.ini folgenden Button und füge in der Zeile NeededUpgrade Upgrade_Thranduil hinzu, wie ich es hier getan habe.
commandbutton.ini
--- Code: ---CommandButton Command_ConstructElvenMirkwoodArcherHorde
Command = UNIT_BUILD
Object = ElvenMirkwoodArcherHorde
TextLabel = CONTROLBAR:ConstructElvenMirkwoodArcherHorde
ButtonImage = BEElvenBarracks_MirkwoodArcher
ButtonBorderType = BUILD
DescriptLabel = CONTROLBAR:ToolTipBuildElvenMirkwoodArcherHorde
Radial = Yes
InPalantir = Yes
IsClickable = Yes
Options = NEED_UPGRADE CANCELABLE
NeededUpgrade = Upgrade_Thranduil Upgrade_ElvenBarracksLevel2
ShowProductionCount = Yes
End
--- Ende Code ---
Da das Upgrade noch nicht existiert musst du dieses noch in der Upgrade.ini erstellen.
upgrade.ini
--- Code: ---Upgrade Upgrade_Thranduil
Type = PLAYER
End
--- Ende Code ---
Natsu:
Vielen Dank Radagast,
allerdings kann ich die Düsterwaldbogenschützen immer rekrutieren wenn ich einmal Tranduil rekrutiert habe, selbst wenn er tot ist.
Ich möchte allerdings das ich die Düsterwaldbogenschützen nur dann rekrutieren kann wenn Tranduil auf dem Feld ist
Lg Natsu
Sanalf 2:
Ich will mich ja jetzt nicht aufspielen, aber genau das habe ich dir hier vor einigen Posts schon gesagt. Mit Radagasts Methode kannst du die immer rekrutieren, da das Upgrade nur einmal vergeben wird und dann dauerhaft da ist...du hast gemeint, dass das schon passe...
Aber gut. Damit das hier nicht in Spam ausartet, sag ich dir mal meine Methode, die ich für diesen Fall immer anwende:
Du gibst am besten Thranduil einen AttributeModifier-Block, so wie den hier:
--- Code: --- Behavior = AttributeModifierAuraUpdate ModuleTag_XYZ
StartsActive = ...
BonusName = ...
RefreshDelay = 2000
Range = ...
ObjectFilter = ...
End
--- Ende Code ---
Bei "StartsActive" schreibst du "Yes" hin, damit der Modifier von Anfang an wirkt, sobald du Thranduil auf dem Feld hast. Bei "BonusName" gibst du nun einen frei gewählten Namen für deinen späteren Modifier an, zum Beispiel "ThranduilBogis" oder was auch immer. Das "RefreshDelay" kannst du so belassen. Die "Range" setzt du so hoch wie möglich an. Ich meine, dass hier ein Wert von 999999 reichen sollte. Damit geht der Modifier über die ganze Karte, egal, wo Thranduil grade steht. Und bei "ObjectFilter" schreibst du hin "NONE +" und nach dem Pluszeichen den Namen des Gebäudes, also etwa "NONE +ElvenBarracks".
Jetzt erstellst du in der attributemodifier.ini einen neuen Modifier, der etwa so aussehen könnte:
--- Code: ---ModifierList ThranduilBogis
Category = SPELL
Duration = 3000
ModelCondition = USER_6
End
--- Ende Code ---
Der Name des Modifiers ist der, den du bei "BonusName" angegeben hast. Ob die Werte für "Category" und "Duration" wirklich entscheidend sind, weiß ich momentan nicht. Bei mir hats mit solchen Einstellungen eigentlich immer recht gut funktioniert. Wichtig ist dann die Zeile "ModelCondition = USER_6". Die vergiebt nun eine ModelCondition an das vom Modifier betroffene Gebäude.
Jetzt suchst du den CommandButton der Bogis. Dort fügst du dann noch die Zeile ein:
--- Code: ---EnableOnModelCondition = USER_6
--- Ende Code ---
Die sagt dem Spiel, dass der Button solange aktiv sein soll, wie das Gebäude eben den Status "USER_6" hat und der verschwindet, wenn Thranduil stirbt.
Ich hoffe, dass es damit geht.
mfg
sanalf 2
Natsu:
Vielen Dank Sanalf,
Ich wusste das Radagast's System dauerhaft ist und auch wenn er tot ist noch wirkt, allerdings bin ich halt noch Modding-Anfänger und wusste deshalb nicht wie ich das andere System coden könnte.
Nun gleich zur nächsten Frage,
Wie kann ich das ganze nun an eine Fähigkeit anbinden die Tranduil erst ab level 5 bekommt ?
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln