period-timer?

SS 2 Forum für Scripte und den Mapeditor.
Wolfsschanze

period-timer?

Beitrag von Wolfsschanze » 10.07.2004, 23:43

Hallo Kameraden,

vielen Dank für eure Unterstützung - habe punkt 1+2 abgeschlossen, funzt auch bei LKW mit Kanonen :D

Doch leider klappt s immer noch nicht mit der Ari!

oben: mission start
unten:start timer 1 to 00.00.10
set period of timer 1 into 00.00.15
fire a volley by howitzer of group E1 into Zone 8
fire a volley by howitzer of group E1 into objekt 8

Die Schiessen nur 1 mal!?!?!?
Was mache ich nur FALSCH? Setze ich den period-timer richtig? oder gehört oben time from start ov the mission is-------

2. Kann man auch GEGNERISCHE Züge einfahren lassen? beim Spieler klappts schon :D N script von euch wäre toll!

Wiederum Vielen Dank für eure tolle Unterstützung!!

So Zapfenstreich Wolfsschanze Ende


Benutzeravatar
-STW-Big Daddy
Oberfeldwebel
Oberfeldwebel
Beiträge: 407
Registriert: 24.12.2002, 03:37
Wohnort: Germany
Kontaktdaten:

Beitrag von -STW-Big Daddy » 11.07.2004, 00:46

Hy Wolfsschanze.

Schick einfach die VERSTÄRKUNG mit´m Zug dem GEGNER :wink: und nich dem SPIELER. Schon hat der GEGNER nen ZUG.

Das mit dem TIMER kann ich dir nich genau sagen. Hab damit noch nich so oft gearbeitet. Werd es aber mal Abchecken.

Meld mich wieder wenn ich was weiß. :lol:

aber bis dahin wird sich mit 99,9% Sicherheit GEHTNIX schon zu Wort gemeldet haben. :wink:

Gehtnix

Beitrag von Gehtnix » 12.07.2004, 13:39

periodisierter timer

Als erstes timer starten z.B. Abfrage:"Missions start" oder nicht und die Abfrage nach der Zeit eingeben! :idea:
time from start of the mission is more than 00:00:10
-----------------------------------------
-----------------------------------------
Ausführung:
-----------------------------------------
exclude this condition
start timer 1 to 00:00:10

hier kannst du das Verhalten mit eingeben, wenn man will!
set E1 AI. group into Infantry Howitzer crew
set E1 AI. group location 1 into "0" ->(oder eine Zone wo die Ari steht)
set E1 AI. group location 2 into "8" ->( Zone auf die gefeuert werden soll)
----------------------------------------------------------
----------------------------------------------------------
Neuer Scriptsatz, Abfrage:
---------------------------------
timer elapsed 1
---------------------------------
Ausführung:
---------------------------------
set period of timer 1 into 00:00:30
fire a volley by howitzer of group E1 into Zone 8
fire a volley by howitzer of group E1 into Zone 8
fire a volley by howitzer of group E1 into Zone 8
-------------------------------------------------------------
-------------------------------------------------------------
Nun schießen in diesem Beispiel 3 Haubitzen der Gruppe E1 alle 30 Sekunden je 1X in Zone 8, bis die Munition verschossen ist oder du den timer stoppst!
Wenn drei Haubitzen schießen sollen sollten auch drei mindestens da sein!
Haubitzen und die Besatzung gleiche Gruppennummer :!:
Das Verhalten der Haubitzen könnte man auch noch unter Missionsoptionen -> Gruppen eingeben!

Hast du auf der Karte noch an anderer Position Haubitzen stehen mit der Gruppennummer E1 werden die schießen die am "günstigsten" stehen oder zu erst schußbereit sind, wenn du Zone "0" als Ausgangszone angibst!
Die Abfrage beinhaltet keine Bestimmte "Bedingung" z.B. das Einheiten in der Zone sein müssen, so feuert die Ari was auch immer in der Zone sich abspielt! :roll:
Schönen Gruß

Wolfsschanze

Period Timer

Beitrag von Wolfsschanze » 13.07.2004, 19:04

Hallo Kamerad,

wow respekt das geht nun wie geschmiert :D

Vielleicht kannst du noch mein Script mit dem Zug was ich schon am 11.07.04 geschrieben habe anschauen! :P

Vielen Dank im voraus und Merci nochmal für die gigantische Erklärung da lässt du wirklich nix offen!

Servus Wolfsschanze

Benutzeravatar
-STW-Big Daddy
Oberfeldwebel
Oberfeldwebel
Beiträge: 407
Registriert: 24.12.2002, 03:37
Wohnort: Germany
Kontaktdaten:

Beitrag von -STW-Big Daddy » 13.07.2004, 19:17

Jo.

Der GEHTNIX der kann´s. :roll:


Gehtnix

Beitrag von Gehtnix » 13.07.2004, 19:27

Hi
... der Gehtnix der kann's ... auch nicht alles, siehe Zug, aber Ich werde Ihn mir noch mal in Ruhe ansehen, wenn Ich mit meiner Map so weit bin! :twisted: :twisted: :twisted:

