Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 17.08.2010, 15:14   #1 (permalink)
Armed-Assault.de Team10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Moerderhoschi
 
Registriert seit: 02.07.2006
Ort: Kabul
Alter: 39
Beiträge: 2.666
Standard 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?
Moerderhoschi ist offline  
Alt 17.08.2010, 15:30   #2 (permalink)
10 Jahre hx3
5000 Beiträge10.000 Beiträge15.000 Beiträge
 
Benutzerbild von burns
 
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 42
Beiträge: 32.979
Standard

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;};
In die init.sqf, das klingt logischer als mit Switch, allerdings ist die playersNumber Syntax wieder nur geraten.
__________________

burns ist offline  
Alt 17.08.2010, 15:44   #3 (permalink)
Armed-Assault.de Team10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Moerderhoschi
 
Registriert seit: 02.07.2006
Ort: Kabul
Alter: 39
Beiträge: 2.666
Standard

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).
Moerderhoschi ist offline  
Alt 17.08.2010, 16:01   #4 (permalink)
10 Jahre hx3
5000 Beiträge10.000 Beiträge15.000 Beiträge
 
Benutzerbild von burns
 
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 42
Beiträge: 32.979
Standard

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 ....
__________________

burns ist offline  
Alt 17.08.2010, 16:05   #5 (permalink)
Armed-Assault.de Team10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Moerderhoschi
 
Registriert seit: 02.07.2006
Ort: Kabul
Alter: 39
Beiträge: 2.666
Standard

habs grad mit der methode von dir probiert jedoch wird das spawn_mehr.sqf script nicht ausgefuehrt
Moerderhoschi ist offline  
Alt 17.08.2010, 16:11   #6 (permalink)
10 Jahre hx3
5000 Beiträge10.000 Beiträge15.000 Beiträge
 
Benutzerbild von burns
 
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 42
Beiträge: 32.979
Standard

hmmm, erforderliche Anzahl Spieler war da?

Befehle mit "player" gelten nicht für KI Einheiten, müssen explizit Spieler sein.
__________________

burns ist offline  
Alt 17.08.2010, 16:17   #7 (permalink)
Armed-Assault.de Team10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Moerderhoschi
 
Registriert seit: 02.07.2006
Ort: Kabul
Alter: 39
Beiträge: 2.666
Standard

also ich hab das ganze im editor getestet, in die init.sqf hab ich reingeschrieben
Code:
if (playersNumber west >= 1) then {execVM spawn3.sqf;};
und in die spawn3.sqf
Code:
hint "test";

exit
jedoch wurde nichts agezeigt

Geändert von Moerderhoschi (17.08.2010 um 16:26 Uhr).
Moerderhoschi ist offline  
Alt 17.08.2010, 16:18   #8 (permalink)
10 Jahre hx3
5000 Beiträge10.000 Beiträge15.000 Beiträge
 
Benutzerbild von burns
 
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 42
Beiträge: 32.979
Standard

hm, und schon war ich mit meinem Latein am Ende. Dabei sieht es soweit ja schick aus
__________________

burns ist offline  
Alt 17.08.2010, 16:26   #9 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von TeRp
 
Registriert seit: 02.04.2003
Ort: San Francisco
Beiträge: 1.919
Standard

Wiese eigentlich immer die OFPEC-ComRef, die Biki ist deutlich genauer.
Da steht auch drin, warum es im SP nicht geht:

Zitat von TolleSeite :D

Return count of players playing on given side. Works only in multiplayer, in singleplayer always returns 0.

__________________

TeRp ist offline  
Alt 17.08.2010, 16:27   #10 (permalink)
Armed-Assault.de Team10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Moerderhoschi
 
Registriert seit: 02.07.2006
Ort: Kabul
Alter: 39
Beiträge: 2.666
Standard

mit foglendem gehts nun

Code:
if (playersNumber west <= 1) then {execvm "spawn3.sqf";};
ich weis nur nicht warum es mit <=1 geht?

mit

Code:
if (playersNumber west = 0) then {execvm "spawn3.sqf";};
gehts auch, ich schaetze mal er macht die abfrage bevor die mission startet und damit wieder zum anfangsproblem weswegen auch der feindliche soldat spawnt wenn ich bei bedingung ( !alive player ) eingebe.

edit:

danke terp, aber d.h. ich muss die ganze sache erst im multiplayer testen.
Moerderhoschi ist offline  
Alt 17.08.2010, 16:34   #11 (permalink)
10 Jahre hx3
5000 Beiträge10.000 Beiträge15.000 Beiträge
 
Benutzerbild von burns
 
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 42
Beiträge: 32.979
Standard

Zitat von TeRp Beitrag anzeigen

Wiese eigentlich immer die OFPEC-ComRef, die Biki ist deutlich genauer.
Da steht auch drin, warum es im SP nicht geht:




Zitat von Moerderhoschi Beitrag anzeigen

aber d.h. ich muss die ganze sache erst im multiplayer testen.

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
__________________

burns ist offline  
Alt 17.08.2010, 16:43   #12 (permalink)
Armed-Assault.de Team10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Moerderhoschi
 
Registriert seit: 02.07.2006
Ort: Kabul
Alter: 39
Beiträge: 2.666
Standard

verdammt, ich hab mich zu frueh gefreut.

mit

Code:
if (playersNumber west = 0) then {execvm "spawn3.sqf";};
wird jetzt zwar die spawn3.sqf aufgerufen jedoch spawnt der feindliche soldat nicht.

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
Moerderhoschi ist offline  
Alt 17.08.2010, 16:48   #13 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 53
Beiträge: 1.930
Standard

playersNumber funktioniert NUR im Multiplayer(editor) !!!!

__________________
Buliwyf ist offline  
Alt 17.08.2010, 16:51   #14 (permalink)
Armed-Assault.de Team10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Moerderhoschi
 
Registriert seit: 02.07.2006
Ort: Kabul
Alter: 39
Beiträge: 2.666
Standard

hab das ganze im MP geteste, also eine MP mission erstellt und dort war das selbe ergebniss zu beobachten. der hint kommt aber der gegnerische soldat spawnt nicht
Moerderhoschi ist offline  
Alt 17.08.2010, 16:59   #15 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

Um einen Wert zu überprüfen, benutzt man ==
Beispiel:
Code:
If (_test == 1) then {hint "_test hat den Wert 1"};
= verwendet man nur, wenn man einer Variable einen Wert zuweisen möchte.
Beispiel:
Code:
_test = 1;
Und im MP ist der Wert von playersNumber immer >= 1!
Cyborg11 ist offline  
Alt 17.08.2010, 17:03   #16 (permalink)
Armed-Assault.de Team10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Moerderhoschi
 
Registriert seit: 02.07.2006
Ort: Kabul
Alter: 39
Beiträge: 2.666
Standard

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";};
und das spawn3.sqf wird ja aktuell auch aufgerufen, nur der soldat der per spawn3.sqf erscheinen soll will nicht spawnen

spawn3.sqf

Code:
spawn3=true;

exit
und im bedingung anwesenheit bei dem feindlichen soldaten steht aktuell

Code:
spawn3
danke an alle damit ihr so fleißig versucht mir zu helfen


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).
Moerderhoschi ist offline  
Alt 17.08.2010, 17:13   #17 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

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.
Cyborg11 ist offline  
Alt 17.08.2010, 17:16   #18 (permalink)
Armed-Assault.de Team10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Moerderhoschi
 
Registriert seit: 02.07.2006
Ort: Kabul
Alter: 39
Beiträge: 2.666
Standard

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).
Moerderhoschi ist offline  
Alt 17.08.2010, 17:25   #19 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

Einen Wegpunkt und einen Auslöser kannst du mit folgendem Befehl synchronisieren: synchronizeWaypoint trigger
Cyborg11 ist offline  
Alt 17.08.2010, 17:29   #20 (permalink)
Armed-Assault.de Team10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Moerderhoschi
 
Registriert seit: 02.07.2006
Ort: Kabul
Alter: 39
Beiträge: 2.666
Standard

super danke, dann werd ich mir ueberlegen wie genau ich das zusammenschuster. irgendwie werd ichs schon hinbekommen

nochmal danke an alle fuer den support.
Moerderhoschi 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
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


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