29.01.2010, 20:36 | #1 (permalink) |
Registriert seit: 25.01.2010
Beiträge: 6
|
MP addAction mehrfach angezeigt
Mich beschäftigt folgendes Problem und ich hoffe es kann mir jemand helfen.
Ich möchte eine MP Mission machen wo jeder Spieler verschiedene Auswahlmöglichkeiten im Action-Menu hat, die sich je nach Position verändern. Nun ist es aber so, das wenn ich einem Spieler per addAction Befehl eine Auswahl hinzufüge, und zum testen einer AI auch, dann bekomme ich wenn ich mich in der Nähe dieser Einheit befinde auch seine Auswahl angezeigt. Oder meine doppelt. ... Beispiel: Editor PL : this exec "spieler_ini.sqf"; AI : this exec "spieler_ini.sqf"; Beispiel: Script // spieler_ini.sqf _action1 = _this addAction ["Funktion 1","_ funktion1.sqf"]; Wie bekomme ich das hin, das jeder Spieler eine persönliche Auswahl bekommt ? |
30.01.2010, 11:19 | #4 (permalink) |
init.sqf:
[] execVM "script.sqf"; Script: if (!local player) exitWith {}; waitUntil {vehicle player == player}; player addAction ["whatever", "script.sqf"]; while {true} do { waitUntil {alive player}; player addAction ["whatever", "script.sqf"]; }; Sollte was falsch sein kann das ja einer ausbessern |
|
30.01.2010, 12:30 | #9 (permalink) |
Registriert seit: 26.03.2008
Beiträge: 2.822
|
Er hat doch geschrieben, dass der Spieler die Action immer nur bekommt, wenn er in einem Auslöserbereich steht. Also wenn der Spieler stirbt und wieder in den Auslöserbereich geht, dann bekommt er die Action doch wieder.
__________________
|
30.01.2010, 14:15 | #11 (permalink) |
Registriert seit: 26.03.2008
Beiträge: 2.822
|
Also ich hab es so verstanden. Oder bezog sich das darauf, welche Einheit man genommen hat?
__________________
|
30.01.2010, 19:17 | #12 (permalink) |
Registriert seit: 25.01.2010
Beiträge: 6
|
Ui ... es ist ja einiges passiert wenn man mal paar Stunden nicht da ist.
Erstmal vielen Dank für die rege und informative Beteiligung. Zur Klärung der Zitate. Jeder Spieler soll auch nach dem spawnen seine Auswahl bekommen. Und je nachdem wo der Spieler sich im Spielverlauf befindet, ändert sich die Auswahl. Wobei sich die Positionen auch ändern können. An Trigger werde ich nicht vorbeikommen, aber auch auf Schleifen kann ich nicht verzichten. Wichtig ist es mir in dieser Mission, dass die Spieler mit ihren Menus nicht kollidieren. Jeder wird persönliche Gegenstände haben die sich im Spielverlauf erweitern oder ändern. Die soll man dann im Aktionmenu abrufen können. Mit euren Informationen kann ich viel anfangen, muss mich aber trotzdem durchtesten. Leider fehlen mir da online Tests. P.S. Es bezieht sich nicht darauf welche Einheit man gewählt hat. Es wird sich im Spielverlauf für jeden Spieler entwickeln. |
31.01.2010, 19:18 | #13 (permalink) |
Registriert seit: 25.01.2010
Beiträge: 6
|
Also irgendwie verstehe ich das mit dem "Player" nicht.
Player ist doch der Lokale Spieler. Und im MP ist das immer die Bezeichnung des jeweiligen lokalen Spielers. Ich bekomme aber irgendwie trotzdem das Menu des anderen wenn ich ihm das selbe Script gebe. Ich bin aber doch soweit gekommen das ich das Menu beim jeweiligen Spieler habe, dafür musste ich ihm einen festen Namen geben. Das entsprechende Script rufe ich aus einem Trigger auf, was direkt dem Spielernamen zugewiesen ist. (alive PL1) Das macht mich ganz irre. |
31.01.2010, 20:34 | #14 (permalink) |
Registriert seit: 04.01.2010
Beiträge: 63
|
da ist dann die frage bei wem das script ausgeführt wird. je nachdem wer das script startet ist dann der der player
die init.sqf wird zB von jedem beim connecten ausgeführt: Code:
if (isServer) then { nur für den der den server gestartet hat }; für jeden |
31.01.2010, 21:59 | #15 (permalink) |
Registriert seit: 25.01.2010
Beiträge: 6
|
AHH HA if (isServer) then
Den werde ich auch brauchen um die Team-Punkte zu sammeln. Dann muss das nicht jeder Client für sich machen. Das mit der init.sqf ist auch so eine Sache. Die wird ja auf jedem Client gestartet, enthält aber keine Spielerdaten die ich an das entsprechende ServerScript oder SpielerInitScript senden kann. Und wenn ich dann aus der init.sqf die [] exec "spieler_ini.sqf" starte, bekomme ich keine Daten des Spielers übergeben. Also mache ich es derzeit aus einem Trigger mit nil = PL1 execVM "PL_ini.sqf"; Es ist auch ok das er das jeweilige Script beendet und eine neue PL_ini startet. Bestimmte Daten möchte ich dann anderen Scripten übergeben. Und wenn ich das recht verstanden hab, ist eine Zuweisung A=10; an den Client gebunden, so das der Wert nicht zu die anderen Clients gelangt. |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Post wird nicht angezeigt | Stundorn | Hilfe | 5 | 23.09.2009 21:20 |
addAction nach respawn | Nebelrambo | Editing & Scripting | 0 | 17.08.2009 21:26 |
addAction mal wieder | DirtyHarryTPC | Editing | 10 | 22.04.2009 17:14 |
Finde eine addaction Anweisung nicht | Andi <C.L.A.N.> | Editing | 2 | 22.10.2008 17:14 |
Tracks mehrfach nutzen | Sgt_Delaney | Editing | 0 | 21.11.2006 11:42 |