Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 10.10.2014, 04:57   #1 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.110
Standard Fahrzeugrespawn mit Namen

Moinsen.

Ich habe ein Problem. Und zwar geht es um ein Script, in welchem eine Fahrzeug nach einer Zeit an Ort und Stelle respawnen soll. Der Name das Fahrzeuges muss aber gleich bleiben, da ein Teleport dran hängt (also eine Art MHQ)

Irgendwie übergebe ich die Variable falsch.

Gestartet wird so
[MHQ1, 10] execVM "respawnauto.sqf"

Code:
// starten mir s = [namedasFahrzeuges, respawnzeit] execVM "script.sqf"
if (!isServer) exitWith {}; 
 private ["_vcl", "_dir", "_pos", "_respawnzeit", "_klasse"]; 
 _vcl = _this select 0;
 _respawnzeit = _this select 1; 
 _klasse = typeOf _vcl;
 _auto = vehicleVarName _vcl;  //Liest die Varibale aus
  while {true} do   
 { 
    
    
    hint format ["%1", _auto];  //testzeile, gibt richtige Variable aus
     waituntil {sleep 0.5; !alive _vcl};
     _pos = getPos _vcl; 
     _dir = getdir _vcl; 
     sleep _respawnzeit; 
     deletevehicle _vcl;
     waituntil {isnull _vcl};
     _vcl = _klasse createVehicle _pos;
     _vcl setVehicleVarName _auto; 
     _auto = _vcl;
     player sideChat format ["%1", _vcl]; //Testzeile, gibt richitige Variable aus
 };
Wenn ich mittels Auslöser mhq1 setdammage 1 setze, dann wird das Fahrzeug nur 1x gesprengt.
Würde ich alternativ das Fahrzeug sofort mit mhq= ... createVehicle... erstellen, würde des funktionieren. Das Script soll aber für 3 MHQ laufen.

Kann ich eine lokale Variable public machen? Denn laut Wiki muss nach erstellen des Fahrzeuges und der Variablensetzung, dieses an alle Clienten mitgeteilt werden.
__________________
Bewegende Momente bei ArmA 3
Drunken Officer ist offline  
Alt 10.10.2014, 09:31   #2 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Tajin
 
Registriert seit: 17.01.2008
Beiträge: 267
Standard

Probiers mal hiermit, die paar Änderungen könnten ausreichen:

PHP-Code:
// starten mir s = [namedasFahrzeuges, respawnzeit] execVM "script.sqf"
if (!isServerexitWith {}; 
private [
"_vcl""_dir""_pos""_respawnzeit""_klasse""_auto"]; 
_vcl _this select 0;
_respawnzeit _this select 1

while {
true} do { 
        
_klasse typeOf _vcl;
        
_auto vehicleVarName _vcl;  //Liest die Varibale aus
        
hint format ["%1"_auto];  //testzeile, gibt richtige Variable aus
    
waituntil {sleep 0.5; !alive _vcl};
        
_pos getPos _vcl
        
_dir getdir _vcl
        
sleep _respawnzeit
        
deletevehicle _vcl;
    
waituntil {isnull _vcl};
        
_vcl _klasse createVehicle _pos;
        
_vcl setVehicleVarName _auto
        
publicVariable _auto;
        
player sideChat format ["%1"_vcl]; //Testzeile, gibt richitige Variable aus
}; 
__________________
Tajin ist offline  
Alt 10.10.2014, 16:08   #3 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

In MP nicht getestet!

Skript: VehikelRespawn.sqf
Code:
// starten in Initzeile des Fahrzeuges: temp = [this,<respawnzeit>] execVM "VehikelRespawn.sqf"
//  Fahrzeug muss einen Namen haben!

sleep 1; 
if (!isServer) exitWith {}; 
private ["_vehikel","_respawnzeit","_klasse","_nameVehikel","_pos","_dir"]; 
_vehikel     = _this select 0;
_respawnzeit = _this select 1; 
_klasse      = typeOf _vehikel;
_nameVehikel = vehicleVarName _vehikel;  //Name des Vehikels als String
 
while {true} do   
 { 
  player groupChat format ["_vehikel: %1 | _nameVehikel: %2",_vehikel,_nameVehikel];  //Testzeile, gibt richtige Variable aus
  waituntil {sleep 0.5; !alive _vehikel};
  _pos = getPos _vehikel; 
  _dir = getdir _vehikel; 
  sleep _respawnzeit; 
  deletevehicle _vehikel;
  sleep 1;
  _vehikel = _klasse createVehicle _pos;
  _vehikel setVehicleVarName _nameVehikel;
  _vehikel setDir _dir;
  call compile format["%1 = _vehikel",_nameVehikel]; //fügt dem Namen die ObjektID hinzu!
  publicVariable _nameVehikel 
};
Vienna ist offline  
Alt 10.10.2014, 20:24   #4 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.110
Standard

Danke Vienna und Tajin.

Der "Call Comile"-Befehl und ich, werden in diesem Leben keine Freunde mehr.

Ich hatte damit auch rumgeschraubt, aber naja... Es funzt schon mal im Editor. Muss ich mal Dedi testen.

Edit: Es funktioniert im Dedicated Modus
__________________
Bewegende Momente bei ArmA 3

Geändert von Drunken Officer (10.10.2014 um 20:48 Uhr).
Drunken Officer ist offline  
Alt 11.10.2014, 09:37   #5 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Nur waituntil {sleep 0.5; !alive _vehikel}; ist problematisch, weil das Fahrzeug total zerstört sein muss.


Folgende Abfrage löst auch bei Fahrunfähigkeit aus, wenn keine lebende Crew im Fahrzeug ist.
Code:
waituntil {sleep 1; !alive _vehikel or !canMove _vehikel and {alive _x}count crew _vehikel == 0};
Vienna ist offline  
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
ArmA3-Server Namen mit Sonderzeichen marc_book Technische Fragen & Probleme 0 17.04.2014 22:27
Editor Namen? ArmaSteiner Editing & Scripting 4 27.02.2014 15:24
Side East allUnits - Namen abfragen spaccy Editing & Scripting 3 04.12.2012 22:05
Ai Namen geben? Agathon Editing & Scripting 8 29.09.2012 16:21
Respawn mit besitmmten Namen burns Editing & Scripting 6 12.10.2010 21:45


Kontakt - HX3.de - Archiv - Nach oben

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias



SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119