28. Mär 2024, 13:33 Hallo Gast.
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge. Hierbei werden gemäß Datenschutzerklärung Benutzername und Passwort verschlüsselt für die gewählte Dauer in einem Cookie abgelegt.


Select Boards:
 
Language:
 


Autor Thema: Vermillions Fragen  (Gelesen 11648 mal)

Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Vermillions Fragen
« am: 17. Nov 2010, 14:24 »
Hallo ich will nach längerer Ruhezeit mal wieder ein bisschen was ändern an einer Mod von mir und bitte (mal wieder) um Hilfe. Mein Ziel:

Hat man eine Bestimmte Einheit gebaut (z.B. Mordor Sauron) soll der Bau eins Gebäudes deaktiviert werden
Umgekehrt auch (also das Gebäude zuerst, dann soll der Held bzw Heldenbutton deaktiviert werden)



« Letzte Änderung: 13. Apr 2013, 14:34 von Ealendril der Dunkle »

Aklas

  • Gastwirt zu Bree
  • **
  • Beiträge: 109
Re:Bau einer Bestimmten Einheit soll eine andere Blockieren
« Antwort #1 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.

Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Re:Bau einer Bestimmten Einheit soll eine andere Blockieren
« Antwort #2 am: 11. Okt 2012, 23:49 »
Vielen Dank! :-)

Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Re:Bau einer Bestimmten Einheit soll eine andere Blockieren
« Antwort #3 am: 13. Apr 2013, 01:58 »
Wollte das jetzt mal probieren, das Problem ist aber, die Einheit ist ein Held, der in der Festung rekrutiert wird. Mach ich aus dem Held n Ringhero (wegen dem upgrade) erscheint da auch ein button von einem eigenen Helden (obwohl ich die deaktiviert hab) und wenn ich das Gebäude baue sind mehrere buttons weg. Nebenbei kann ich den ringhero button zwar anklicken aber es tut sich nix.

Lostir

  • Elbischer Pilger
  • **
  • Beiträge: 180
Re:Bau einer Bestimmten Einheit soll eine andere Blockieren
« Antwort #4 am: 13. Apr 2013, 09:52 »
Es wäre glaube ich am besten, wenn du die Codes zeigen würdest, da man dir dann besser helfen kann. Wenn es um einen Helden geht, der nicht mehr gebaut werden darf, reicht es nicht den Button zu entfernen, sondern du musst statt dem Button einen Button einfügen, der unsichtbar ist. Das muss so sein, da Helden nach ihrer Position in der Volksheldenliste gebaut werden. Such dir einfach einen HEldenrekrutierbutton und mach bei Radial ein No.

thepinking

  • Elronds Berater
  • **
  • Beiträge: 314
  • WotE und FdK-Mod Coder
Re:Bau einer Bestimmten Einheit soll eine andere Blockieren
« Antwort #5 am: 13. Apr 2013, 11:53 »
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.

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

  • Elbischer Pilger
  • **
  • Beiträge: 157
Re:Bau einer Bestimmten Einheit soll eine andere Blockieren
« Antwort #6 am: 13. Apr 2013, 12:53 »
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:

Behavior = GrantUpgradeCreate ModuleTag_NoSauronCommandset
UpgradeToGrant = Upgrade_NoSauron
GiveOnBuildComplete = No ;// The ExemptStatus UnderConstruction hack doesn't work on foundation buildings.
End

Die Einheit welches das Gebäude entfernen soll:

Behavior = GrantUpgradeCreate ModuleTag_NoBraddurCommandset
UpgradeToGrant = Upgrade_baraddur
GiveOnBuildComplete = No ;// The ExemptStatus UnderConstruction hack doesn't work on foundation buildings.
End

Dann beim Porter:
Behavior = CommandSetUpgrade ModuleTag_CommandSetBaraddurporter
        TriggeredBy       = Upgrade_baraddur
        CommandSet        = BaraddurporterCommandSet
        End

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.
« Letzte Änderung: 13. Apr 2013, 12:58 von Vermilion »

Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Re:Bau einer Bestimmten Einheit soll eine andere Blockieren
« Antwort #7 am: 13. Apr 2013, 13:21 »
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

  • Elronds Berater
  • **
  • Beiträge: 314
  • WotE und FdK-Mod Coder
