02.06.2009, 17:03 | #1 (permalink) |
Registriert seit: 02.06.2009
Beiträge: 14
|
Frage zum Editing (Vehicle Respawn)
Hi Leute
Also vorweg, ich bin erst relativ jungfreulich im Umgang mit Editing, deswegen habt ein wenig Geduld mit mir (BETRIFFT ARMA 2) Folgendes Problem: Ich versuch schon die ganze Zeit auf der Karte Fahrzeuge (A10) so hinnzustellen das diese wieder am Startplatz respawnen. Gestern hatte ich es kurz aber dann ging es plötzlich nicht mehr. Folgendes habe ich gemacht: Fahrzeug Leer platziert dann einen Auslöser platziert wie folgt: Name: Veh2Guard Bedingung: !Canmove Veh2 Bei Aktivierung: [Veh2,"A10",Veh2Pos,360,2,10,1,0,0]exec"vehicle-respawn.sqs" Achse a/b: 0/0 Und dann nochmal einen Auslöser abgeändert auf eine Logik Name: Veh2Pos Bei Bedingung habe ich this stehen gelassen Eine vehicle-respawn.sqs habe ich auch erstellt und in diese das hier eingefügt ?!(Local Server): exit _vehicle = _this select 0 _vehicleClass = _this select 1 _respawnArea = _this select 2 _azimutCode = _this select 3 _respawnDelay = _this select 4 _respawnrate = _this select 5 _deletevehicle = _this select 6 _staticrespawn = _this select 7 _deleteeffect = _this select 8 _counter = 0 #Start ~1 ?(Canmove _Vehicle) : goto "Start" ;// Respawnrate (Number of Respawns) ? (_counter >= _respawnrate) : exit _counter = _counter +1 ;// Staticposition (0=Flexible/1=Static) ? (_staticrespawn == 0) : _respawnArea setpos getpos _vehicle ? (_staticrespawn == 0) : _VehAzimut = getdir _vehicle ~_respawnDelay ;// Deletevehicle (0=No Delete/1=Delete) ? (_deletevehicle == 0) : goto "Respawn" deleteVehicle _vehicle ;// Delete effect ? (_deleteeffect == 0) : goto "Respawn" _bomb="M_Javelin_AT" createVehicle [0,0,1000] _bomb setpos getpos _vehicle ;// Respawn #Respawn ~2 _vehicle = _vehicleClass createVehicle getpos _respawnArea _vehicle setdir _azimutCode ? (_staticrespawn == 0) : _vehicle setdir _VehAzimut goto "Start Die Fahrzeuge respawnen zwar aber leider immer an ihrem Todespunkt, bzw wo es abgestürtzt ist und ich weiß einfach nicht mehr an was es liegen könnte. Bitte um Hilfe MFG LOW |
02.06.2009, 17:17 | #2 (permalink) |
Registriert seit: 13.04.2003
Beiträge: 761
|
Ach. Das geht viel einfacher. Ich habe da mal ein Script.
Sobald ich Feierabend habe, werde ich es hier reinschreiben. Das hat auch den Vorteil, das die Fahrzeuge an den Erstellungs-Platz respawnen, sobald das Benzin leer ist oder die Fahrzeuge im Eimer sind. |
02.06.2009, 17:34 | #3 (permalink) |
Registriert seit: 02.06.2009
Beiträge: 14
|
Das wäre super
Danke schon mal im voraus PS: aber trotzdem ginge es auch so wie ich es oben probiert habe?bzw an was es liegen könnte weißt du auch nicht zufällig. Würd mich nur interessieren um es schön langsam zu lernen MFG Low |
02.06.2009, 21:09 | #4 (permalink) |
Registriert seit: 13.04.2003
Beiträge: 761
|
Sooo. Wie versprochen kommt hier das Script.
Hier erstmal die "respawn_vehicle.sqs": Code:
? !(local server) : exit _vehicle = vehicle _this _startpos = getpos _vehicle _direction = getdir _vehicle _typ = typeOf _this #loop ~10 ? (getdammage _vehicle > 0.98) : goto "checkdamage" ? !(canMove _vehicle) : goto "checkmove" ? (fuel _vehicle == 0) : goto "checkfuel" goto "loop" #checkdamage ~10 ? (getdammage _vehicle > 0.98) : goto "destruct" goto "loop" #checkmove ~10 ? (getdammage _vehicle == 1) : goto "destruct" ~120 ? (canMove _vehicle) : goto "loop" goto "destruct" #checkfuel ~10 ? (getdammage _vehicle == 1) : goto "destruct" ~120 ? (fuel _vehicle > 0) : goto "loop" goto "destruct" #destruct ? (getdammage _vehicle < 1) : _vehicle setdammage 1 ~30 deletevehicle _vehicle goto "createnew" #createnew ~10 _new = _typ createVehicle [_startpos select 0, _startpos select 1,0] _new setdir _direction _new exec "respawn_vehicle.sqs" exit Code:
this exec "respawn_vehicle.sqs" mit dem Namen server erstellst. Ansonsten kann es vorkommen, das im Multiplayer plötzlich mehr als ein Fahrzeug respawnt werden. Schaut zwar lustig aus, erfüllt aber nich den gewünschten Zweck. Hoffe, ich konnte helfen. |
03.06.2009, 00:20 | #5 (permalink) |
Registriert seit: 12.05.2009
Ort: FRA
Beiträge: 1.621
|
@[HSP] NoFu
echt cool das du dein script hier postest könntest du mir noch sagen wo man einstellt das dass vehicle erst nach sagen wir mal 120sec oder so spawnt? thnx |
03.06.2009, 04:09 | #6 (permalink) |
Registriert seit: 02.06.2009
Beiträge: 14
|
Echt super danke nochmal, hat sehr viel geholfen und funktioniert *freu*
@Fogu Ich habe ein wenig herumgespeilt und beim ändern auf jeweils das hier ? !(local server) : exit _vehicle = vehicle _this _startpos = getpos _vehicle _direction = getdir _vehicle _typ = typeOf _this #loop ~2 ? (getdammage _vehicle > 0.98) : goto "checkdamage" ? !(canMove _vehicle) : goto "checkmove" ? (fuel _vehicle == 0) : goto "checkfuel" goto "loop" #checkdamage ~2 ? (getdammage _vehicle > 0.98) : goto "destruct" goto "loop" #checkmove ~2 ? (getdammage _vehicle == 1) : goto "destruct" ~120 ? (canMove _vehicle) : goto "loop" goto "destruct" #checkfuel ~2 ? (getdammage _vehicle == 1) : goto "destruct" ~120 ? (fuel _vehicle > 0) : goto "loop" goto "destruct" #destruct ? (getdammage _vehicle < 1) : _vehicle setdammage 1 ~2 deletevehicle _vehicle goto "createnew" #createnew ~2 _new = _typ createVehicle [_startpos select 0, _startpos select 1,0] _new setdir _direction _new exec "respawn_vehicle.sqs" exit ist der Flieger nach 2 sec wieder aufgetaucht. habe aber sicher eines zuviel eingestellt od umsonst |
03.06.2009, 07:10 | #7 (permalink) |
Registriert seit: 13.04.2003
Beiträge: 761
|
Die Zahlen, die der gute Low einen Post höher makiert hat. Das sind die Werte, mit denen Du rumspielen kannst. |
21.08.2009, 20:00 | #9 (permalink) |
Registriert seit: 22.08.2008
Beiträge: 95
|
wie bekomme ich das skript marker bezogen hin? also ich habe vor meine einheiten während der mission versetzen zu lassen, aber mit dem vehirespawn script ist es so das die fahrzeuge da spawnen wo sie am anfang der map aufgestellt waren, also fernab jeglichen spielgeschehens ^^
|
22.08.2009, 11:01 | #10 (permalink) |
Registriert seit: 22.08.2008
Beiträge: 95
|
Code:
F1="T34" createVehicle getMarkerPos "Base3"; F2="UAZ_AGS30_CDF" createVehicle getMarkerPos "Base4"; F3="UAZ_MG_CDF" createVehicle getMarkerPos "Base5"; F4="UAZ_AGS30_CDF" createVehicle getMarkerPos "Base6"; F5="UAZ_MG_CDF" createVehicle getMarkerPos "Base7"; F6="UAZ_MG_CDF" createVehicle getMarkerPos "Base8"; Wenn ich jedoch das hier noch mit eintippe Code:
F1="T34" createVehicle getMarkerPos "Base3"; F1 execVM "sqf\vrs.sqf"]; F2="UAZ_AGS30_CDF" createVehicle getMarkerPos "Base4"; F2 execVM "sqf\vrs.sqf"]; F3="UAZ_MG_CDF" createVehicle getMarkerPos "Base5"; F3 execVM "sqf\vrs.sqf"]; F4="UAZ_AGS30_CDF" createVehicle getMarkerPos "Base6"; F4 execVM "sqf\vrs.sqf"]; F5="UAZ_MG_CDF" createVehicle getMarkerPos "Base7"; F5 execVM "sqf\vrs.sqf"]; F6="UAZ_MG_CDF" createVehicle getMarkerPos "Base8"; F6 execVM "sqf\vrs.sqf"]; |
22.08.2009, 12:23 | #11 (permalink) |
Registriert seit: 14.08.2009
Beiträge: 15
|
Ich habe das mal getestet.
Meine Init.sqs, damit die Fahrzeuge zu Beginn vorhanden sind: Code:
F1="T34" createVehicle getMarkerPos "Base3"; F1 exec "respawn_vehicle.sqs"; F2="UAZ_AGS30_CDF" createVehicle getMarkerPos "Base4"; F2 exec "respawn_vehicle.sqs"; F3="UAZ_MG_CDF" createVehicle getMarkerPos "Base5"; F3 exec "respawn_vehicle.sqs"; F4="UAZ_AGS30_CDF" createVehicle getMarkerPos "Base6"; F4 exec "respawn_vehicle.sqs"; F5="UAZ_MG_CDF" createVehicle getMarkerPos "Base7"; F5 exec "respawn_vehicle.sqs"; F6="UAZ_MG_CDF" createVehicle getMarkerPos "Base8"; F6 exec "respawn_vehicle.sqs"; Code:
? !(local server) : exit _vehicle = vehicle _this _startpos = getpos _vehicle _direction = getdir _vehicle _typ = typeOf _this #loop ~10 ? (getdammage _vehicle > 0.98) : goto "checkdamage" ? !(canMove _vehicle) : goto "checkmove" ? (fuel _vehicle == 0) : goto "checkfuel" goto "loop" #checkdamage ~10 ? (getdammage _vehicle > 0.98) : goto "destruct" goto "loop" #checkmove ~10 ? (getdammage _vehicle == 1) : goto "destruct" ~120 ? (canMove _vehicle) : goto "loop" goto "destruct" #checkfuel ~10 ? (getdammage _vehicle == 1) : goto "destruct" ~120 ? (fuel _vehicle > 0) : goto "loop" goto "destruct" #destruct ? (getdammage _vehicle < 1) : _vehicle setdammage 1 ~30 deletevehicle _vehicle goto "createnew" #createnew ~10 _new = _typ createVehicle [_startpos select 0, _startpos select 1,0] _new setdir _direction _new exec "respawn_vehicle.sqs" exit Probier das doch mal aus, ich hab es eben für dich ausprobiert und es ging problemlos. Gruß, Headios |
22.08.2009, 12:39 | #12 (permalink) |
Registriert seit: 22.08.2008
Beiträge: 95
|
toll.. ich hab zuviel eingetragen darauf erstmal kommen. Also beim Aufruf der respawn.sqs hab ich zuviel eingetragen nagut vielen dank für die hilfe. übrigens geht es auch in der sqf, das die erst erstellt werden wenn die bedingung erfüllt ist dafür.
|
27.08.2009, 20:09 | #13 (permalink) |
Registriert seit: 20.05.2009
Beiträge: 605
|
Hmmm also ich habe eine spiel-logic erstellt mit dem namen server ... muss da nichts drin stehen ?! wie dem auch sei .. es werden nachdem eines der fahrzeuge zerstört wurden dennoch mehr fahrzeuge respawnt ?!?!?! kann mir jemand helfen ? |
27.08.2009, 22:38 | #15 (permalink) |
Registriert seit: 13.04.2003
Beiträge: 761
|
So Männers,
ich hab hier mal was für Euch. Es stammt aus dem ArmA-Editing Guide DE und somit aus der Feder von Mr-Murray. (Mr-Murray bitte sei mir nicht böse, das ich hier aus Deinem Buch zitiere. ^^) Zitat ende. Ich hoffe,ich konnte damit helfen. Beste Grüße NoFu P.S. @ Anemia: Ich weiß nicht ob es Dein Blog ist, der in Deiner Sig. steht. Aber vielen Dank für den Link. Die ArmA-Module sind da echt gut erklärt. Geändert von [HSP] NoFu (27.08.2009 um 22:52 Uhr). Grund: Hatte den Gruß an Anemia vergessen. ^^ |
28.08.2009, 00:32 | #16 (permalink) |
Registriert seit: 01.06.2009
Beiträge: 103
|
Das mit der Logik-Unit mit Namen Server könnt ihr euch - schon seit ArmA - sparen. Dafür gibts den Befehl "isServer".
Wenn man Einheiten in einer MP-Mission spawnen lässt so werden sie auf jedem Rechner gespawnt auf den das jeweilige Script läuft. Da man aber meistens eine Einheit ja nur einmal spawnen will, sorgt man dafür dass das jeweilige Script nur auf dem Server ausgeführt wird. Deshalb am Anfang eines sqf-Scripts folgenden Eintrag: Code:
if (! isServer) exitWith {}; Code:
? (! isServer): exit |
28.08.2009, 00:39 | #17 (permalink) |
Registriert seit: 13.04.2003
Beiträge: 761
|
@ Asso-Loki:
Kannst Du einem altem Scripter mal helfen und mir sagen, wo ich nachlesen kann, was die Änderungen im sqf sind und warum ich am Besten umsteigen sollte ? Wenn ich mein Buch (Editing Guide) richtig durchblättere, ist das hier alles sqs oder ? |
28.08.2009, 07:33 | #18 (permalink) |
Registriert seit: 13.04.2003
Beiträge: 761
|
Habe hier mal was bei BIS zum Thema SQF gefunden.
SQS to SQF conversion Irgendwie ist diese SQF-Sache total an mir vorbei gegangen. Wurde das schon zusammen mit ArmA I eingeführt ? |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Vehicle Respawn | Schradder | Editing | 0 | 07.02.2009 16:46 |
Problem bei Vehicle Respawn!! | Jois[GER] | Editing | 6 | 04.03.2008 13:34 |
Vehicle Respawn | ryboth | Editing | 10 | 28.12.2006 21:25 |
Vehicle Respawn | -BGS-Tyr | Editing | 1 | 07.12.2006 07:32 |
Aufheben von Befehlen? (Editing Frage) | Lonely | Editing | 2 | 10.07.2005 12:51 |