Schönen Gruß

Benutzeravatar
-STW-Big Daddy
Oberfeldwebel
Oberfeldwebel
Beiträge: 407
Registriert: 24.12.2002, 03:37
Wohnort: Germany
Kontaktdaten:

Beitrag von -STW-Big Daddy » 13.07.2004, 20:17

Na uff die bin ich ja mal gespannt. :lol:

Wenn die so wird wie deine Erklärungen dann wird das ein Hammerteil.

Gehtnix

Beitrag von Gehtnix » 14.07.2004, 09:18

Hi Big Daddy 74

... wenn die Map nicht so wird, kann Ich ja erklären warum dies so ist ... lol ... :roll:

Schönen Gruß

Benutzeravatar
-STW-Big Daddy
Oberfeldwebel
Oberfeldwebel
Beiträge: 407
Registriert: 24.12.2002, 03:37
Wohnort: Germany
Kontaktdaten:

Beitrag von -STW-Big Daddy » 14.07.2004, 22:16

Die wird schon. Da bin ich mir zu 90% sicher :lol: Werd sie mir aber zu 1000% saugen + Bewertung.
Kann ich dir jetz schon versprechen 8)

Benutzeravatar
Panzergrenadier
Oberst (Moderator)
Oberst (Moderator)
Beiträge: 1033
Registriert: 01.09.2003, 17:38
Wohnort: Bayern Mittelfranken
Kontaktdaten:

Beitrag von Panzergrenadier » 07.07.2008, 13:22

Habe versucht einen periodisierten Timer hinzubekommen klappt aber einfach nicht.

Die Schiffsartillerie soll für eine gewisse Zeit schießen und sobald die Truppen die Zone 33 erreicht haben aufhören.
Sie schießt aber trotzdem weiter.

Folgendes habe ich gemacht:

Script-1
--------
Auslöser:
value in cellC_0exactlyNumber 1

Ausführung:
exclude this condition
start timer #57 to 00:00:10
--------

Script-2
--------
Auslöser:
timer elapsed #57

Ausführung:
set period of timer #57 into 00:00:20
fire a volley by Katyusha of group I2 into object #0
fire a volley by howitzer of group I2 into object #0
fire a volley by Katyusha of group I2 into object #1
fire a volley by howitzer of group I2 into object #1
--------

Script-3
--------
Auslöser:
more than0units of player PLAYER in location #33

Ausführung:
exclude this condition
stop timer #57
--------


Freue mich über eure (kommende) Hilfe :wink:

Gruß

Dominik
Zuletzt geändert von Panzergrenadier am 07.07.2008, 19:35, insgesamt 1-mal geändert.
Bild
Bild


Verkauf deinen Kühlschrank und fahre in die Welt hinaus.
Wojciech Cejrowski

Benutzeravatar
marde
Leutnant
Leutnant
Beiträge: 510
Registriert: 25.05.2005, 20:37
Wohnort: Schwaben Württemberg
Kontaktdaten:

Beitrag von marde » 07.07.2008, 18:27

@ Dominik : Mit Stop Timer 55 kannst du doch nicht Timer 57 beenden ! :wink:

Benutzeravatar
Panzergrenadier
Oberst (Moderator)
Oberst (Moderator)
Beiträge: 1033
Registriert: 01.09.2003, 17:38
Wohnort: Bayern Mittelfranken
Kontaktdaten:

Beitrag von Panzergrenadier » 07.07.2008, 19:36

Habs ausgebesser :wink:

Wo ich mit meinen Gedanken manchnmal bin :D
Hat keiner Rat?

Gruß

Dominik
Bild
Bild


Verkauf deinen Kühlschrank und fahre in die Welt hinaus.
Wojciech Cejrowski

Benutzeravatar
Packard
Leutnant
Leutnant
Beiträge: 545
Registriert: 15.01.2008, 12:44
Wohnort: Berlin

Beitrag von Packard » 07.07.2008, 22:11

Dominik, ich hatte mit folgendem einfachen Verfahren Erfolg:


wenn:
Mission start

dann:
Set period of timer 1 to 00:01:00
Start Timer 1 to 00:01:00

wenn:
Timer elapsed 1

dann:
Wasimmermanwill


Nun wird Timer 1 elapsed alle 1 min ausgeführt. Der Trick ist einfach, daß man oben bei beiden den gleichen Wert angibt.

Will man in unregelmäßigen Abständen eine bestimmte Aktion gibt es eine Erweiterung:

wenn:
Mission start

dann:
Set period of timer 1 to 00:03:00
Start Timer 1 to 00:03:00
Set period of timer 2 to 00:05:00
Start Timer 2 to 00:05:00
Set period of timer 3 to 00:07:00
Start Timer 3 to 00:07:00



wenn:
Timer elapsed 1 OR Timer elapsed 2 OR Timer elapsed 3

dann:
Wasimmermanwill