Re:Bau einer Bestimmten Einheit soll eine andere Blockieren
« Antwort #8 am: 13. Apr 2013, 13:37 »
Mal eine Anleitung (Namen sind natürlich abänderbar)

Bei Sauron kommt das rein:
Behavior = RemoveUpgradeUpgrade ModuleTag_RemoveGebaeude
TriggeredBy = Upgrade_MordorFaction
UpgradeToRemove = Upgrade_Gebaeudebauen
RemoveFromAllPlayerObjects = Yes
End
Behavior = CreateObjectDie ModuleTag_062
DeathTypes = ALL
CreationList = OCL_Gebaeudebauen
End
In die OCL.ini diese:
ObjectCreationList OCL_Gebaeudebauen
CreateObject
ObjectNames = Gebaeudebauen
Count = 1
End
End
In die Playertemplate bei Mordor das:
   StartingUnit5 = Gebaeudebauen
    StartingUnitOffset5 = X:0 Y:0 Z:0
Dann noch ein neues Object
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
Der CommandButton sollte ungefähr so aussehen:
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
Und natürlich gibt es Beispiele mit Playerupgrades, du must nur richtig suchen...
Upgrade Upgrade_Gebaeudebauen
    Type              = PLAYER
End

Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Re:Bau einer Bestimmten Einheit soll eine andere Blockieren
« Antwort #9 am: 13. Apr 2013, 14:14 »
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.

« Letzte Änderung: 13. Apr 2013, 14:24 von Vermilion »

Ealendril der Dunkle

  • Gast
Re:Vermillions Fragen
« Antwort #10 am: 13. Apr 2013, 14:36 »
Bitte benutze nur noch einen Thread für deine Fragen. Du hast sage und schreibe über 20 Threads für einzelne Fragen erstellt. Ich habe den Titel des Threads jetzt geändert, halte dich zukünftig daran.
« Letzte Änderung: 13. Apr 2013, 14:44 von Ealendril der Dunkle »

thepinking

  • Elronds Berater
  • **
  • Beiträge: 314
  • WotE und FdK-Mod Coder
Re:Bau einer Bestimmten Einheit soll eine andere Blockieren
« Antwort #11 am: 13. Apr 2013, 15:02 »
Vielen Dank das hilft schon enorm weiter! Leider wird Sauron aber noch gebaut, wenn das Gebäude vorher gebaut wird bzw da ist.
Wo ist das Problem? Ich hab dir schon genau erklärt wie du ein ähnliches problem lösen kannst:
Das Gebäude entfernt nachdem es fertig ist ein Upgrade welches Vorraussetzung für Sauron ist und nachdem es weg ist bringt es dir wieder dieses Upgrade.

Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Re:Vermillions Fragen
« Antwort #12 am: 13. Apr 2013, 15:09 »
Das Gebäude soll ja die Einheit wiederum blockieren nur ist das mit den Heldenbuttons in der Festung ja ne spezielle sache, da kann ich keinen speziellen commandbutton definieren wo dann "Neededupgrade" steht.  Füge ich einen neuen button hinzu (ähnlich wie der beim Entmoot wo Baumbart gebaut wird) so erscheint dieser Button nicht.

Ich müsste dann bzgl Sauron etwas in der Playertemplate (und Skirmishaidata für die KI) ändern. Aber ich denke das geht nicht oder geht über meine Verständnisse hinaus.

thepinking

  • Elronds Berater
  • **
  • Beiträge: 314
  • WotE und FdK-Mod Coder
