Jump to content

ME: Nachladezeit des SMERCH verringern?


Nalfeyn

Recommended Posts

Gibt es eine Möglichkeit die Nachladezeit, eventuell mit einem Script ö.Ä., der Smerch-Artillerie zu verringern? Die Nachladezeit beträgt zur erneuten Schussabgabe ungefähr 40 Minuten. Das ist mir ehrlich gesagt zu lange.

Link to comment
Share on other sites

Weiß aus dem Kopf jetzt nicht ob es da ne Datei gibt, wo die Reload-time drin steht.

 

Wo du aber gerade script erwähnst, du kannst ja die Einheiten nach dem Feuern de-spawnen und neue, volle Smerch spawnen lassen.

 

Musst du dich mal durchs MOOSE Discord clicken und fragen.

Vielleicht geht das damit. Oder mit CTLD. Kenne mich da nicht aus.

Alias in Discord: Mailman

Link to comment
Share on other sites

Es geht mir auch nicht um den Schaden, die sie anrichten sollen ... sondern eher um einen "Cinematic Effekt". Der Spieler soll bei der Mission das Gefühl haben: Ah! Da passiert was.

 

Ich würde auch gerne eine Einschlagszone triggern lassen, sobald die Raketen der Artillerie an ihrem Ziel ankommen, allerdings kann ich die Raketen der SMERCH nicht in den auswählbaren Optionen des Triggers "Rakete in Zone" finden.

Link to comment
Share on other sites

Gemäß Wikipedia dauert das Nachladen eines BM-30 Raketensystems 36 Minuten. Ergo ist das in DCS recht realistisch umgesetzt. Aber ich verstehe natürlich, daß du etwas für den Effekt brauchst.

Ich benutze keine Signa...dingens..gedöns...

Link to comment
Share on other sites

Wie Bananabrai schon sagte, müsstest Du per Script die Gruppe respawnen.

 

Mit MOOSE sähe das zum Beispiel so aus (viele Wege führen nach Rom):

 

 local arty=ARTY:New("Smerch Group")
 arty:Start()
 
 local TargetCoord=ZONE:New("Target Zone"):GetCoordinate()
 
 arty:AssignTargetCoord(TargetCoord, 50, 300, 12)
 
 function arty:OnAfterWinchester(Controllable,From,Event,To)
   arty:Respawn()   
   arty:AssignTargetCoord(TargetCoord, 50, 300, 12)
 end

wobei die Gruppe "Smerch Group" heißt und "Target Zone" eine trigger zone im ME ist.

 

Die Funktion OnAfterWinchester wird immer aufgerufen, sobald die Gruppe keine Munition mehr hat. Docs der ARTY Klasse.

A warrior's mission is to foster the success of others.

i9-12900K | MSI RTX 3080Ti Suprim X | 128 GB Ram 3200 MHz DDR-4 | MSI MPG Edge Z690 | Samung EVO 980 Pro SSD | Virpil Stick, Throttle and Collective | MFG Crosswind | HP Reverb G2

RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss

Link to comment
Share on other sites

Wie Bananabrai schon sagte, müsstest Du per Script die Gruppe respawnen.

 

Mit MOOSE sähe das zum Beispiel so aus (viele Wege führen nach Rom):

 

 local arty=ARTY:New("Smerch Group")
 arty:Start()
 
 local TargetCoord=ZONE:New("Target Zone"):GetCoordinate()
 
 arty:AssignTargetCoord(TargetCoord, 50, 300, 12)
 
 function arty:OnAfterWinchester(Controllable,From,Event,To)
   arty:Respawn()   
   arty:AssignTargetCoord(TargetCoord, 50, 300, 12)
 end

wobei die Gruppe "Smerch Group" heißt und "Target Zone" eine trigger zone im ME ist.

 

Die Funktion OnAfterWinchester wird immer aufgerufen, sobald die Gruppe keine Munition mehr hat. Docs der ARTY Klasse.

 

