-
#30
von
Vermilion
am 09 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!
-
#31
von
Prinz von Dol Amroth
am 09 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.
-
#32
von
Vermilion
am 09 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.
-
#33
von
FG15
am 09 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.
-
#34
von
Vermilion
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?
-
#35
von
FG15
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
-
#36
von
Vermilion
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?
-
#37
von
FG15
am 10 Apr, 2014 11:22
-
Genauso würde ich das machen.
-
#38
von
Vermilion
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.
-
#39
von
Gnomi
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.
-
#40
von
Vermilion
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.
-
#41
von
Gnomi
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.^^
-
#42
von
Vermilion
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.
-
#43
von
Vermilion
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