Klar, daß man die Werte paarweise ändern kann oder auch noch mehr Timer mit anderen Werten benutzen kann. Ich berichte hier nur von einer Methode die bei mir funktioniert hat. Es gibt bestimmt noch bessere Tricks.

Bei deinem speziellen Fall könnte man noch zusätzlich eine Variable einbeziehen um die Ausführung zu starten und zu stoppen:

wenn:
Mission start

dann:
Set period of timer 1 to 00:01:00
Start Timer 1 to 00:01:00

wenn:
Timer elapsed 1 AND C_1= Number 1

dann:
Wasimmermanwill

Nun kann man bequem über C_1 steuern, ob die Impulse des Timers zum Anlaß für Wasimmermanwill benutzt werden.

-gehtnix-
Oberst (Moderator)
Oberst (Moderator)
Beiträge: 1616
Registriert: 10.09.2007, 11:16

Beitrag von -gehtnix- » 08.07.2008, 09:37

@ Panzergrenadier
Zur Kontrolle ob deine Scripte ausgeführt werden solltest du in deinen Tests, dort wo du dir nicht sicher bist ob die Scripte greifen, einfach eine Meldung mit einsetzen!

Dein Script:
Entweder hat man es mit einer Ari oder Katyusha zu tun, beides in einer Gruppe sollte nie sein!
Auf den Schiffen hast du es mit Ari zu tun!
Die Zeitspanne von 20 Sekunden zur Ausführung reicht nicht aus zwei Salven auf unterschiedliche Ziele zu feuern, so kommt die Ausführung in Warteschleife ...!
Hier liegt wohl der Grund warum der Timer nicht beendet wird ... die Schleife führt aus ... und startet nach dem eigentlichen Abbruch den Timer wieder ...

Im Anhang CDV Original:
Mission 001 ist etwa nach deinen Vorstellungen ... mein ich :roll:
Mission 000 ist noch ein "altes" Beispiel einer ehemaligen Anfrage ....

Warum steht im Script einiges in "Absicherung" weil ich dies mittlerweile für notwendig ansehe, die Spieler lernen dazu so sollten Scripte eigentlich noch mehr in Sicherung genommen werden, dass sie zur Ausführung kommen, egal was kommt ... auf vollständig wie korrekte Absicherung habe ich hier aus Zeitmangel verzichtet ...

Du wirst sehen, dass die Ari noch feuert obwohl die Zone von den Spielereinheiten bereits betreten wurde und angezeigt wird es würde, dass feuern beendet! Dies liegt an der zu kurzen Zeitspanne die jeweils zwei Salven in 20 Sekunden erledigen zu sollen ... sieht es im Mod anders aus, liegt dies schlicht an den dort zu grunde liegenden Ladezeit Einstellungen für die Ari ...
Den Timer zu periodisieren ... ist geschehen, wenn auch nur über Start und Stop ... könnte man abwandeln, nur wozu? Solltest du mehrere Schiffsartellerien feuern lassen wollen könnte man es nachholen ...
Dateianhänge
Kreuzer 1.zip
(66.95 KiB) 216-mal heruntergeladen

-gehtnix-
Oberst (Moderator)
Oberst (Moderator)
Beiträge: 1616
Registriert: 10.09.2007, 11:16

Beitrag von -gehtnix- » 08.07.2008, 10:16

Packard

Dein Trick, erzeugt bei einer größeren Scriptfolge am ehesten einen BTW ... doppelt gemoppelt mag das Programm nicht ...
Einen Timer einmalig starten um diesen in der Ausführung gleich zu periodisieren, wäre angebrachter ohne zusätzlich einen Start zu scripten was völlig überflüssig ist und eben durchaus zu "Problemen" führen kann ... da ein periodisieren nicht in einem beendeten Scriptsatz steht und ein "normales" starten des Timers ein Ende haben muss, liegt hier der Auslöser für eben mögliche BTW`s ... warum funktioniert es mit abweichende Startzeiten wohl gar nicht erst?

Du kannst den Timer in der Ausführung wieder starten und beenden, damit wäre dann das periodisieren überflüssig ...

Da von mir große Karten bevorzugt werden ist ein Script meist mehrere hundert Sätze lang und bei einer solchen Mission werden alle Timer und Variablen benötigt, von daher verschenkt man keine Timer ...

Benutzt man einen Timer um periodiesiert eine Variable hoch zu zählen, kann diese nun ungleichmäßig Scripte auslösen!
Angenommen man schaltet den Timer alle 15 Sekunden und zählt zur Variablen 1 einen Wert von 1 hinzu, so kann man in gleichem Abstand 4 Schaltungen pro Minute ausführen lassen oder innerhalb einer Stunde die 240 Werte auf ungleiche Weise schalten, einmal bei 10, 30, 45, 70, 100, 105, 125, 155, 170, 205, 239 z.B., sowie weitere Werte für andere Ausführungen!
Damit man nicht zu weit "denken" muss, schaltet man den Wert zu einem beliebigen Wert zurück auf "0", wenn gewollt und läßt die Abläufe wiederholen!


Antworten

Zurück zu „Sudden Strike 2 Mapeditor / Scripte“