Ich werde es mal versuchen.

Link to comment
Share on other sites

Also irgendwie respawnen sie nicht nachdem sie alles weggeschossen haben ...

Ich hatte das Skript vorher getestet und es macht was es soll. Wenn's bei Dir nicht läuft, häng mal die Mission an, so dass man nachvollziehen kann woran es evtl. hakt.

A warrior's mission is to foster the success of others.

i9-12900K | MSI RTX 3080Ti Suprim X | 128 GB Ram 3200 MHz DDR-4 | MSI MPG Edge Z690 | Samung EVO 980 Pro SSD | Virpil Stick, Throttle and Collective | MFG Crosswind | HP Reverb G2

RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss

Link to comment
Share on other sites

Ich hatte das Skript vorher getestet und es macht was es soll. Wenn's bei Dir nicht läuft, häng mal die Mission an, so dass man nachvollziehen kann woran es evtl. hakt.

 

 

Also ich muss einen Trigger erstellen (Missionsstart), mit der Regel (Mehr Zeit=5) und Skript ausführen (Moose.lua).

 

Dann erstelle ich einen weiteren Trigger und kopiere da das Script rein?

Mit welchem Trigger und welchen Regeln?

 

Bei dem Script tausche ich ("Smerch Group") in ("RUS ART GRP/1") - da das der Gruppenname meiner Artillery ist.

 

Die ("Target Zone") tausche ich mit ("ZONE 1"), da so meine Triggerzone heißt.

 

Dann sollte doch alles laufen, oder?

Link to comment
Share on other sites

Er sagt mir immer:

 

[string "local Arty=ARTY:new("Merch Group")...*]:1: attempt to index global 'arty' (a nil value)

stack traceback:

[C]: ?

[string "local arty=ARTY:new("Merch ....... in main chunk

Lua ist case sensitive! ARTY:new("Gruppenname") gibt es zum Beispiel nicht. Schau Dir noch mal genau das Beispiel an, was ich gegeben habe und vergleiche mit Deinem Skript. Die Gruppen und Zonen kannst Du natürlich nennen, wie Du willst. Aber bei der Schreibweise der Befehle muss man sehr genau aufpassen.

 

Hoffe es klappt. Wenn nicht, sag Bescheid :)

A warrior's mission is to foster the success of others.

i9-12900K | MSI RTX 3080Ti Suprim X | 128 GB Ram 3200 MHz DDR-4 | MSI MPG Edge Z690 | Samung EVO 980 Pro SSD | Virpil Stick, Throttle and Collective | MFG Crosswind | HP Reverb G2

RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss

Link to comment
Share on other sites

Lua ist case sensitive! ARTY:new("Gruppenname") gibt es zum Beispiel nicht. Schau Dir noch mal genau das Beispiel an, was ich gegeben habe und vergleiche mit Deinem Skript. Die Gruppen und Zonen kannst Du natürlich nennen, wie Du willst. Aber bei der Schreibweise der Befehle muss man sehr genau aufpassen.

 

Hoffe es klappt. Wenn nicht, sag Bescheid :)

 

 

 

Ja, ich habe dein Script 1 zu 1 kopiert und lediglich die Namen in den " " ausgetauscht.

Die Fehlermeldung habe ich einfach nur abgeschrieben.

 

 

Okay, ist aber gut zu wissen, dass Lua case sensitive ist.

 

 

Für mein Verständnis:

 

 

local arty=ARTY:New("Group")

Erstellt er mir eine Gruppe/Objekte auf der Map mit dem Namen "Group"?

Oder teile ich dem Script mit, dass meine Gruppe (bereits plaziert) mit dem Namen "Group" nun im Script die local arty Gruppe sein soll?

 

 

local TargetCoord=ZONE:New("Target Zone"):GetCoordinate()

Erstellt das Script eine Triggerzone mit diesem Namen für mich, oder muss ich eine Triggerzone mit dem Namen "Target Zone" erstellen und diese dann im Script zuweisen (siehe oben)?