Re:Vermillions Fragen
« Antwort #13 am: 13. Apr 2013, 15:28 »
Natürlich kann man ein NeededUpgrade einfügen.
Wenn Sauron Ringheld bleiben soll, ist es extrem einfach:
CommandButton Command_RingHeroReviveSlot
    Command                = REVIVE
    Options                = HIDE_WHILE_DISABLED CANCELABLE NEED_UPGRADE        ;Hides button while disabled.
    NeededUpgrade        = Upgrade_RingHero Upgrade_FortressRingHero
    TextLabel            = CONTROLBAR:GenericReviveHero
    ;ButtonImage        = ***Filled in automatically! No need to specify a button image.
    ButtonBorderType    = BUILD
    DescriptLabel        = CONTROLBAR:ToolTipGenericReviveHero
    InPalantir            = No
    Radial                = Yes
End
Diesen Eintrag hernehmen, kopieren, umbennen, Upgrade für Sauron hinzufügen, im CommandSet der Festung einfügen. Sollte kein Problem sein.


Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Re:Vermillions Fragen
« Antwort #14 am: 13. Apr 2013, 15:55 »
Er ist leider kein Ringheld. Die gibt es bei mir nicht

thepinking

  • Elronds Berater
  • **
  • Beiträge: 314
  • WotE und FdK-Mod Coder
Re:Vermillions Fragen
« Antwort #15 am: 13. Apr 2013, 16:22 »
Geht dan genauso einfach:

CommandButton Command_SauronBuildbutton
    Command                = REVIVE
    Options                = HIDE_WHILE_DISABLED CANCELABLE NEED_UPGRADE        ;Hides button while disabled.
    NeededUpgrade        = Upgrade_ Hier das upgrade einfügen was Sauron benötigt
    TextLabel            = CONTROLBAR:GenericReviveHero
    ;ButtonImage        = ***Filled in automatically! No need to specify a button image.
    ButtonBorderType    = BUILD
    DescriptLabel        = CONTROLBAR:ToolTipGenericReviveHero
    InPalantir            = No
    Radial                = Yes
End


Und im commandSet der Festung hinzufügen

    //Hero Menu
    14    = Command_RingHeroReviveSlot
    15    = Command_CreateAHeroReviveSlot        // Note we also need an extra slot for the Create A Hero
    16    = Command_FakeReviveSlot1     
    17    = Command_GenericReviveSlot2       
    18    = Command_GenericReviveSlot3       
    19    = Command_GenericReviveSlot4       
    20    = Command_GenericReviveSlot5       
    21    = Command_GenericReviveSlot6   
    22    = Command_GenericReviveSlot7   
    23    = Command_SauronBuildbutton
    24    = Command_RadialBack 

Dan noch in der Playertemplate von Mordor in der Zeile BuildableHeroesMP Hinten Sauron hinzufügen:

CreateAHero EvilMenBlackRider EvilMenBlackRider EvilMenBlackRider MordorMouthOfSauron MordorFellBeast MordorFellBeast MordorWitchKingOnFellBeast MordorSauron

Ausserdem musst du bei diesem Eintrag "CommandRangeCount" auf 11 raufsetzen

CommandButton Command_SelectRevivablesMordorFortress
    Command                 = PUSH_VISIBLE_COMMAND_RANGE
    TextLabel               = CONTROLBAR:SelectRevivablesMordorFortress
    ButtonImage             = UCCommon_EvilHeroes
    ButtonBorderType        = SYSTEM
    DescriptLabel           = CONTROLBAR:ToolTipCommandSelectRevivablesMordorFortress
    Radial                  = Yes
    CommandRangeStart        = 13
    CommandRangeCount        = 10
End

Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Re:Vermillions Fragen
« Antwort #16 am: 13. Apr 2013, 16:50 »
Danke jetzt funzt alles! Ein schönes Wochenende, du warst mir eine mega Hilfe :-)
« Letzte Änderung: 13. Apr 2013, 17:39 von Vermilion »

Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Re:Vermillions Fragen
« Antwort #17 am: 26. Apr 2013, 20:45 »
Gibt es ein script oder einen behavior um das Auge Saurons (den Lv1 Spell) herum wandern zu lassen?

Lostir

  • Elbischer Pilger
  • **
  • Beiträge: 180
Re:Vermillions Fragen
« Antwort #18 am: 27. Apr 2013, 01:04 »
Es gibt bei Tieren ein AIWanderUpdate, wodurch diese über die Map laufen. So etwas ähnliches könnte man auch Saurons Auge geben.

