Armed-Assault.de Twitter


 
 
Themen-Optionen Ansicht
Alt 28.06.2016, 08:43   #1 (permalink)
Newbie
 
Registriert seit: 23.01.2016
Beiträge: 20
Icon5 Wie kann man Einheiten im Triggerradius löschen?

Hallo,
ich spawne in einer Stadt per Trigger einige Einheiten und würde gerne die übrig gebliebene AI löschen sobald der Spieler den Trigger verlässt.
Ich habe folgenden Code gefunden:
Code:
{if (side _x == EAST AND _x in thisList) then {_x setDamage 1};} foreach allunits;
Für mich sieht der Code richtig aus und ich finde da auch keinen Fehler aber wenn ich ihn in den Trigger packe funktioniert er nicht. Er lässt sich zwar ausführen aber die Einheiten werden nicht gelöscht.

Ich hab den setDamage Befehl auch schon gegen {deleteVehicle _x} getauscht aber auch da klappt es nicht.

Könnt ihr mir sagen was daran falsch ist?
niels001 ist offline  
Alt 28.06.2016, 09:10   #2 (permalink)
Newbie
 
Benutzerbild von Sarogahtyp
 
Registriert seit: 20.06.2016
Beiträge: 37
Standard

wenn du löschen willst dann solltest du dies auch tun und nicht einfach nur töten.

Code:
{if (side _x == east AND _x in thisList) then {deleteVehicle _x;}; true} count allUnits;
aber allUnits ist vermutlich garnicht notwendig.

Code:
{if (side _x == east) then {deleteVehicle _x;}; true} count thisList;
__________________
Sarogahtyps Spawn Script Creator - SSSC
the easy way to cache ur units, vehicles and their waypoints

Geändert von Sarogahtyp (28.06.2016 um 09:15 Uhr).
Sarogahtyp ist offline  
Alt 28.06.2016, 10:55   #3 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard

Ich würde auch die 2 Variante vorschlagen. Warum alle Einheiten zählen lassen, wenn man eh nur die Einheiten aus dem Trigger braucht.

Sarogahtyp, wieso hast ein "true" in deine Count Abfrage gepackt?
__________________
Bewegende Momente bei ArmA 3

Geändert von Drunken Officer (28.06.2016 um 10:57 Uhr).
Drunken Officer ist offline  
Alt 28.06.2016, 11:03   #4 (permalink)
Newbie
 
Registriert seit: 23.01.2016
Beiträge: 20
Standard

Danke für die Antworten bisher.

Ich habe beide Varianten versucht und bekomme die Fehlermeldung:
Bei Aktivierung:Typ Zahl, erwartet nichts.
niels001 ist offline  
Alt 28.06.2016, 11:21   #5 (permalink)
Newbie
 
Benutzerbild von Sarogahtyp
 
Registriert seit: 20.06.2016
Beiträge: 37
Standard

mach mal:
Code:
nix = {if (side _x == east) then {deleteVehicle _x;}; true} count thisList; nix = nil;
das true ist ne Angewohnheit weil count mit der {code}count xxx; syntax eigtl. einen rückgabewert erwartet. Ich meine ich hätt so auch schon mal Fehlermeldungen im .rpt beseitigt.
__________________
Sarogahtyps Spawn Script Creator - SSSC
the easy way to cache ur units, vehicles and their waypoints
Sarogahtyp ist offline  
Alt 28.06.2016, 11:26   #6 (permalink)
Newbie
 
Registriert seit: 23.01.2016
Beiträge: 20
Standard

Eine Fehlermeldung gibt es nun keine mehr aber die AI wird noch immer nicht gelöscht.
niels001 ist offline  
Alt 28.06.2016, 11:30   #7 (permalink)
Newbie
 
Benutzerbild von Sarogahtyp
 
Registriert seit: 20.06.2016
Beiträge: 37
Standard

Zitat von niels001 Beitrag anzeigen

Danke für die Antworten bisher.

Ich habe beide Varianten versucht und bekomme die Fehlermeldung:
Bei Aktivierung:Typ Zahl, erwartet nichts.

Nunja, irgendwie stimmt da auch was nicht, die sollten doch bei Deaktivierung gelöscht werden, also wenn der Spieler den Trigger verlässt?

Gib mal den Code aus allen Feldern Deines Triggers!
__________________
Sarogahtyps Spawn Script Creator - SSSC
the easy way to cache ur units, vehicles and their waypoints
Sarogahtyp ist offline  
Alt 28.06.2016, 11:53   #8 (permalink)
Newbie
 
Registriert seit: 23.01.2016
Beiträge: 20
Standard

Zum testen habe ich einen East Soldaten in einen Trigger gestellt, hab den Code bei Aktivieren eingetragen und habe auf Funk Alpha gestellt zum auslösen.
Sonst steht nichts weiter im Trigger.
niels001 ist offline  
Alt 28.06.2016, 12:00   #9 (permalink)
Newbie
 
Benutzerbild von Sarogahtyp
 
Registriert seit: 20.06.2016
Beiträge: 37
Standard

dann müssen wir mal ans debuggen gehen:

Code:
nix = {if (side _x == east) then {deleteVehicle _x;}; true} count thisList; systemChat str nix;
sag mal ob und was er dann in den chat schreibt...
__________________
Sarogahtyps Spawn Script Creator - SSSC
the easy way to cache ur units, vehicles and their waypoints
Sarogahtyp ist offline  
Alt 28.06.2016, 12:03   #10 (permalink)
Newbie
 
Registriert seit: 23.01.2016
Beiträge: 20
Standard

im Chat steht 0
niels001 ist offline  
Alt 28.06.2016, 12:07   #11 (permalink)
Newbie
 
Benutzerbild von Sarogahtyp
 
Registriert seit: 20.06.2016
Beiträge: 37
Standard

das bedeutet das die thisList leer ist, count zählt jedes Element darin und schiebt es in nix rein.

Der Trigger aktiviert zwar, aber es gibt kein Objekt im Triggerradius was die Bedingung erfüllt...

Was steht im Feld Bedingung bzw. Condition ???
__________________
Sarogahtyps Spawn Script Creator - SSSC
the easy way to cache ur units, vehicles and their waypoints

Geändert von Sarogahtyp (28.06.2016 um 12:09 Uhr).
Sarogahtyp ist offline  
Alt 28.06.2016, 12:08   #12 (permalink)
Newbie
 
Registriert seit: 23.01.2016
Beiträge: 20
Standard

ich habe doch aber EAST Soldaten im Trigger stehen, die werden doch mit side _x == east abgefragt oder nicht?
niels001 ist offline  
Alt 28.06.2016, 12:15   #13 (permalink)
Newbie
 
Benutzerbild von Sarogahtyp
 
Registriert seit: 20.06.2016
Beiträge: 37
Standard

Zitat von niels001 Beitrag anzeigen

ich habe doch aber EAST Soldaten im Trigger stehen, die werden doch mit side _x == east abgefragt oder nicht?

Nö...


der Trigger guckt ins Bedingungsfeld und schiebt alle Objekte die die BEdingung erfüllen in die thisList.

ich denke da muß true drin stehn damit es funktioniert.
__________________
Sarogahtyps Spawn Script Creator - SSSC
the easy way to cache ur units, vehicles and their waypoints
Sarogahtyp ist offline  
Alt 28.06.2016, 12:23   #14 (permalink)
Newbie
 
Benutzerbild von Sarogahtyp
 
Registriert seit: 20.06.2016
Beiträge: 37
Standard

Ich sehe da auch noch ein Problem, alle toten Einheiten werden nicht gelöscht weil Sie nicht mehr bei side east sonder civilian sind...

kannst du die nicht beim spawnen alle in ein globales array speichern? Dann wäre das löschen einfacher...
__________________
Sarogahtyps Spawn Script Creator - SSSC
the easy way to cache ur units, vehicles and their waypoints
Sarogahtyp ist offline  
Alt 28.06.2016, 12:26   #15 (permalink)
Newbie
 
Registriert seit: 23.01.2016
Beiträge: 20
Standard

Nein, auch dann klappt es leider nicht.

Zitat:

kannst du die nicht beim spawnen alle in ein globales array speichern? Dann wäre das löschen einfacher...

Gebe ich das Globale array dann einfach so wie ein normal array ein zum löschen oder muss ich da auf eine bestimmte schreibweise achten?

Geändert von niels001 (28.06.2016 um 12:29 Uhr).
niels001 ist offline  
Alt 28.06.2016, 12:43   #16 (permalink)
Newbie
 
Benutzerbild von Sarogahtyp
 
Registriert seit: 20.06.2016
Beiträge: 37
Standard

Was mit Deinem Trigger schief läuft weiß iuch jetzt auch nicht, eventuell ist der Radius 0?

Zeig mal wie du spawnst dann sag ich dir wie das mit dem array am besten geht.