Wofür genau ist die Zone?

Link to comment
Share on other sites

Ja, ich habe dein Script 1 zu 1 kopiert und lediglich die Namen in den " " ausgetauscht.

Die Fehlermeldung habe ich einfach nur abgeschrieben.

 

 

Okay, ist aber gut zu wissen, dass Lua case sensitive ist.

 

 

Für mein Verständnis:

 

 

local arty=ARTY:New("Group")

Erstellt er mir eine Gruppe/Objekte auf der Map mit dem Namen "Group"?

Oder teile ich dem Script mit, dass meine Gruppe (bereits plaziert) mit dem Namen "Group" nun im Script die local arty Gruppe sein soll?

 

 

local TargetCoord=ZONE:New("Target Zone"):GetCoordinate()

Erstellt das Script eine Triggerzone mit diesem Namen für mich, oder muss ich eine Triggerzone mit dem Namen "Target Zone" erstellen und diese dann im Script zuweisen (siehe oben)?

Wofür genau ist die Zone?

 

Zum Verständnis:

local arty=ARTY:New("Group")

Die Funktion wird sich die Gruppe "Group" schnappen und in eine für MOOSE-intern relevante Dinge MOOSE Gruppe umwandeln. Die legt er dann in "arty" ab.

Kurz gesagt setzt das voraus, dass deine Gruppe entsprechend "Group" heisst und bereits im Mission Editor platziert wurde.

 

local TargetCoord=ZONE:New("Target Zone"):GetCoordinate()

Hier sollte (sofern ich das richtig im Kopf habe) ebenfalls die Zone bereits auf der Map liegen. Achte auch hierbei wieder auf den Namen der Trigger Zone, case-sensitive!

 

Was auch sein kann ist, dass der Editor dein Skript ausführt, bevor MOOSE richtig geladen wurde. In meinen Missionen mache ich immer einen Trigger, der MOOSE, MIST etc. lädt. Ein weiterer Trigger mit Condition TIME MORE(5) führt dann alle Skripte aus, die auf den Bibliotheken aufbauen.

 

Sofern dein Code also syntaktisch korrekt ist, versuch's mal folgendermaßen:

 

1) Bau einen Trigger mit TIME MORE(1) der als Aktion DO SCRIPT FILE(MOOSE.lua) ausführt

2) Bau einen zweiten Trigger mit TIME MORE(4) oder ner anderen, etwas längeren Zeitspanne, der dann dein Skript ausführt

 

..Dann sollte es auch klappen. =)


Edited by Fencer94
Link to comment
Share on other sites

Sofern dein Code also syntaktisch korrekt ist, versuch's mal folgendermaßen:

 

1) Bau einen Trigger mit TIME MORE(1) der als Aktion DO SCRIPT FILE(MOOSE.lua) ausführt

2) Bau einen zweiten Trigger mit TIME MORE(4) oder ner anderen, etwas längeren Zeitspanne, der dann dein Skript ausführt

 

..Dann sollte es auch klappen. =)

 

MOOSE sollte bei Missionsstart geladen werden. Gerade jetzt wo ED es geschafft hat, in DCS die Skripte auch ordentlich vor Beginn der Mission zu laden. Das erspart einige Workarounds. Das Missionsscript kann dann auch bei Missionsstart geladen werden, wenn es in der Triggerreihenfolge nach dem MOSSE-Skript kommt.

Link to comment
Share on other sites

MOOSE sollte bei Missionsstart geladen werden. Gerade jetzt wo ED es geschafft hat, in DCS die Skripte auch ordentlich vor Beginn der Mission zu laden. Das erspart einige Workarounds. Das Missionsscript kann dann auch bei Missionsstart geladen werden, wenn es in der Triggerreihenfolge nach dem MOSSE-Skript kommt.

 

 

 

Ich hab es mittlerweile hinbekommen und das script works like a charm.

Vielen dank dafür.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...