Turin Turumbar

  • Administrator
  • Hüter von Anduril
  • *****
  • Beiträge: 3.703
Re:Vermillions Fragen
« Antwort #19 am: 27. Apr 2013, 13:15 »
Das AIWanderUpdate funktioniert nur, wenn entsprechende Punkte auf der Map gesetzt wurden. Einfacher ist es ein unsichtbares Objekt spawnen zu lassen und das Auge Saurons wie die Creeps darum laufen zu lassen. Entsprechende Behavior findest du logischerweise in den inis der Creepgebäude und Creeps.

Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Re:Vermillions Fragen
« Antwort #20 am: 29. Apr 2013, 21:44 »
Habe es jetzt gelöst, ein Aiwanderupgrade oder ahnliches war nicht nötig, habe ein Behavior von Gollum genommen und es etwas abgeändert. Trotzdem danke.

Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Re:Vermillions Fragen
« Antwort #21 am: 5. Mai 2013, 09:42 »
Neu Fragen,

a) kann ich im behavior eine Zeile einfügen so dass es nur bei der KI gilt?

b) ein Gebäude, dass nur einmal gebaut werden darf (also der spieler kann nur ein gebaude des typs besitzen) kann trotzdem mehrmals gebaut werden indem man mehrere Baumeister schnell hintereinander anweist, es zu bauen. Kann man diesem bug entgegegenwirken?

Einen schönen Sonntag

Gnomi

  • Administrator
  • Bewahrer des roten Buches
  • *****
  • Beiträge: 12.617
Re:Vermillions Fragen
« Antwort #22 am: 5. Mai 2013, 16:55 »
Zu b):
Nein.
In Edain haben wir das so gemacht, dass es über eine library eben ein Script gibt, welches überprüft wie viele von diesen Gebäuden ein Spieler hat. Wenn ein Spieler zu viele hat wird eben eins zerstört.

thepinking

  • Elronds Berater
  • **
  • Beiträge: 314
  • WotE und FdK-Mod Coder
Re:Vermillions Fragen
« Antwort #23 am: 5. Mai 2013, 18:58 »
...
a) kann ich im behavior eine Zeile einfügen so dass es nur bei der KI gilt?
...

Kommt ganz drauf an um welchen behavior es sich handelt?

Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Re:Vermillions Fragen
« Antwort #24 am: 6. Mai 2013, 17:50 »
...
a) kann ich im behavior eine Zeile einfügen so dass es nur bei der KI gilt?
...

Kommt ganz drauf an um welchen behavior es sich handelt?



Diesen hier:

Behavior = AnimalAIUpdate ModuleTagWanderAround
FleeRange = 300 ; how close enemies have to be before we panic
FleeDistance = 800 ; how far the animal will run once spooked
WanderPercentage = 80 ; percentage of the time we should move
MaxWanderDistance = 50 ; maximum distance to move at once
MaxWanderRadius = 999999 ; how far to wander on our own
UpdateTimer = 1 ; how often do we want to check for enemies
End

thepinking

  • Elronds Berater
  • **
  • Beiträge: 314
  • WotE und FdK-Mod Coder
Re:Vermillions Fragen
« Antwort #25 am: 6. Mai 2013, 22:10 »
Du könntest den Behavior einer Einheit geben die nur für die KI baubar ist.

Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Re:Vermillions Fragen
« Antwort #26 am: 7. Mai 2013, 07:20 »
Mensch klar, Button 7 ist für den Spieler ja nicht mehr sichtbar. Danke.


Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Re:Vermillions Fragen
« Antwort #27 am: 8. Mai 2013, 22:29 »
Nach längerem testen ist mir tatsächlich noch was aufgefallen und zwar scheinen diese ai codes:

AI_SPECIAL_POWER_TARGETA OE_SUMMON

AI_SPELLBOOK_CALLTHEHORD E

