[Mappen] Diverse Fragen

Jun 13, 2008
5,644
6
265
42
Schweinfurt
Zum Forennamen: Würd an deiner Stelle einfach mal einen Admin anhauen ob er für dich, da du nun auch schon länger hier angemeldet bist, eine Ausnahme machen kann oder du wartest bis Ostern - dann gibt es hier im UF den Osternicknamechange! Gibt dann einen Thread wo man seinen neuen Wunschnamen einträgt und dieser wird dann auch so geändert falls nicht schon vorhanden. ;)
 
Jun 4, 2006
57
0
0
Zürich
Frage Nr. 5
Ich möchte eine Mission machen in der nur Bodeneinheiten erlaubt sind.
Das Problem ist die USA mit ihrem SupplyCenter, also Rohstoffsammelstation, welches Helikopter zum Sammeln hat.
Eine einfache Art dieses Problem zu beseitigen wäre mittels Kommandoschalter alle USA Bulldozer so zu Skripten das anstelle eines USA SupplyCenter nur ein China SupplyCenter möglich ist.
Diesen weg will ich allerdings nicht einschlagen da die USA Basen dann irgendwie scheisse aussehen.

Gibt es eine Möglichkeit die Chinooks so zu Skripten das es nicht möglich ist Einheiten aufzunehmen.
Oder zweite Variante falls die erste nicht funktioniert, gibt es die Möglichkeit die Buttos zum ausladen der Einheiten im Chinook zu entfernen?
 
Nov 28, 2007
1,724
1
215
Bad Hersfeld
Code:
*** IF ***
    True.
*** THEN ***
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  1  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  2  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  3  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  4  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  5  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  6  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  7  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  8  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  9  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  10  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  11  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  12  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  13  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  14  (1-12).

das müsstest du dann für jeden chinook von jeder USA fraktion machen.

aber ist keine gute lösung, da man mit chinooks dann nichts mehr anfangen kann wenn man ne einheit reinlädt (man kriegt sie nicht wieder raus -> der chinook kann kein geld mehr sammeln).

eine andere lösung gibt es ohne .ini dateien nicht.
 
Jun 4, 2006
57
0
0
Zürich
Frage Nr. 6

Ich mache gerade eine Map bei der es darum geht sich nach vorne zu Arbeiten.
Der Feind (KI) hat 6 Stützpunkte und nun möchte ich dass sich der Feind Verteidigt wenn man zu nahe an seinen Stützpunkt kommt.
Dazu habe ich ein Areal um die jeweiligen Stützpunkte gezogen, nun muss ich ein Skript machen das auslöst sobald sich Feindliche Truppen darin befindet.

Code:
***WENN***
Team '???' hat 1 oder mehr Einh. in Areal 'Base01' (FlaechenBeruehrung ???)

Mein Problem ist, ich weiss nicht was ich bei Team '???' eingeben soll.
In der Map gibt es einen Gegner (die KI) und 4 Startplätze für die Menschlichen Spieler.
Mit 'teamPlyrCivilian' hatte ich es schon ausprobiert aber es funktionierte nicht.
 
May 18, 2007
365
0
0
33
Mainz
Willst du, dass nur die Einheiten im jeweiligen Stützpunkt diesen bewachen, oder willst du, dass wenn Stützpunkt 1 angegriffen wird, alle Einheiten von Stützpunkt 2 - 6 auch zur Verteidigung herangezogen werden?
 
Jun 4, 2006
57
0
0
Zürich
Mein ziel ist es eigentlich, das sobald Feinde im stützpunkt sind in diesem Stützpunkt einheiten Produziert werden.
Wie ich einheiten Produzieren lasse weis ich, aber ich weis nicht wie ich das Skript auslöse.
 
May 18, 2007
365
0
0
33
Mainz
Meine Idee wäre, Counter, bzw. Flags zu benutzen. Sobald eine feindliche Einheit die von Dir eingezogene Gegend betritt, wird der Counter / die Flag auf 1 / auf True gesetzt. Sind keine feindlichen Einheiten mehr in der Gegend, setzt sich der Counter wieder auf 0 bzw. die Flag auf false.

Anhand der Flags / der Counter lässt du die Teams bei den Produktionsgebäuden bauen.
 
Jun 4, 2006
57
0
0
Zürich
Sobald eine feindliche Einheit die von Dir eingezogene Gegend betritt