Ich mach jetzt erstmal Mittagspause, melde mich also ne halbe stunde lang nicht...
__________________
Sarogahtyps Spawn Script Creator - SSSC
the easy way to cache ur units, vehicles and their waypoints

Geändert von Sarogahtyp (28.06.2016 um 12:47 Uhr).
Sarogahtyp ist offline  
Alt 28.06.2016, 13:37   #17 (permalink)
Newbie
 
Registriert seit: 23.01.2016
Beiträge: 20
Standard

ich poste das heute abend fix. Hatte heute eigentlich frei darf aber nun doch arbeiten
niels001 ist offline  
Alt 28.06.2016, 13:50   #18 (permalink)
Newbie
 
Benutzerbild von Sarogahtyp
 
Registriert seit: 20.06.2016
Beiträge: 37
Standard

okay, ich kann dann vermutlich erst morgen wieder antworten...
__________________
Sarogahtyps Spawn Script Creator - SSSC
the easy way to cache ur units, vehicles and their waypoints
Sarogahtyp ist offline  
Alt 28.06.2016, 18:18   #19 (permalink)
Newbie
 
Benutzerbild von Sarogahtyp
 
Registriert seit: 20.06.2016
Beiträge: 37
Standard

so funktioniert es, ist aber nicht schön, weil allUnits benutzt wird. das kann unter umständen langsam sein.
Code:
nix = {deleteVehicle _x; true}count (allUnits select {(side _x == east) and (_x inArea thisTrigger)})
tote einheiten werden mit dieser methode auch nicht gelöscht, da sie side civilian sind.


besser ist es wenn du alle gespawnten einheiten in einem array hast dann werden auch tote gelöscht und das geht dann so:
Code:
nix = {if(!isNull _x) then {deleteVehicle _x;}; true}count yourglobalarray
Das mit der thisList hat nichgt funktioniert weil nur die objekte darin enthalten sind die den trigger aktiviert haben (glaube ich). in diesem fall nur du weil du gefunkt hast.


dein array baust du in etwa so (variiert je nachdem wie du spawnst):

Code:
yourglobalarry = [];  //leeres array erzeugen
_jeep = "Jeep" createVehicle position player;  // jeep spawnen und in _jeep speichern

yourglobalarry pushBack _jeep;  // _jeep als letztes element vom array speichern
jetzt ist in yourglobalarray der gespawnte jeep drin. geht naturlich auch ohne lokale _jeep variable:

Code:
yourglobalarry = [];
yourglobalarry pushBack ("Jeep" createVehicle position player);
__________________
Sarogahtyps Spawn Script Creator - SSSC
the easy way to cache ur units, vehicles and their waypoints

Geändert von Sarogahtyp (28.06.2016 um 18:33 Uhr).
Sarogahtyp ist offline  
Alt 28.06.2016, 19:22   #20 (permalink)
Newbie
 
Benutzerbild von Sarogahtyp
 
Registriert seit: 20.06.2016
Beiträge: 37
Standard Und so gehts richtig

Und so gehts richtig:

Trigger


Typ: keine
Aktivierung: Jeder

Bedingung:
Code:
this &&  {(isPlayer _x) and (alive _x)}count thisList > 0
Bei Aktivierung:
Code:
yourglobalarray = [];
nix = yourglobalarray pushBack ("O_G_Soldier_F" createVehicle position thisTrigger);
nix = yourglobalarray pushBack ("O_G_Soldier_F" createVehicle position thisTrigger)
Bei Deaktivierung:
Code:
nix = {if(!isNull _x) then {deleteVehicle _x;};true} count yourglobalarray;
yourglobalarray=nil
wenn du in den trigger rein rennst dann spawnen 2 opfor, wenn du ihn verlässt werden sie gelöscht.
__________________
Sarogahtyps Spawn Script Creator - SSSC
the easy way to cache ur units, vehicles and their waypoints
Sarogahtyp ist offline  
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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
Einheiten erstellen und automatisch zufällig löschen Rubbermen Editing & Scripting 13 08.03.2013 22:58
Einheiten spawnen/ löschen script sandmanGER Editing & Scripting 16 07.02.2013 07:45
Einheiten nach Tod/Zerstörung löschen Togo Editing & Scripting 15 27.11.2012 07:28
Einheiten in Gruppe löschen Brubaker Editing 6 26.05.2011 17:44
Script-Problem: Einheiten löschen Kampfmöhre Editing & Scripting 5 31.05.2010 12:37


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