nicht zu funktionieren oder habt ihr andere Erfahrungen?

Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Re:Vermillions Fragen
« Antwort #28 am: 16. Jul 2013, 11:00 »
Ich möchte dass eine herbeigerufene Einheit , wenn sie den Ring aufsammelt, bleibt, also nicht mehr fadet und der entsprechende Button zum herbeirufen disabled wird. Hat jemand sowas schon gerodet oder lässt sich das nur Skripten?

Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Neue Frage!
« Antwort #29 am: 21. Mär 2014, 11:22 »
Hat sich erledigt. Bin irgendwann selbst draufgekommen. Schade, hätten wir 2006 hätte ich meine KI Mod und Heldenmod längst an EA geschickt...
« Letzte Änderung: 22. Mär 2014, 16:30 von Vermilion »

Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Last but not least
« Antwort #30 am: 9. Apr 2014, 15:05 »
nehme ich meinen Mut zusammen und hoffe dass auch meine entgültig letzten Fragen beantwortet werden da ich da diesmal echt nicht weiterweiss!

- ich möchte scripten dass wenn man Mordor spielt (egal ob spieler oder KI) und ein Nazgul oder irgendein anderer Held den Ring aufsammelt, dieser automatisch an Sauron (falls vorhanden) weitergereicht wird (einfach vom Helden zu Sauron gebeamt wird, etc)

A) was muss ich wo einstellen damit das script auch vom spiel benutzt wird?

B) hatte ein script erstellt und es einfach in /libraries (wo auch zB die Musikscripts liegen) kopiert aber im spiel geschah nix.

C) kann man es irgendwie einstellen, dass man durch ein attributmodifier ein upgrade bekommt? Hab dem Ring ein Attributmodifier gegeben und will damit erreichen, das ein bestimmter Held, der den Ring aufsammelt durch ein Template mit anderen Werten (z.B. anderer Angriff) ersetzt werden kann.

Würde mich echt freuen wenn mir dabei einer hilft, will dann die 100% finale Mod auch hier veröffentlichen, sind einige Verbesserungen drin!

Prinz von Dol Amroth

  • Edain Ehrenmember
  • Held von Helms Klamm
  • *****
  • Beiträge: 1.262
Re:Vermillions Fragen
« Antwort #31 am: 9. Apr 2014, 16:52 »
In der INI.big gibt es eine playeraitypes.ini. Dort siehst du, dass unteranderem die "Libraries\Multiplayer_Human\Multiplayer_Human.map" schon eingebunden ist, weswegen ich diese an deiner Stelle verwenden würde.
Einen Attributemodifie kannst du ganz einfach ein Upgrade geben. Such einfach Upgrade in der Attributemodifier.ini, dort müsstest du genügend Beispiele finden.

Zu deiner Hauptfrage:
Ich würde das nicht über Scripts machen, da das zu umständlich ist. Zum einen würde ich Sauron automatisch ein Upgrade erstellen lassen und wenn er stirbt, sollte dieses removed werden.
Im TheDroppedRing Object würde ich dann hinschreiben, dass er sich durch das Sauronupgrade umbringt (Gegebenenfalls musst du seinen HighlanderBody ersetzen).
In dem OCL_TheOneRing würde ich einen zweiten CreateObject einbauen, welches ein anderes Ringobject beschwört, welches nur Sauron attached. Diese sollten dann das Sauron und das Mordor Upgrade als RequiredUpgrades haben und bei dem normalen Ring sollte im CreateObject diese Upgrades unter ForbiddenUpgrades stehen.
Ich bin der selbst ernannte Herrscher, oberster Befehlshaber und noch vieles anderes von Dol Amroth
oft in tunngle zu finden

Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Re:Vermillions Fragen
« Antwort #32 am: 9. Apr 2014, 21:05 »
Ich würds auch lieber coden aber angesichts dessen dass ich da kaum noch tätig bin und im Gegansatz zu euch da zu wenig Erfahrung hab, erscheint mir das ne grosse Hürde.

Kann man nicht einfach n Script machen z.B:

IF
<Local Player> is Faction Mordor
<This Player> owns Unit MordorSauron

