Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 29.01.2010, 21:36   #1 (permalink)
Newbie
 
Benutzerbild von SpaceCop
 
Registriert seit: 25.01.2010
Beiträge: 6
Icon5 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 ?
SpaceCop ist offline   Mit Zitat antworten
Alt 29.01.2010, 23:44   #2 (permalink)
500 Beiträge
 
Benutzerbild von DirtyHarryTPC
 
Registriert seit: 18.07.2008
Alter: 38
Beiträge: 560
DirtyHarryTPC eine Nachricht über ICQ schicken
Standard

mit ner (vehicle player == player) abfrage.
DirtyHarryTPC ist offline   Mit Zitat antworten
Alt 30.01.2010, 00:36   #3 (permalink)
Newbie
 
Benutzerbild von SpaceCop
 
Registriert seit: 25.01.2010
Beiträge: 6
Standard

Genau das scheint es zu sein was ich brauche.
Vielen Dank DirtyHarryTPC für Deine Hilfe mit so machtvollen Worten
SpaceCop ist offline   Mit Zitat antworten
Alt 30.01.2010, 12:19   #4 (permalink)
500 Beiträge
 
Benutzerbild von DirtyHarryTPC
 
Registriert seit: 18.07.2008
Alter: 38
Beiträge: 560
DirtyHarryTPC eine Nachricht über ICQ schicken
Standard

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
DirtyHarryTPC ist offline   Mit Zitat antworten
Alt 30.01.2010, 12:32   #5 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

Mach am Besten noch ein sleep 1; in deine While Schleife, damit WaitUntil nicht jeden Frame überprüft, ob der Spieler noch lebt
Außerdem würde dein Spieler jetzt 100000x die Action bekommen
Cyborg11 ist offline   Mit Zitat antworten
Alt 30.01.2010, 12:40   #6 (permalink)
500 Beiträge
 
Benutzerbild von DirtyHarryTPC
 
Registriert seit: 18.07.2008
Alter: 38
Beiträge: 560
DirtyHarryTPC eine Nachricht über ICQ schicken
Standard

jut dann schreibs ma rain, habs auch nur auf die schnelle ma so hingeschmiert.
DirtyHarryTPC ist offline   Mit Zitat antworten
Alt 30.01.2010, 12:59   #7 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

Reicht:
Code:
if (!local player) exitWith {};

waitUntil {vehicle player == player};

player addAction ["whatever", "script.sqf"];
Da er die Action ja sowieso über einen Auslöser hinzufügt
Cyborg11 ist offline   Mit Zitat antworten
Alt 30.01.2010, 13:18   #8 (permalink)
500 Beiträge
 
Benutzerbild von DirtyHarryTPC
 
Registriert seit: 18.07.2008
Alter: 38
Beiträge: 560
DirtyHarryTPC eine Nachricht über ICQ schicken
Standard

Und was wenn der player nun respawnt ? Dann is der action doch weg , oder ?
DirtyHarryTPC ist offline   Mit Zitat antworten
Alt 30.01.2010, 13:30   #9 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

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.
Cyborg11 ist offline   Mit Zitat antworten
Alt 30.01.2010, 13:59   #10 (permalink)
500 Beiträge
 
Benutzerbild von DirtyHarryTPC
 
Registriert seit: 18.07.2008
Alter: 38
Beiträge: 560
DirtyHarryTPC eine Nachricht über ICQ schicken
Standard

Zitat von Cyborg11 Beitrag anzeigen

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.


wo steht das denn ? Bin ich blind
DirtyHarryTPC ist offline   Mit Zitat antworten
Alt 30.01.2010, 15:15   #11 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

Zitat von SpaceCop Beitrag anzeigen

Ich möchte eine MP Mission machen wo jeder Spieler verschiedene Auswahlmöglichkeiten im Action-Menu hat, die sich je nach Position verändern.

Also ich hab es so verstanden. Oder bezog sich das darauf, welche Einheit man genommen hat?
Cyborg11 ist offline   Mit Zitat antworten
Alt 30.01.2010, 20:17   #12 (permalink)
Newbie
 
Benutzerbild von SpaceCop
 
Registriert seit: 25.01.2010
Beiträge: 6
Standard

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.
SpaceCop ist offline   Mit Zitat antworten
Alt 31.01.2010, 20:18   #13 (permalink)
Newbie
 
Benutzerbild von SpaceCop
 
Registriert seit: 25.01.2010
Beiträge: 6
Icon11

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.
SpaceCop ist offline   Mit Zitat antworten
Alt 31.01.2010, 21:34   #14 (permalink)
50 Beiträge
 
Registriert seit: 04.01.2010
Beiträge: 63
Standard

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
aber ich hab mit MP nicht viel am hut also keine garantie...
LurchiDerLurch ist offline   Mit Zitat antworten
Alt 31.01.2010, 22:59   #15 (permalink)
Newbie
 
Benutzerbild von SpaceCop
 
Registriert seit: 25.01.2010
Beiträge: 6
Standard

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.
SpaceCop ist offline   Mit Zitat antworten
Alt 01.02.2010, 16:31   #16 (permalink)
50 Beiträge
 
Registriert seit: 04.01.2010
Beiträge: 63
Standard

ja, das geht aber mit dem befehl publicvariable "bla"
LurchiDerLurch 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
Post wird nicht angezeigt Stundorn Hilfe 5 23.09.2009 22:20
addAction nach respawn Nebelrambo Editing & Scripting 0 17.08.2009 22:26
addAction mal wieder DirtyHarryTPC Editing 10 22.04.2009 18:14
Finde eine addaction Anweisung nicht Andi <C.L.A.N.> Editing 2 22.10.2008 18:14
Tracks mehrfach nutzen Sgt_Delaney Editing 0 21.11.2006 12:42


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