17.08.2010, 15:14 | #1 (permalink) |
Registriert seit: 02.07.2006
Ort: Kabul
Alter: 39
Beiträge: 2.666
|
Problem bei der bedingung anwesenheit
Ich habe ein problem bei einer mission die ich gerade erstelle.
Es ist eine Coop Multiplayermission mit bis zu 18 leuten, je nachdem wieviele spieler auf dem server sind / oder die slots mit ki belegt sollen bestimmte feinde vorhanden sein oder auch nicht. ich habe schon probiert bei dem spielerfiguren die namen ( soldat1 ) bis ( soldat18 ) zu vergeben und dann bei dem feindlichen soldaten bei der bedingung anwesenheit ( alive soldat4 ) versucht, also damit der feindliche soldat nur dann spawnt wenn der slot des ( soldat4 ) mit einem menschlichen spieler belegt ist oder auch mit KI, jedoch ohne erfolge. ich habe es bis jetzt nur geschafft damit der gegner gespwant wird wenn ich bei seiner bedingung ( true ) stehen lasse oder ( !alive player ) auch habe ich mir ueberlegt alle feindlichen einheiten einfach spawnen zu lassen und wenn dann z.b. ( soldat4 bis soldat18) nicht vorhanden ist weil z.b. nur 3 spieler auf dem server sind damit der feind dann einfach ein setdamage 1 verpasst bekommt, das wuerde soweit auch klappen nur will ich nicht unnoetige einheiten spawnen lassen nur um sie dann wieder mit setdamage zu killen. hat da vllt. jemand eine loesung fuer mich? |
17.08.2010, 15:30 | #2 (permalink) |
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 42
Beiträge: 32.979
|
playersNumber - OFPEC Command Reference | OFPEC The Editing Center
Irgendwas damit hats bestimmt zu tun, habs bloss noch nie benutzt. Man könnt 2 verschiedene Spawnscripts einsetzen, das 1. startet immer, und das 2. nur wenn genug Spieler da sind. Code:
switch (playersNumber west >=5) do { case 1: { execVM spawn_mehr.sqf; }; }; edit: Oder noch eher: Code:
if (isServer && playersNumber west >= 5) then {execVM spawn_mehr.sqf;}; |
17.08.2010, 15:44 | #3 (permalink) |
Registriert seit: 02.07.2006
Ort: Kabul
Alter: 39
Beiträge: 2.666
|
ich glaub das kann ich gar nicht so loesen, denn die abfrage der anwesenheit findet noch vor dem starten der mission stat, ansonsten wuerde der feindliche soldat nicht spawnen beim befehl ( !alive player ). wenn ich das so versuchen wuerde zu loesen wuerde die abfrage aber ja jedesmal ingame stattfinden, also nachdem die map schon gestartet ist und damit wuerde ich wieder zum urspruenglichen problem kommen. oder seh ich da was falsch?
edit: ja aber nach der methode haett ich dann ja nur 2 auswahlmoeglichkeiten, also fuer weniger als 5 spieler und fuer mehr als 5 spieler, ich haette aber gerne ein spawn fuer 18 verschieden anzahlen, also von einem bis zu 18 spielern wie muss ich das dann machen? danke burns edit2: ich glaub ich weiß jetzt wie du meinst, dann mach ich einfach 18 verschieden spawn scripts und je nachdem wieviel leute auf dem serve sind wird dann das entsprechende script ausgefuehrt, ich teste das jetzt mal und schreib dann. Geändert von Moerderhoschi (17.08.2010 um 15:50 Uhr). |
17.08.2010, 16:01 | #4 (permalink) |
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 42
Beiträge: 32.979
|
Ich hätte da schon ne Idee wie man 18 verschiedene Spawnscripts in eines packt, ginge dann wieder über Switch & Case. Aber da ich ja nit so der tolle Scripter bin wie andere hier, könnte das ebensogut total in die Hose gehen ....
|
17.08.2010, 16:17 | #7 (permalink) |
Registriert seit: 02.07.2006
Ort: Kabul
Alter: 39
Beiträge: 2.666
|
also ich hab das ganze im editor getestet, in die init.sqf hab ich reingeschrieben
Code:
if (playersNumber west >= 1) then {execVM spawn3.sqf;}; Code:
hint "test"; exit Geändert von Moerderhoschi (17.08.2010 um 16:26 Uhr). |
17.08.2010, 16:26 | #9 (permalink) |
Registriert seit: 02.04.2003
Ort: San Francisco
Beiträge: 1.919
|
Wiese eigentlich immer die OFPEC-ComRef, die Biki ist deutlich genauer.
Da steht auch drin, warum es im SP nicht geht:
|
17.08.2010, 16:27 | #10 (permalink) |
Registriert seit: 02.07.2006
Ort: Kabul
Alter: 39
Beiträge: 2.666
|
mit foglendem gehts nun
Code:
if (playersNumber west <= 1) then {execvm "spawn3.sqf";}; mit Code:
if (playersNumber west = 0) then {execvm "spawn3.sqf";}; edit: danke terp, aber d.h. ich muss die ganze sache erst im multiplayer testen. |
17.08.2010, 16:34 | #11 (permalink) |
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 42
Beiträge: 32.979
|
Da wirst du nie drumrumkommen. Im Editor hilft nur Gottvertrauen und die vielen aus Fehlern gelrnten Lektionen, der Rest wirft sich beim 1. MP Test eh wieder über den Haufen |
17.08.2010, 16:43 | #12 (permalink) |
Registriert seit: 02.07.2006
Ort: Kabul
Alter: 39
Beiträge: 2.666
|
verdammt, ich hab mich zu frueh gefreut.
mit Code:
if (playersNumber west = 0) then {execvm "spawn3.sqf";}; bei der bedingung habe ich bei ihm ( spawn3 ) eingetragen und im spawn3.sqf steht Code:
hint "test"; spawn3=true; exit das test wird per hint angezeigt nur der soldat spawnt wieder nicht. langsam ueberleg ich mir ob ich das ganze nicht per nachtraeglichem createunit machen soll, wird nur ne haufen arbeit die ganzen einheiten spawnen zu lassen und dann noch die ganzen wegpunkte |
17.08.2010, 16:59 | #15 (permalink) |
Registriert seit: 26.03.2008
Beiträge: 2.822
|
Um einen Wert zu überprüfen, benutzt man ==
Beispiel: Code:
If (_test == 1) then {hint "_test hat den Wert 1"}; Beispiel: Code:
_test = 1;
__________________
|
17.08.2010, 17:03 | #16 (permalink) |
Registriert seit: 02.07.2006
Ort: Kabul
Alter: 39
Beiträge: 2.666
|
ok danke aber wie muss dann meine init.sqf aussehen?
zur zeit hab ich sie so Code:
if (playersNumber west >= 0) then {execvm "spawn3.sqf";}; spawn3.sqf Code:
spawn3=true; exit Code:
spawn3 edit: habs auch grad im MP nochmal mit playersNumber west >= 1 probiert, das spwan3.sqf wird wie vorher auch aufgerufen ( was ja durch das playersnumber ausgeloest wird was ja vorher auch schon funktioniert hat ) jedoch spawnt der soldat noch immer nicht. damit immer ich derjenige sein muss der die unmachbaren sachen habe will Geändert von Moerderhoschi (17.08.2010 um 17:14 Uhr). |
17.08.2010, 17:13 | #17 (permalink) |
Registriert seit: 26.03.2008
Beiträge: 2.822
|
Ich glaube die Anwesenheitsbedingung wird vor deiner Variablensetzung geprüft und zu diesem Zeitpunkt ist deine spawn3 Variable noch false bzw. nil. Deswegen funktioniert es nicht.
Spawn doch einfach ein paar neue Soldaten über Skriptbefehle oder benutz DAC.
__________________
|
17.08.2010, 17:16 | #18 (permalink) |
Registriert seit: 02.07.2006
Ort: Kabul
Alter: 39
Beiträge: 2.666
|
das mit dem nachtraeglichen spawnen hab ich mir auch schon gedacht nur wird das eine heiden schreibarbeit weil ich muss dann ja fast die ganzen einheiten schreiben und dann noch alle wegpunkte dazu!!!..............DAC waere eine ueberlegung nur hab ich damit noch nie gearbeitet.
edit: da hab ich aber noch eine frage bezueglich der sache mit dem nachtraeglichem spawnen. Wie ich das mache weiß ich und das ist auch kein problem, auch die wegpunktvergabe der gespawnten einheiten sollte ich hinbekommen, aber wie verbinde ich dann einen solchen per script erstellten wegpunkt mit einem ausloeser wenn ich z.b. machen will das West durch Ost entdeckt wird und dann ein spezieller wegpunkt wie S&D aktiviert wird. im Editor wuerde ich das einfach den S&D wegpunkt erstellen und davor einen mit cycle machen und dann denn cylcle mit dem ausloeser synchroniesieren, aber wie scripted man sowas? Geändert von Moerderhoschi (17.08.2010 um 17:21 Uhr). |
17.08.2010, 17:25 | #19 (permalink) |
Registriert seit: 26.03.2008
Beiträge: 2.822
|
Einen Wegpunkt und einen Auslöser kannst du mit folgendem Befehl synchronisieren: synchronizeWaypoint trigger
__________________
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
JayArma2Lib Problem | Larman | Mods & Addons | 5 | 27.08.2010 09:53 |
SIX Updater Problem | Nepharim | Technische Fragen & Probleme | 5 | 31.07.2010 16:05 |
ArmA2 OA Problem | Thunderbird | Technische Fragen & Probleme | 17 | 10.07.2010 19:15 |
description.ext (sound) problem | miromanu | Editing & Scripting | 7 | 07.07.2010 16:40 |
Problem beim entpacken von Pbo's | GER_CJ-187 | Technische Fragen & Probleme | 1 | 17.05.2010 22:03 |