Ja jetzt wirds kompliziert da die Option "HOLDING_THE_RING" nicht geht, die wird für was anderes in meiner Mod benutzt. Den Ring selber besitzt man ja nicht, man sammelt ihn nur auf. Der Ring hat ein Attributmodifier aber eine Option damit scheint es nicht zu geben.
(z.B. Unit X has Attributmodifier Y)

Da bin ich grad ratlos, aber das mit den Codes scheint mir ebenfalls schwer. Er muss sich dann ja auf den jeweiligen Spieler, den Nazgul und Sauron der dann gebaut sein muss beziehen. Und mit den Upgrades habe ich neulich die ganze Nacht verbracht um Sauron per Upgrade (hab dem Attributmodifier des Rings n Upgrade hinzugefügt) ne andere Waffe (im grunde ne Sauron-Kopie mit anderer Waffe) zu geben und das hat am ende alles ned hingehauen. Vielleicht weil Sauron schon Level10 ist und ich nicht weiss wie ich bei ihm ein Upgrade mache, das sich nicht aufs Leveln bezieht.

Kenne das nur mit dem Leveln aber nicht durch ein Attributmodifier.

Aber das mit dem Ring wäre mir im Grunde wichtiger.

FG15

  • Administrator
  • Ringträger
  • *****
  • Beiträge: 5.268
Re:Vermillions Fragen
« Antwort #33 am: 9. Apr 2014, 21:57 »
Du kannst zwar nicht direkt abfragen, ob ein Objekt einen Attributemodifier hat, aber ob ein Player Objekte hat, die eine bestimmte Modelcondition haben. Du kannst dann deinen Attributemodifier genau diese Modelcondition vergeben lassen. Dabei solltest du dann darauf achten, dass die nirgendwo sonst verwendet wird.

Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Re:Vermillions Fragen
« Antwort #34 am: 10. Apr 2014, 08:52 »
Kapier ich nicht ganz. Das Objekt "Der eine Ring" habe ich ja nicht. Ich transportiere es nur. Das Objekt an sich ist, denke ich mal, neutral. Es hat ne Weapon und n Attributmodifier. (Bzw zwei, einer speziell für Sauron)

Ich denke, zum Scripten muss ich das Objekt ja besitzen. Drum weiss ich jetzt nicht wie ich trotz Modelcondition da weiterkomme. 

Oder meinst du, dass ich durch die Modelcondition den "Ringträger" verändern kann? Also quasi einen anderen Sauron der dann auch nicht nur n anderes Aussehen (soll er im Grunde nicht) hat sondern auch eine andere Weapon?

FG15

  • Administrator
  • Ringträger
  • *****
  • Beiträge: 5.268
Re:Vermillions Fragen
« Antwort #35 am: 10. Apr 2014, 09:21 »
Ich hatte es mir so vorgestellt, dass der Ring dem Ringträger (bzw allen Einheiten in einer minimalen Nähe) die Modelcondition gibt. Da der Ringträger dem Spieler selber gehören sollte, kann man dadurch mit Script rausfinden, ob eine eigene Einheit den Ring hat.


    Behavior = AttributeModifierAuraUpdate ModuleTag_BehaviorNazgulHoldsTheRing
        StartsActive    = Yes
        BonusName       = AttributeModifierForNazgul
        RefreshDelay    = 1000
        Range           = 2
TargetEnemy = Yes
        ObjectFilter    = ANY +KhamulFellBeast +MorgomirFellBeast +MordorWitchKingOnFellBeast ENEMIES
   End

Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Re:Vermillions Fragen
« Antwort #36 am: 10. Apr 2014, 10:01 »
Ok, der Code kommt in die "Ring.ini" und im Script such ich dann nach nach der Modelcondition in der "AttributeModifierForNazg ul" richtig?




FG15

  • Administrator
  • Ringträger
  • *****
  • Beiträge: 5.268
Re:Vermillions Fragen
« Antwort #37 am: 10. Apr 2014, 11:22 »
Genauso würde ich das machen.

Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Re:Vermillions Fragen
« Antwort #38 am: 10. Apr 2014, 20:54 »
Also ich hab das Attributmodifier in die Weapon des Rings geschrieben weil die anderen auch da drin sind. Als ModelCondition hab ich USER_9

