Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 07.07.2010, 20:23   #1 (permalink)
Newbie
 
Benutzerbild von SniperWolf
 
Registriert seit: 07.07.2010
Ort: Deutschland
Beiträge: 37
Standard Actionmenü nur für den Spieler im Auslöserbereich

Hi Leute,

Ich bastel im Moment an einer Mission für Arma II und ich verzweifel langsam. Ich habe ein Script das über das Actionmenü aufgerufen werden soll. Wie man den Actionmenüeintrag hinzufügt weiss ich ja schon und habe das ganze an einen Auslöser gekoppelt. Nun soll es im Multiplayer so sein das der Actionmenüeintrag nur bei dem einen Spieler erscheint, welcher in dem Auslöser ist. Wenn nun jedoch eine andere Einheit aus dem BLUFOR Team den Auslöser beitritt, dann erscheint der Actionmenüeintrag bei allen anderen Spielern der BLUFOR auch.

Ich habe nun schon gelesen man soll es vorher prüfen mit "local player", aber das funktioniert so auch nicht.. Immer noch das selbe wie vorher. Ist jemand in dem Auslöser erscheint der Actionmenüeintrag wieder bei allen Spielern.

Den Actionmenüeintrag an einen festen Spieler koppeln geht auch nicht, da der Eintrag eben immer bei dem Spieler erscheinen soll der im Auslöser ist und es gibt 5 menschliche Spieler.

Im Moment habe ich die Abfrage so:

if (((isserver) && (local player)) || !(isserver)) then


_artiaufrufen = player addAction [("Artillerie rufen"),

"test.sqf"];

};

was ist daran falsch??

Ich hoffe ihr könnt mir helfen...

Vielen Dank und viele Grüße,
SniperWolf
SniperWolf ist offline   Mit Zitat antworten
Alt 08.07.2010, 09:53   #2 (permalink)
500 Beiträge
 
Benutzerbild von Anemia
 
Registriert seit: 20.05.2009
Beiträge: 605
Standard

Zitat von SniperWolf Beitrag anzeigen

Hi Leute,

Ich bastel im Moment an einer Mission für Arma II und ich verzweifel langsam. Ich habe ein Script das über das Actionmenü aufgerufen werden soll. Wie man den Actionmenüeintrag hinzufügt weiss ich ja schon und habe das ganze an einen Auslöser gekoppelt. Nun soll es im Multiplayer so sein das der Actionmenüeintrag nur bei dem einen Spieler erscheint, welcher in dem Auslöser ist. Wenn nun jedoch eine andere Einheit aus dem BLUFOR Team den Auslöser beitritt, dann erscheint der Actionmenüeintrag bei allen anderen Spielern der BLUFOR auch.

Ich habe nun schon gelesen man soll es vorher prüfen mit "local player", aber das funktioniert so auch nicht.. Immer noch das selbe wie vorher. Ist jemand in dem Auslöser erscheint der Actionmenüeintrag wieder bei allen Spielern.

Den Actionmenüeintrag an einen festen Spieler koppeln geht auch nicht, da der Eintrag eben immer bei dem Spieler erscheinen soll der im Auslöser ist und es gibt 5 menschliche Spieler.

Im Moment habe ich die Abfrage so:

if (((isserver) && (local player)) || !(isserver)) then


_artiaufrufen = player addAction [("Artillerie rufen"),

"test.sqf"];

};

was ist daran falsch??

Ich hoffe ihr könnt mir helfen...

Vielen Dank und viele Grüße,
SniperWolf



Also du kannst du verschiedene "Cases" machen ..
grob gesagt ..

If Player1 im auslöser Then player2,3,4,5 kein actionmenü eintrag

usw.

Sitze auf der arbeit und habe gerade keine zeit das in richtige Scriptsprache um zu schreiben , aber meiner meinung sollte es so gehen.

Es gibt doch aber auch sehr viele schöne Arti Scripte .... warum also ein neues schreiben ?!
Btw. du kannst doch auch einfach das Rufen der Arti an ein Fahrzeug oder Objekt binden , dann kannst du dir den Actionmenü eintrag sparen und auch den die sache mit dem "einzel aufruff" für nur eine einheit

Geändert von Anemia (08.07.2010 um 09:56 Uhr).
Anemia ist offline   Mit Zitat antworten
Alt 08.07.2010, 10:03   #3 (permalink)
50 Beiträge100 Beiträge
 
Benutzerbild von SmartGun
 
Registriert seit: 04.06.2008
Beiträge: 197
Standard

Moin,

bin au im Gschäft und auf die schnelle fällt mir noch ein:

Code:
if (player in thislist) then { _ari_act = player addaction ["call ari","test.sqf", [],1,false,true,"","_target == player"]; };
weiss ne tob´s funzt aber vllt. hilfts was...
SmartGun ist offline   Mit Zitat antworten
Alt 08.07.2010, 15:07   #4 (permalink)
Newbie
 
Benutzerbild von SniperWolf
 
Registriert seit: 07.07.2010
Ort: Deutschland
Beiträge: 37
Standard

Hi Leute,

erstmal Danke für eure Antworten!

Zur ersten Methode - dies dürfte etwas zu kompliziert werden, denn da müsste ich doch für jede einzelne Einheit einen Auslöser erstellen der dann immer bei den anderen das Actionmenü ausblendet bzw. den Eintrag?!

Das Problem ist aber auch das mehrere Spieler diesen Actionmenüeintrag bekommen sollen können und wenn nun Player 2 in den Auslöser geht und das Script ausgeführt wird, dann verschwindet doch bei Player 1 der Eintrag auch wieder oder nicht, da ja über das Player 2 Script dann der Menüeintrag wieder entfernt werden soll.

Also noch mal zur Übersicht wie es sein soll:

Es gibt 2 Zonen auf der Karte die über einen Auslöser festgelegt sind. Kommt ein BLUFOR Spieler (nur menschliche, KI ist in der Mission aktiviert und muss sie auch bleiben) in diesen rein, soll ihm der Actionmenüeintrag erscheinen, um die Artillerie zu rufen. Kommt der nächste Spieler ebenfalls in diesen Bereich soll auch ihm der Eintrag erscheinen und alle anderen die NICHT drin sind, denen soll der Eintrag logischerweise nicht erscheinen. Verlassen die Spieler das Gebiet wieder soll der Eintrag natürlich verschwinden und das natürlich auch nur bei dem Spieler der das Gebiet verlassen hat.


Zur Methode 2 von SmartGun - habe ich soebend ausprobiert, funktioniert ebenfalls nicht. Sobald ein Bot aus meinem Team in den Auslöser latscht erscheint wieder bei mir das Actionmenü ... :-(


Trotzem noch mal vielen Dank bisher!
SniperWolf ist offline   Mit Zitat antworten
Alt 08.07.2010, 15:23   #5 (permalink)
500 Beiträge
 
Benutzerbild von Anemia
 
Registriert seit: 20.05.2009
Beiträge: 605
Standard

Wie oben schon kurz erwähnt .. binde doch das Actionsmenü an ein Objekt, Terminal oder Fahrzeug , dann kann nur jemand der am fahrzeug steht (das sich in deiner zone befindet) die Arti rufen .... wenn dann ein zweiter spieler in die zone kommt .... kann der die Arti ebenfalls am Objekt rufen.
Anemia ist offline   Mit Zitat antworten
Alt 08.07.2010, 15:57   #6 (permalink)
Newbie
 
Benutzerbild von SniperWolf
 
Registriert seit: 07.07.2010
Ort: Deutschland
Beiträge: 37
Standard

Die Lösung kommt leider nicht in Frage, denn der Eintrag soll jederzeit von überall aufrufbar sein... Sprich wenn sich der Spieler irgentwo unter Beschuss befindet und sich versteckt oder sowas soll er die Artillerie immernoch rufen können. Also ist dieser Weg eher nicht brauchbar für meine Mission.
SniperWolf ist offline   Mit Zitat antworten
Alt 08.07.2010, 19:46   #7 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 24.01.2009
Beiträge: 209
Standard

.. ok so wie ich es verstehe soll der Actionmenü Eintrag in den definierten Bereichen immer dem Spieler zur Verfügung stehen und verläßt er die Bereiche dann soll der Eintrag verschwinden ... das Problem dabei ... die MP Fallstricke ...

Lösungsansatz:

Auslöser:

Aktivierung: Bluefor vorhanden
Mehrfach: Ja
Bedingung: this && player in thislist <- das der magische Befehl
Aktivierung: ID1 = player addAction "xxx", (wichtig ID vergeben)
Deaktivierung: player removeaction ID1



... soll nach dem abrufen der Aktion der Eintrag verschwinden wärend der player noch im bereich ist dann müß wer noch ne andere Lösung finden ... machbar!

... und noch was ... addaction is immer "lokal" ... das bedeutet das script was du über den Eintrag startest wird nur auf dem rechner ausgeführt der es startet ... is auch praktisch so ...

Geändert von Vocoder (08.07.2010 um 19:50 Uhr).
Vocoder ist offline   Mit Zitat antworten
Alt 08.07.2010, 20:28   #8 (permalink)
Newbie
 
Benutzerbild von SniperWolf
 
Registriert seit: 07.07.2010
Ort: Deutschland
Beiträge: 37
Standard

@ Vocoder - Daaaaaaaaaaanke, genau danach habe ich gesucht, das funktioniert perfekt!! :-)

Mit diesem Lokal und Global steige ich noch nicht ganz durch, ich habe dies unteranderem auch für eine Geisel-Befrei Action benutzt. Im Script welches ausgeführt wird steht dieses:

ziel1persona DoMove Getpos rescuezone;

das heißt das beim ausführen diese geisel dann in einen vordefinierten Bereich rennt (ein Lazarett in der Basis). Das heißt doch auch das die Geisel auf allen Rechnern auf dem Server auch dahin rennt oder kann es passieren das die bei den anderen stehen bleiben?

Geändert von SniperWolf (08.07.2010 um 20:31 Uhr).
SniperWolf ist offline   Mit Zitat antworten
Alt 08.07.2010, 20:58   #9 (permalink)
500 Beiträge
 
Benutzerbild von Anemia
 
Registriert seit: 20.05.2009
Beiträge: 605
Standard

Zitat von SniperWolf Beitrag anzeigen

@ Vocoder - Daaaaaaaaaaanke, genau danach habe ich gesucht, das funktioniert perfekt!! :-)

Mit diesem Lokal und Global steige ich noch nicht ganz durch, ich habe dies unteranderem auch für eine Geisel-Befrei Action benutzt. Im Script welches ausgeführt wird steht dieses:

ziel1persona DoMove Getpos rescuezone;

das heißt das beim ausführen diese geisel dann in einen vordefinierten Bereich rennt (ein Lazarett in der Basis). Das heißt doch auch das die Geisel auf allen Rechnern auf dem Server auch dahin rennt oder kann es passieren das die bei den anderen stehen bleiben?


Du kannst auch der geisel befehlen einer person zu folgen , bzw. in deine gruppe aufnehmen ... dann kannst du selbst bestimmen wo sie hinläuft oder ob sie irgendwo einsteigen soll.

2 fragen zu scriptbefehle

Sollte da drinne stehen .. habs aber nicht getestet.
Anemia ist offline   Mit Zitat antworten
Alt 08.07.2010, 21:42   #10 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 24.01.2009
Beiträge: 209
Standard

Zitat von SniperWolf Beitrag anzeigen


das heißt das beim ausführen diese geisel dann in einen vordefinierten Bereich rennt (ein Lazarett in der Basis). Das heißt doch auch das die Geisel auf allen Rechnern auf dem Server auch dahin rennt oder kann es passieren das die bei den anderen stehen bleiben?


... welche Einheit wann und warum auf welchem Clienten oder dem Server lokal ist ... isn bissl kniffelig ... am einfachsten ist es eigentlich, möglichst viel mit den Auslösern zuarbeiten ... anstatt mit Scripten ... die Auslöser beachtet der Server genauso wie die Clienten ... ansonsten ist es leichter als man denkt so lange man im normalen Rahmen arbeitet ... so schwer ist das mit der Lokalität gar nicht ... nicht verzagen ... und einfach Probieren Probieren Probieren ... irgendwann steigt man durch!
Vocoder ist offline   Mit Zitat antworten
Alt 08.07.2010, 22:14   #11 (permalink)
Newbie
 
Benutzerbild von SniperWolf
 
Registriert seit: 07.07.2010
Ort: Deutschland
Beiträge: 37
Standard

Zitat von Anemia Beitrag anzeigen

Du kannst auch der geisel befehlen einer person zu folgen , bzw. in deine gruppe aufnehmen ... dann kannst du selbst bestimmen wo sie hinläuft oder ob sie irgendwo einsteigen soll.

2 fragen zu scriptbefehle

Sollte da drinne stehen .. habs aber nicht getestet.

Nene das ist schon so in Ordnung das sie ein festes Ziel anläuft :-) Das soll auch so bleiben. Ich wollte nur wissen ob die Geisel auch auf allen anderen Clienten auf dem Server zu diesem Ziel laufen, wenn das Script aktiviert wurde.


... noch mal vielen Dank, jetzt funktioniert die Mission schon fast perfekt :-)
SniperWolf ist offline   Mit Zitat antworten
Alt 09.07.2010, 07:41   #12 (permalink)
500 Beiträge
 
Benutzerbild von Anemia
 
Registriert seit: 20.05.2009
Beiträge: 605
Standard

Zitat von SniperWolf Beitrag anzeigen

Nene das ist schon so in Ordnung das sie ein festes Ziel anläuft :-) Das soll auch so bleiben. Ich wollte nur wissen ob die Geisel auch auf allen anderen Clienten auf dem Server zu diesem Ziel laufen, wenn das Script aktiviert wurde.


... noch mal vielen Dank, jetzt funktioniert die Mission schon fast perfekt :-)


Na dann zeig sie mal her ... sowie du fertig bist.
Anemia 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
Verbündeten Spieler markieren Mister Burke Multiplayer Community 0 30.05.2010 11:01


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 120 121 122 123 124 125 126