Modderecke > Coding
Vermillions Fragen
thepinking:
--- Zitat von: Aklas am 8. Mär 2011, 18:09 ---Mach doch einfach ein upgrade(zxy), das beim bau deiner einheit freigeschaltet wird.
dieses upgrade muss dann das commandset des baumeisters ändern (in eins wo das gebäude nich mehr vorkommt).
dann machst du noch ein anderes upgrade(xyz), welches beim bau deines Gebäudes freigeschaltet wird und den Baubutton der Einheit entfernt.
Script:
upgrade.ini
Upgrade Upgrade_xyz
Type = OBJECT
End
Upgrade Upgrade_zxy
Type = OBJECT
End
deinporter.ini
(das muss in die engineering parameter)
Behavior = CommandSetUpgrade ModuleTag_CommandSetzxy
TriggeredBy = Upgrade_zxy
CommandSet = zxyCommandSet
End
deingebäudemiteinheitdri n.ini
(das muss in die engineering parameter)
Behavior = CommandSetUpgrade ModuleTag_CommandSetxyz
TriggeredBy = Upgrade_xyz
CommandSet = xyzCommandSet
End
commandset.ini
CommandSet deingebäudemiteinheit_co mmandset
1 = deine Einheit
2 = irgendwas
3 = irgendwas anderes
End
CommandSet xyzcommandset
1 = irgendwas
2 = irgendwas anderes
end
CommandSet deinporter_commandset
1 = dein Gebäude (welches deaktiviert werden soll)
2 = irgendwas
3 = irgendwas anderes
...
End
CommandSet zxycommandset
1 = irgendwas
2 = irgendwas anderes
...
end
müsste irgendwie so funktionieren, is aber alles ausm gedächtnis ich hab das auch mal irgendwann gemacht.
--- Ende Zitat ---
Das ganze geht auch viel einfacher, ohne ein CommandSet erstellen zu müssen:
Das gebäude braucht ein (Player-) Upgrade als Vorraussetzung, welches man schon am beginn hat. Spawnt Sauron so entfernt er dieses Upgrade und das gebäude ist nicht mehr baubar. Stirbt Sauron spawnt ein Object das dir wieder das Upgrade gibt.
Vermilion:
Ok danke und wie geht das Player Upgrade? Das mit den Commandsets funzt nicht, hat keine wirkung.
Meine Codes:
Im Gebäude weches die Einheit deaktivieren soll:
--- Code: ---
Behavior = GrantUpgradeCreate ModuleTag_NoSauronCommandset
UpgradeToGrant = Upgrade_NoSauron
GiveOnBuildComplete = No ;// The ExemptStatus UnderConstruction hack doesn't work on foundation buildings.
End
--- Ende Code ---
Die Einheit welches das Gebäude entfernen soll:
--- Code: ---
Behavior = GrantUpgradeCreate ModuleTag_NoBraddurCommandset
UpgradeToGrant = Upgrade_baraddur
GiveOnBuildComplete = No ;// The ExemptStatus UnderConstruction hack doesn't work on foundation buildings.
End
--- Ende Code ---
Dann beim Porter:
--- Code: ---Behavior = CommandSetUpgrade ModuleTag_CommandSetBaraddurporter
TriggeredBy = Upgrade_baraddur
CommandSet = BaraddurporterCommandSet
End
--- Ende Code ---
Gleiches für die Festung, codes poste ich jetzt mal nicht prinzip ist ja das selbe und der browser hier spinnt etwas.
In den Commandsets fehlen dann einfach die jew. Buttons aber im spiel sind sie da.
Vermilion:
Bitte, kann mir jemand sagen wie das mit dem Playerupgrade gemeint ist? Finde da jetzt keine anderen Beispiele in den inis. Wo muss das Upgrade rein, beim Gebäude?
thepinking:
Mal eine Anleitung (Namen sind natürlich abänderbar)
Bei Sauron kommt das rein:
--- Code: --- Behavior = RemoveUpgradeUpgrade ModuleTag_RemoveGebaeude
TriggeredBy = Upgrade_MordorFaction
UpgradeToRemove = Upgrade_Gebaeudebauen
RemoveFromAllPlayerObjects = Yes
End
Behavior = CreateObjectDie ModuleTag_062
DeathTypes = ALL
CreationList = OCL_Gebaeudebauen
End
--- Ende Code ---
In die OCL.ini diese:
--- Code: ---ObjectCreationList OCL_Gebaeudebauen
CreateObject
ObjectNames = Gebaeudebauen
Count = 1
End
End
--- Ende Code ---
In die Playertemplate bei Mordor das:
--- Code: --- StartingUnit5 = Gebaeudebauen
StartingUnitOffset5 = X:0 Y:0 Z:0
--- Ende Code ---
Dann noch ein neues Object
--- Code: ---Object Gebaeudebauen
EvaEnemyObjectSightedEvent = None ; Not a real unit
; ***DESIGN parameters ***
VisionRange = 0
EditorSorting = SYSTEM
KindOf = NO_COLLIDE IMMOBILE UNATTACKABLE IGNORE_FOR_VICTORY IGNORE_FOR_EVA_SPEECH_POSITION MOVE_ONLY
ThreatLevel = 0
; *** ENGINEERING Parameters ***
Body = ActiveBody ModuleTag_01
MaxHealth = 999999999
InitialHealth = 999999999
End
Behavior = LifetimeUpdate ModuleTag_LifetimeUpdate
MinLifetime = 5000
MaxLifetime = 5000
End
Behavior = GrantUpgradeCreate ModuleTag_Sauron
UpgradeToGrant = Gebaeudebauen
GiveOnBuildComplete = Yes
End
End
--- Ende Code ---
Der CommandButton sollte ungefähr so aussehen:
--- Code: ---CommandButton Command_PorterConstructMordorCirithUngolPrison
Command = DOZER_CONSTRUCT
Options = NEED_UPGRADE CANCELABLE
Object = MordorDolGoldurPrison
NeededUpgrade = Upgrade_Gebaeudebauen
TextLabel = CONTROLBAR:ConstructMordorDolGoldurPrison
ButtonImage = HSDolVerlies
ButtonBorderType = BUILD
DescriptLabel = CONTROLBAR:ToolTipMordorCirithUngolPrison
Radial = Yes
End
--- Ende Code ---
Und natürlich gibt es Beispiele mit Playerupgrades, du must nur richtig suchen...
--- Code: ---Upgrade Upgrade_Gebaeudebauen
Type = PLAYER
End
--- Ende Code ---
Vermilion:
Vielen Dank das hilft schon enorm weiter! Leider wird Sauron aber noch gebaut, wenn das Gebäude vorher gebaut wird bzw da ist.
Was mir noch aufgefallen ist, ich hab zwar eingestellt dass das gebäude nur einmal gebaut werden kann aber schickt man zwei baumeister auf einmal los (wenn sie also noch beide zu dem bauort hinrollen) so bauen sie beide das gebäude.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln