Respawnscript für Fahrzeuge
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,
im Zuge meiner Missionsentwicklung habe ich ein Respawnscript geschrieben, mit dem Fahrzeuge nachdem sie zerstört oder zurückgelassen wurden einfach neu spawnen lassen kann. Das ist mein erstes Script das ich veröffentliche und es gibt sicherlich noch einiges zum verbessern. Zur Benutzung: Einfach in die Initzeile eines Fahrzeuges folgenden Aufruf: Code:
nul = [this, 15,60] execVM "vehicle_respawn.sqf"; Das Script sollte auf Dedizierten Servern funktionieren. Bekannte Fehler: - Wenn Fahrzeuge unterhalb von Gebäuden (z.B. Tankstellen) oder auf schrägem Terrain gesetzt werden, spawnen sie erneut ein paar Meter weiter weg. Eine Beispielmission hängt mit dran. Edit: ihr dürft das Script natürlich ohne Rückfrage verwenden und bearbeiten, aber bitte meinen Namen als Ersteller drinlassen. |
Zitat:
Es müsste reichen so ein Skript einmal aufzurufen. Für diese Anwendung ist der Befehl waitUntil {} recht brauchbar. Code:
Position und Richtung in der Basis sichern; //warten bis Zeit abgelaufen oder Fahrzeug wieder besetzt waitUntil {Zeit abgelaufen or count crew _vehicle > 0}; ...or {alive _x} count crew _vehicle > 0 ist zu verwenden oder man entfernt vor der Abfrage eventuelle Tote aus dem Fahrzeug; {if(!alive _x)then{moveOut _x}}forEach crew _vehicle; |
Hey JoeJoe,
hab dein Script für meine Mission mal ausprobiert. Funktioniert soweit auch ganz gut, nur bekomme ich wenn ein Fahrzeug zerstört wurde die Fehlermeldung: "Script scripts\verhicle_respawn.sqf not found", das Fahrzeug wird allerdings trotzdem neu gespawnt. Beim spawnen nach dem verlassen eines Fahrzeuges erscheint die Fehlermeldung nicht. Gruß |
Ah gut das du das gemerkt hast :D. Da steht ein Pfad fest im Script, den muss ich noch ändern. Abhilfe bis dahin, das Script in deinem Missionsordner in den Ordner scripts packen.
|
Liste der Anhänge anzeigen (Anzahl: 1)
So ich hab das Script angepasst und ein Kommentar eingefügt, welche Zeile mein ändern muss um einen eigenen Scriptordner zu verwenden.
|
Du erstellst in der Schleife deines Skripts Abfragen, für welches es mit den Befehlen von Arma einfachere Möglichkeiten gibt.
Code:
// Fahrzeug-Respawn wenn stark beschädigt oder unbesetzt. [Vienna 11.03.2013] |
Was muss ich machen damit dass Fahrzeug nur neu gespawnt wird wenn es zerstört wurde? :)
|
Kannste in dem Fall nicht sogar einfach die Standardfunktion verwenden?
http://community.bistudio.com/wiki/respawnVehicle |
Nicht wirklich, wenn man RespawnVehicle benutzt landet das Fahrzeug bei einem Zentralen marker und nicht an irgendeiner gewünschten Position. Da kann ich auch mein Script nehmen.
|
Ach stimmt da war ja was.
Könnte man aber mit nem Respawn Eventhandler lösen und das Fahrzeug dann an die gewünschte Stelle bewegen. Aber ok wenn es dann schon so anfängt macht man sich wohl doch einfach gleich nen eigenes Script. :confused: Hier ist noch nen altes Fahrzeug-spawnscript das ich noch rumliegen hatte: PHP-Code:
Wenn du also an dieser Stelle die Zahlen veränderst, kannst du diese Bedingungen beliebig anpassen: PHP-Code:
Ist es zerstört, spawnt es bereits nach 10 sekunden. (sollte selbsterklärend sein) |
Ah sehr genial Tajin. Genau das, was ich für das Clan-ArmA-III-Bootcamp benötige.
Danke dafür ! |
Keine Ursache.
Hab grad gesehen das es den original Thread davon sogar noch gibt: Vehicle Respawn with Name & Init Kaum zu glauben wie lang das schonwieder her ist. :komisch: |
Wie aus Tajins Post ersichtlich, sind Fahrzeuge oft schon unbrauchbar bevor sie zerstört wurden. Ein Auto kann z.B. durch einen zerschossenen Reifen bereits unbrauchbar sein. Wobei die Beschädigung unter 5% liegt.
Folgend ein Skirpt welches bereits nicht mehr brauchbare Fahrzeuge erneuert. canFire wurde dabei nicht berücksichtigt, weil hier bei einem unbesetzten Fahrzeug false angezeigt wird. Beim Skript-Aufruf ist auch einstellbar ob das alte Fahrzeug gelöscht werden soll und wie oft ein Respawn möglich ist. Skript Fahrzeug_Respawn_2.sqf Code:
// Fahrzeug-Respawn wenn Fahrzeug zerstört oder unlenkbar. [Vienna 12.03.2013] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:55 Uhr. |
Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias