Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 02.06.2009, 18:03   #1 (permalink)
Low
Newbie
 
Registriert seit: 02.06.2009
Beiträge: 14
Standard 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
Low ist offline   Mit Zitat antworten
Alt 02.06.2009, 18:17   #2 (permalink)
10 Jahre hx3
500 Beiträge
 
Registriert seit: 13.04.2003
Alter: 37
Beiträge: 756
Standard

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.
__________________
[HSP] NoFu ist offline   Mit Zitat antworten
Alt 02.06.2009, 18:34   #3 (permalink)
Low
Newbie
 
Registriert seit: 02.06.2009
Beiträge: 14
Standard

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
Low ist offline   Mit Zitat antworten
Alt 02.06.2009, 22:09   #4 (permalink)
10 Jahre hx3
500 Beiträge
 
Registriert seit: 13.04.2003
Alter: 37
Beiträge: 756
Standard

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
In die Init der zu respawnenden Fahrzeuge schreibst Du:

Code:
this exec "respawn_vehicle.sqs"
Ganz wichtig ist auch, das Du auf der Karte eine "Spiele-Logic"
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.
__________________
[HSP] NoFu ist offline   Mit Zitat antworten
Alt 03.06.2009, 01:20   #5 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Fogu
 
Registriert seit: 12.05.2009
Ort: FRA
Beiträge: 1.621
Standard

@[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
Fogu ist offline   Mit Zitat antworten
Alt 03.06.2009, 05:09   #6 (permalink)
Low
Newbie
 
Registriert seit: 02.06.2009
Beiträge: 14
Standard

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
Low ist offline   Mit Zitat antworten
Alt 03.06.2009, 08:10   #7 (permalink)
10 Jahre hx3
500 Beiträge
 
Registriert seit: 13.04.2003
Alter: 37
Beiträge: 756
Standard

Zitat von Fogu Beitrag anzeigen

@[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

Die Zahlen, die der gute Low einen Post höher makiert hat. Das sind die Werte, mit denen Du rumspielen kannst.
__________________
[HSP] NoFu ist offline   Mit Zitat antworten
Alt 03.06.2009, 10:36   #8 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Fogu
 
Registriert seit: 12.05.2009
Ort: FRA
Beiträge: 1.621
Standard

hatte es mir ja fast schon gedacht.......
thnx
Fogu ist offline   Mit Zitat antworten
Alt 21.08.2009, 21:00   #9 (permalink)
50 Beiträge
 
Benutzerbild von Althalus
 
Registriert seit: 22.08.2008
Beiträge: 95
Standard

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 ^^
Althalus ist offline   Mit Zitat antworten
Alt 22.08.2009, 12:01   #10 (permalink)
50 Beiträge
 
Benutzerbild von Althalus
 
Registriert seit: 22.08.2008
Beiträge: 95
Standard

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";
Mit dem Code kommen schonmal alle Fahrzeuge auf die Position wo sie erstellt werden sollen, zwar nciht exakt aber das ist mir erstmal nicht so wichtig.
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"];
Dann kommt nur das erste Fahrzeug... Jedoch funktioniert das respawn script da. Nur die anderen Fahrzeuge kommen nciht -.- was ist falsch an der zeile? Laut Debug verlangt er irgendwo ein ";" aber k.A. wo ich das noch eintragen soll.
Althalus ist offline   Mit Zitat antworten
Alt 22.08.2009, 13:23   #11 (permalink)
Newbie
 
Registriert seit: 14.08.2009
Beiträge: 15
Standard

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";
Dann das Script "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
Wenn ich nun F4 zerstöre, respawnt es an der Stelle, wo ich den Marker Base6 erstellt habe. Zerstöre ich F3, respawnt es beim Marker Base5.

Probier das doch mal aus, ich hab es eben für dich ausprobiert und es ging problemlos.

Gruß,
Headios
Headios ist offline   Mit Zitat antworten
Alt 22.08.2009, 13:39   #12 (permalink)
50 Beiträge
 
Benutzerbild von Althalus
 
Registriert seit: 22.08.2008
Beiträge: 95
Standard

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.
Althalus ist offline   Mit Zitat antworten
Alt 27.08.2009, 21:09   #13 (permalink)
500 Beiträge
 
Benutzerbild von Anemia
 
Registriert seit: 20.05.2009
Beiträge: 605
Standard

Zitat von [HSP] NoFu Beitrag anzeigen

Ganz wichtig ist auch, das Du auf der Karte eine "Spiele-Logic"
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.

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 ?
Anemia ist offline   Mit Zitat antworten
Alt 27.08.2009, 22:30   #14 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 24.01.2009
Beiträge: 209
Standard

Das Script sollte nur auf dem Server laufen, klassisches Lokalität Problem!

Denk ich mal!
Vocoder ist offline   Mit Zitat antworten
Alt 27.08.2009, 23:38   #15 (permalink)
10 Jahre hx3
500 Beiträge
 
Registriert seit: 13.04.2003
Alter: 37
Beiträge: 756
Icon10

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:

Logik Server bzw. Logik AI
Bei Mehrspielermissionen setzt man grundsätzlich eine Logik auf die Karte, die Server heißt. Eine alternative Variante wäre AI, wie BI sie bezeichnet, was aber grundsätzlich keinen Unterschied macht. Also bleibt man dabei, die Logik mit dem Namen Server zu versehen. Diese Logik wird nur vom Server erstellt und taucht auf dem Client nicht auf. Diese gibt an, dass das System Server ist. Mit folgenden Befehlen kann man also nun festlegen, was auf dem Server ausgeführt werden soll und was nicht.

?!(local server):exit
Taucht diese Syntax am Anfang eines Skriptes auf, wird das Skript nur auf dem Server ausgeführt. Das System macht hierbei keinen Unterschied zwischen einem Lokalen Host und einem Dedicated Server. Das Skript wird nun auf jeden Fall bei beiden Varianten ganz normal ausgeführt.
Diese Syntax wird grundsätzlich verwendet. Es wird also serverseitig bzw. global gearbeitet, was in der Regel am meisten Sinn macht, da ja die meisten Informationen auch an die Mitspieler weitergegeben werden müssen. Wir arbeiten also grundsätzlich global!

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 23:52 Uhr). Grund: Hatte den Gruß an Anemia vergessen. ^^
[HSP] NoFu ist offline   Mit Zitat antworten
Alt 28.08.2009, 01:32   #16 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 01.06.2009
Beiträge: 103
Standard

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 {};
Alternativ halt für sqs:
Code:
? (! isServer): exit
Ich empfehle übrigens Jedem doch lieber langsam von den sqs-Scripts auf sqf-Scripts umzusteigen. Das Umgewöhnen geht schneller als man denkt und man hat viel mehr Möglichkeiten.
Asso-Loki ist offline   Mit Zitat antworten
Alt 28.08.2009, 01:39   #17 (permalink)
10 Jahre hx3
500 Beiträge
 
Registriert seit: 13.04.2003
Alter: 37
Beiträge: 756
Standard

@ 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 ?
__________________
[HSP] NoFu ist offline   Mit Zitat antworten
Alt 28.08.2009, 08:33   #18 (permalink)
10 Jahre hx3
500 Beiträge
 
Registriert seit: 13.04.2003
Alter: 37
Beiträge: 756
Standard

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 ?
__________________
[HSP] NoFu ist offline   Mit Zitat antworten
Alt 28.08.2009, 09:37   #19 (permalink)
500 Beiträge
 
Benutzerbild von Anemia
 
Registriert seit: 20.05.2009
Beiträge: 605
Standard

Zitat von [HSP] NoFu Beitrag anzeigen


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.

Jo .. is meiner

fürs Lob
Anemia ist offline   Mit Zitat antworten
Alt 28.08.2009, 10:27   #20 (permalink)
Newbie
 
Registriert seit: 24.08.2009
Beiträge: 5
Standard

Mal eine Frage hineinwerf ....

Warum arbeitet Ihr nicht mit "waituntil"

Warum mit Schleifen?


Gruss Sven
svenjost ist offline   Mit Zitat antworten
Antwort


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
Vehicle Respawn Schradder Editing 0 07.02.2009 17:46
Problem bei Vehicle Respawn!! Jois[GER] Editing 6 04.03.2008 14:34
Vehicle Respawn ryboth Editing 10 28.12.2006 22:25
Vehicle Respawn -BGS-Tyr Editing 1 07.12.2006 08:32
Aufheben von Befehlen? (Editing Frage) Lonely Editing 2 10.07.2005 13:51


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