Als Script

IF
<This player> owns Unit MordorSauron
# of objects owned by player <this player> with Model condition ModelCondition State USER_9 is greater than 0

Action IF true
Unit thedroppedring begin facing Unit MordorSauron

IF false
Nothing

Im Spiel passiert aber nix.

Gnomi

  • Administrator
  • Bewahrer des roten Buches
  • *****
  • Beiträge: 12.617
Re:Vermillions Fragen
« Antwort #39 am: 10. Apr 2014, 21:04 »
Ich kann dir gleich sagen, dass es so wahrscheinlich nicht funktioniert.

Aber ich versuch Mal glech zu sagen, warum das Script jetzt grad nichts macht:
1.) Hast du den Ring überhaupt benannt? Ansonsten geh unter References (müsste bei Allgemeines sein) und gib dem Ring dadurch einen Namen. Ansonsten kannst du ihm keine Befehle geben.
2.) Hast du die Einheit Sauron benannt? Wahrscheinlich nicht. Dort musst du das gleiche machen.
3.) "facing" heißt nur, dass die Einheit sich umdreht und zu der Einheit hinschaut. Wenn du willst, dass die Einheit zu einer anderen Einheit springt musst du "teleport" benutzen.

Jedoch gibt es da auch einige Probleme. Der Ring ist nämlich fest mit der Horde verbunden, wenn du ihn wo anders hinteleportierst wird er immer wieder zurückspringen, also zu dem Batallion, das ihn aufgesammelt hat "zurückfliegen".
Das Beste wäre hier, dass du den Ring zerstörst (Delete unit) und dann einen anderen bei Sauron spawnst. (also spawn unit at unit)
Jedoch hat bei mir diese Aktion (das man bei einer Einheit was spawnt) manchmal Probleme bereitet und nicht richtig funktioniert. (manchmal schon, manchmal überhaupt nicht)
Da musst du Mal ausprobieren, ob es bei dir funktioniert.

Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Re:Vermillions Fragen
« Antwort #40 am: 10. Apr 2014, 21:30 »
References unter Allgemein? Meinst du den Worldbuilder?

Hab das Script geändert, u.a. Soll der Ring removed werden aber das passiert auch nicht. Da stimmt was mit dem Script nicht.

Gnomi

  • Administrator
  • Bewahrer des roten Buches
  • *****
  • Beiträge: 12.617
Re:Vermillions Fragen
« Antwort #41 am: 10. Apr 2014, 21:44 »
References als Aktion im Skript.^^
Scripting->References

Damit kannst du Objekten Namen geben, ansonsten kannst du ihnen ja keine Befehle geben. "MordorBalrog" und so sind nur die Beschreibungen, wie sie in den Codes heißen - jedoch beziehen sich die Namen, die man bei Skripts hinschreiben kann, auf eindeutige Namen. Weil von den Einheiten kann es ja mehrere geben - Namen sind aber immer eindeutig.^^

Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Re:Vermillions Fragen
« Antwort #42 am: 10. Apr 2014, 22:50 »
Ja das mit dem teleporten ist sehr kniffelig da ich nur n waypoint angeben kann.

Glücklicherweise hab ich das mit der Weapon gelöst (wenn Säuren den Ring hat) . Ging recht einfach mit einem weaponupgrade und dem weaponsetupgrade behavior.


Vermilion

  • Elbischer Pilger
  • **
  • Beiträge: 157
Nochmal Orcs
« Antwort #43 am: 11. Apr 2014, 10:17 »
Ich hab leider bis heute immer noch keine Lösung für das Orc-Nachbau-Problem

( http://forum.modding-union.com/index.php/topic,4704.0.html )

Hat da vielleicht jemand ne Idee, hätte das so gern gelöst.

Kurz: Bei SUM2 baut die Orcs-KI die Einheiten-Gebäude nach ca. 15-20 Minuten Spielzeit nicht mehr nach.

Was ich versucht hatte:

u.a. Skirmishaidata.ini (auch aus SUM2 ROTWK kopiert)

.bse Files bearbeitet