Genau dieser Satz ist mein Problem.
Ich weis nicht wie ich das Skript schreiben muss damit es erkennt das eine Feindliche Einheit im Areal ist.
(Die Feindlichen Einheiten sind die Einheiten der Menschlichen Spieler)
 
Nov 28, 2007
1,724
1
215
Bad Hersfeld
Versuch mal die script Bedingung Spieler -> Areal -> Spieler hat Einheiten in Areal. (so ungefähr müsste es im deutschen worldbuilder heißen)

Und bei spieler wählst du <This Player's Enemy>.

mit dem script das du versucht hast kommst du nicht weit, da dies ein team script ist. und da menschliche spieler keine benannten teams besitzen kannst du damit rein gar nichts fangen in so einem fall.
 
Jun 4, 2006
57
0
0
Zürich
Nein das funktioniert leider auch nicht,
ich hab aber eine andere Möglichkeit herausgefunden.
Ich habe 8 Skripts erstellt bei denen ich jeweils Abfrage ob player0 bis player7
(player 0 ist gleich der oberste Player im Spiel Erstellung Menü, also im Normalfall der Host, player1 der zweite, player2 der dritte und so weiter)
an Start Position 1 starten (die des Gegners Starten)

Danach 8 Skripts in denen ich eingestellt habe das sich der Gegner verteidigt wenn seine feinde im Areal sind.
Diese 8 Skripts sind allerdings alle Deaktiviert und Sie unterscheiden sich dadurch das immer einer der player0 bis player7 fehlt.
Eines der oberen Skripts welches abfragt welcher der player0 bis player7 an Start Position 1 startet wird zutreffend sein.
Dieses Skript aktiviert dann das Skript in dem der Player fehlt welcher an Position 1 Startet.

Ich hab das jetzt so ausführlich notiert um andern zu helfen,
ich werde bestimmt nicht der einzige sein der sich dafür interessiert.
 
Jun 4, 2006
57
0
0
Zürich
Zurück zur Frage 5: Transportfähigkeit von Chinooks entfernen

Code:
*** IF ***
    True.
*** THEN ***
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  1  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  2  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  3  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  4  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  5  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  6  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  7  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  8  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  9  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  10  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  11  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  12  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  13  (1-12).
   Command button: 'Command_Stop' is added to all objects of type 'AmericaVehicleChinook' in slot number  14  (1-12).

das müsstest du dann für jeden chinook von jeder USA fraktion machen.

aber ist keine gute lösung, da man mit chinooks dann nichts mehr anfangen kann wenn man ne einheit reinlädt (man kriegt sie nicht wieder raus -> der chinook kann kein geld mehr sammeln).

eine andere lösung gibt es ohne .ini dateien nicht.

Ich habe das jetzt versucht, doch leider musste ich feststellen das es nicht Funktiuniert.
Mache ich etwas Falsch?
Ich hab das Skript im PlyrCivilian ordner, müsste doch eigentlich richtig sein, oder?


//////////////////////////////
Edit:

Ich habe bereits eine Lösung gefunden.
Das Problem war der Wourldbuilder.
Ich hatte den Befehl 'Command_Stop' aus der dortigen Liste rausgesucht, der Wourldbulider zeigte den Befehl zwar korrekt an,
setzte ihn aber nicht in die Tat um.
Nur wenn man den Befehl 'Command_Stop' von Hand eingibt funktioniert das Skript, dann stehen vor dem Skript drei Fragezeichen: [???]
Das sieht dann so aus:

Code:
** WENN **
    Wahr.
*** DANN ***
  [???] KommandoSchalter : 'Command_Stop' hinzufuegen an ALLE Obj. vom Typ 'AmericaVehicleChinook' in Slotnummer  1  (1-12).
  [???] KommandoSchalter : 'Command_Stop' hinzufuegen an ALLE Obj. vom Typ 'AmericaVehicleChinook' in Slotnummer  2  (1-12).
  [???] KommandoSchalter : 'Command_Stop' hinzufuegen an ALLE Obj. vom Typ 'AmericaVehicleChinook' in Slotnummer  3  (1-12).
  [???] KommandoSchalter : 'Command_Stop' hinzufuegen an ALLE Obj. vom Typ 'AmericaVehicleChinook' in Slotnummer  4  (1-12).
  [???] KommandoSchalter : 'Command_Stop' hinzufuegen an ALLE Obj. vom Typ 'AmericaVehicleChinook' in Slotnummer  5  (1-12).
  [???] KommandoSchalter : 'Command_Stop' hinzufuegen an ALLE Obj. vom Typ 'AmericaVehicleChinook' in Slotnummer  6  (1-12).
  [???] KommandoSchalter : 'Command_Stop' hinzufuegen an ALLE Obj. vom Typ 'AmericaVehicleChinook' in Slotnummer  7  (1-12).
  [???] KommandoSchalter : 'Command_Stop' hinzufuegen an ALLE Obj. vom Typ 'AmericaVehicleChinook' in Slotnummer  8  (1-12).
  [???] KommandoSchalter : 'Command_Stop' hinzufuegen an ALLE Obj. vom Typ 'AmericaVehicleChinook' in Slotnummer  9  (1-12).
  [???] KommandoSchalter : 'Command_Stop' hinzufuegen an ALLE Obj. vom Typ 'AmericaVehicleChinook' in Slotnummer  10  (1-12).
  [???] KommandoSchalter : 'Command_Stop' hinzufuegen an ALLE Obj. vom Typ 'AmericaVehicleChinook' in Slotnummer  11  (1-12).
  [???] KommandoSchalter : 'Command_Stop' hinzufuegen an ALLE Obj. vom Typ 'AmericaVehicleChinook' in Slotnummer  12  (1-12).
  [???] KommandoSchalter : 'Command_Stop' hinzufuegen an ALLE Obj. vom Typ 'AmericaVehicleChinook' in Slotnummer  13  (1-12).
  [???] KommandoSchalter : 'Command_Stop' hinzufuegen an ALLE Obj. vom Typ 'AmericaVehicleChinook' in Slotnummer  14  (1-12).
 
Last edited:
Nov 28, 2007
1,724
1
215
Bad Hersfeld
Das was du dort bemerkt hast ist ein Worldbuilder Bug. Der WB spinnt manchmal rum und macht bei Command Buttons hinter die Bezeichnung einen Absatz, wenn man sie aus der Dropdown Liste wählt. Im WB selber wird dieser Absatz entweder als dicker "|" angezeigt oder als Rechteck, oder eben als.. Absatz^^

Meld dich ruhig wieder wenns irgendwo brennt. Freut mich, dass sich mal wieder jemand für den WB interessiert ;)
Aber ab Freitag Abend musst du auf mich verzichten, da ich da ne Woche Ski fahr
 
Jun 4, 2006
57
0
0
Zürich
Frage 7:

So und jetzt (noch vor Freitagabend ^^) hab ich ein richtig grosses Problem.
Ich bin immer noch an dieser Map beschäftigt bei der ich wollte das Einheiten Spawen wenn man der Basis zu nahe kommt.
Das ganze Funktioniert eigentlich ganz gut, die Einheiten Spawen wenn man ins Areal kommt und dann wird die Funktion 15min gesperrt, wenn man noch im Areal ist oder wieder rein geht Spawen sie wieder.
Das ganze natürlich noch an die Bedingung geknüpft das entweder die Kommandozentrale, die Kaserne oder die Waffenfabrik in der Base stehen muss.
Wie gesagt es Funktioniert eigentlich wie gewünscht.
Das Problem ist allerdings das wenn man USA ist und Drop Zonen hat, diese scheiss Flieger als Einheit gezählt werden und somit das Skript auslösen.
Gibt es da irgendetwas das ich tun kann?
Ich weiss wenn man die Abfrage über Teams macht kann man zwischen Luft und Boden Einheiten unterscheiden.
Aber wenn die Abfrage auf Spieler bezogen ist klappt das leider nicht.
Ich bin völlig verzweifelt.

Die Karte wollte ich eigentlich nicht Online stellen.
(hat ein bisschen schleich Werbung drin, ist aber nicht meine Firma)
Aber ich denke bei so komplexen Sachen ist es einfacher direkt die Skripts zu sehen.
Zu finden sind sie unter "SkirmishAmerica/Verteidigung Base 01" also diese dort drin sind natürlich nur für die Base 1 (ganz Links oben)
Die Skripts "America Vert. 01_pl0" bis "America Vert. 01_pl7" werden durch die Skripts im Ordner: "PlyrCivilian/Start Pos1" aktiviert.
Die Skripts im Ordner "PlyrCivilian/Start Pos1" überprüfen welcher Spieler an Position 1 Startet und aktivieren dann das jeweilige Skript im Ordner "SkirmishAmerica/Verteidigung Base 01" welches den Spieler Ignoriert der an Position 1 Startet.

Also zum Beispiel das Skript: "America Vert. 01_pl5"

Code:
** WENN **
    [???] Spieler player0  hat Einh. im  Areal 'Base01'.
  ** ODER **
    [???] Spieler player1  hat Einh. im  Areal 'Base01'.
  ** ODER **
    [???] Spieler player2  hat Einh. im  Areal 'Base01'.
  ** ODER **
    [???] Spieler player3  hat Einh. im  Areal 'Base01'.
  ** ODER **
    [???] Spieler player4  hat Einh. im  Areal 'Base01'.
  ** ODER **
    [???] Spieler player6  hat Einh. im  Areal 'Base01'.
  ** ODER **
    [???] Spieler player7  hat Einh. im  Areal 'Base01'.
*** DANN ***
  Aktivier Skript 'America Vert. 01' 
  Aktivier Skript 'America Vert. 01 MS' 
  Aktivier Skript 'America Vert. 01 S' 
*** SONST **
  Deaktiv. Skript 'America Vert. 01'.
  Deaktiv. Skript 'America Vert. 01 MS'.
  Deaktiv. Skript 'America Vert. 01 S'.

Hier fehlt die Abfrage für Player 5 da es bei Player 5 in diesem Fall der ist welcher an Startposition 1 Startet.
Und in den Skripts die nachher aktiviert werden erstellt bloss noch die Instanz der zur Verteidigung benötigten Teams.
Es sind drei Skripts da die unteren zwei nur bei Mittel und Schwer bzw. nur bei Schwer aktiviert werden.

Ich hoffe die Infos reichen um sich zu Recht zu finden.

//////////////////////////////
Edit:
Anhang entfernt.
 
Last edited:
Nov 28, 2007
1,724
1
215
Bad Hersfeld
Pfff richtig großes Problem :D

Bitch, please :p

Nimm einfach mal Spieler -> Areal -> Spieler hat Wert in Areal (oder so ähnlich, jedenfalls #3) und trag bei Wert GREATER THAN (GRÖßER ALS) 0 ein.

Somit spielen nur noch Einheiten eine Rolle, die etwas Wert ($$$) sind bzw. denen man einen Wert ($$$) zugeordnet hat. Der CargoPlane gehört defintiv nicht dazu.
 
Jun 4, 2006
57
0
0
Zürich
Dieses Forum kann verdammt dankbar sein das sie dich haben.
Ich hatte gedacht das wird was verdammt kompliziertes xD
So Vielen Dank und viel Spass beim Ski fahren.
 
Jun 4, 2006
57
0
0
Zürich
Frage Nr. 8

Wenn extrem viele Einheiten auf dem Schlachtfeld sind kommt es oft zu Laggs.
Ich möchte diese verhindern und dazu habe ich wahrscheinlich die Passende Funktion gefunden.

Im Deutschen WB: Skripts --> DarstellungsEigenschaften --> Bilderanzahl pro Sekunde setzen.
"Setze BPS auf 0 . (0 = Standart)"

Im Englishen WB: Scripting --> Set max frames per second
"Set max FPS to 0 . (0 sets to default.)"

Normal sind glaube ich 60 also könnte ich das auf 30 einstellen (wie es auch in den Missionen ist) und es würde deutlich besser laufen, oder?
Ich möchte nichts Unüberlegtes machen, das sich dann eventuell nicht mehr rückgängig machen lässt.
Daher Frage ich anstelle es einfach auszuprobieren. (und weil es auch ziemlich lange dauert bis man am Punkt ist bei dem Lags beginnen ^^)
 
Nov 28, 2007
1,724
1
215
Bad Hersfeld
Wenn die lags von zu vielen einheiten verursacht werden, dann kannst du da nicht viel machen. Ab einem bestimmten punkt wird das spiel einfach instabil.

Mit diesen Frames per Second stellst du nur die Geschwindigkeit der Map ein und nichts anders. Übrigens funktioniert dieses script nicht, sobald du versuchst die karte im Lan- oder Onlinemodus zu spielen.

dieses script ist genauso als wenn du im gefechtsbildschirm diesen schieberegler für die geschwindigkeit verstellst. es wird vielleicht weniger laggen, eben weil die FPS konstant niedrig sind (und der FPS wert nicht mehr hin und her springt) aber dafür läuft das spiel dann halt seeeehr langsam.

Lad am besten mal die Map und nen Savegame hoch wo es grad richtig laggt.

Ich guck mal ob das wirklich einfach nur an zu vielen Einheiten liegt.