17.11.2010, 10:59 | #1 (permalink) |
Sidechat ist nur local!
Hallo,
wieder einmal beschäftigt mich das Problem Auslöser für eine Didicated Mission local bzw. global zu schalten. Sorry, aber da ist bei mir der Groschen noch nicht gefallen Zu meinem Problem: Ich habe Auslöser, die um grunde genommen einen Funkspruch auslösen sollen. Dieser Auslöser ist aber an bestimmte Bedingungen geknüpft! 1.) Beispiel: Auslöser auf der Karte: Bedingung: Code:
player hasWeapon "EvMoscow" and player hasWeapon "EvKobalt" and player distance fst1 <= 10 and !(alive fst1) Code:
player sidechat localize "@STR_Dlg_Trigger_Fst1" Wenn ich diese Einheit spiele, und ich den Auslöser aktiviere, kann ich den Text lesen, aber alle Andere Spieler sehen den nicht! Woran kann das liegen??? 2.) Beispiel, was mich komplett verwirrt, wäre schön wenn mir da jemand weiter hilft! Zwei Auslöser, die zusammen ein Ereignis auslösen soll Auslöser 1: Bedingung: Code:
!(player hasWeapon "EvMoscow") and side Player==west and alive player Code:
Schalter1=true, HQ sidechat "blabla ... Beweise verloren ... bla bla Bedingung: Code:
Schalter1 Code:
playMusic "Track2" Problem: Nachdem die Beweise abgelegt wurden, sieht nur dieser Spieler den Funk, hört die Musik und sieht die Ausblendung. Aber alle anderen bekommen davon nix mit. Bitte, könnt ihr mir sagen warum das so ist? |
|
17.11.2010, 11:15 | #2 (permalink) |
Registriert seit: 20.05.2009
Beiträge: 605
|
naja so wie ich das sehe sprichst du ja uach nur den Player an der den auslöser betätigt.
Versuchs mal so : Auslöser erstellen Bedingung: Code:
player in thislist Code:
hint "Hier dein Text bla bla "; Alle im auslöserbereich sollten dann eine nachricht bekommen..... bzw. kannst du natürlich auch globale auslöser so bestücken. |
17.11.2010, 11:34 | #3 (permalink) |
Also dann so?
Code:
player in thislist and player hasWeapon "EvMoscow" and player hasWeapon "EvKobalt" and player distance fst1 <= 10 and !(alive fst1) Code:
player sidechat localize "@STR_Dlg_Trigger_Fst1" |
|
17.11.2010, 11:41 | #4 (permalink) |
Registriert seit: 20.05.2009
Beiträge: 605
|
Meiner meinung nach müsste das funktionieren. Am besten machst du das dann mit einer verzögerung. Da ja immer jemand zuerst den auslöserbereich betritt und dann ja auch nur eine person die nachricht bekommt. Muss also irgendwie gewährleistet sein das die anderen auch schon im bereich sind. Ansonsten kannst du das mit 2 auslösern machen ... einen kleinen der den zweiten aktiviert mit einem größeren radius oder dann halt einen globalen auslöser der den funkspruch durchgibt. Ich verwende es in meiner mission am start wenn man auf die karte kommt. dardurch ist bei mir gewährleistet das alle in dem auslöserbereich stehen. in deinem fall muss man evtl. bisschen tricksen. glaube aber das es funktionieren sollte. |
17.11.2010, 11:54 | #5 (permalink) |
Naja, habe ja keine Auslöser-Bereiche, da alle Auslöser bei mir entweder den Status prüfen, oder auf erfüllte Bedingungen warten.
Daher sind Alle meine Auslöser auf 0/0 gestellt (also laut Editing-Guide) Global. Nur meiner Meinung nach, ist das Problem, dass einer der Auslöser einen Spieler abfragt, und einen andern Auslöser startet. Der zweite hat also nur den ersten Auslöser als bedingung, trotzdem wurde der SideChat nur bei dem einen Spieler angezeigt. Und du meinst, dass Player in thislist am Anfang der Bedingung das Problem löst? Ich frage nur, da mir diese Bedingung nicht ganz einleuchtet. Ich werde ihn aber dennoch einbauen, und mal schnell auf dem Server schauen, ob es funzt. Falls das nicht der Fall ist, würde ich wirklich sehr über weitere Hilfe freuen... MfG - Christopher |
|
17.11.2010, 14:01 | #7 (permalink) |
ja, das mach ich ja andauernd.
Ist nur sehr Zeitaufwendig, die Mission zu editieren, hochzuladen um anschließend mit jemanden zu testen, der evtl nicht den ganzen Tag dafür Zeit hat. Xeno, es würde mich überglücklich machen, wenn du mir verraten würdest, wie ich das mit der Publicvariable hin bekomme, denn die Ideen, wie man das erreichen kann gehen mir langsam aus, und da du es ja bestimmt weist, wäre ich für deine Hilfe sehr dankbar. |
|
17.11.2010, 14:40 | #8 (permalink) |
Registriert seit: 01.07.2006
Ort: Kabul
Alter: 38
Beiträge: 2.666
|
Du kannst das mit publicVariable loesen.
ersetze in deinem 1.Trigger die aktvierung mit: Code:
publicV1=true; publicVariable "publicV1"; Code:
!isServer and publicv1 Damit loest der Trigger 1 der durch den Player ausgeloest wird den Trigger publicV1 aus. Dessen aktivierung durch publicVariable an alle anderen Clients gesendet wird. Somit ueberall (bei jedem client) ausgefuehrt wird. (der sidechat wird auf jedem client ausgefuehrt) genau das selbe musst du auch bei deinen anderen Triggern machen mit dem Text und Musictrack. auch dort wieder die aktivierung ersetzten mit: Code:
publicV2=true; publicVariable "publicV2"; Code:
!isServer and publicv2 Code:
Schalter1=true; HQ sidechat "blabla ... Beweise verloren ... bla bla |
17.11.2010, 15:31 | #10 (permalink) |
Registriert seit: 01.07.2006
Ort: Kabul
Alter: 38
Beiträge: 2.666
|
wie du den Trigger nennst spielt keine rolle, wichtig ist halt nur damit du bei publicVariable den selben namen angibts wie der Trigger hat. |
17.11.2010, 15:58 | #11 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
In folgendem Link habe ich ein Beispielmission angeführt, wie man mit wenigen Auslösern ganz einfach eine universelle "Befehlsübertragung" anlegen kann:
2 Fragen: bezügl. setObjectTexture u. einem AA-Script Damit sendest du z.B. so deine Befehlszeile: BefehlAnWest = {S1 sidechat localize "@STR_Dlg_Trigger_Fst1"}; publicVariable "BefehlAnWest" zu den Mitspielern der West Seite. |
18.11.2010, 07:08 | #12 (permalink) |
Erstmal danke für eure Hilfe.
Es wurden zwar mir der Hilfe von 'Moerderhoschi' einige Funksprüche an alle Spieler gesendet, aber leider hatte sich dann das Problem gezeigt, dass sich diese nicht wiederholen ließen Einige wurden erst garnicht gezeigt. zB 1) Bedingung: Code:
!(someAmmo ari) Code:
arileer=true; publicVariable "arileer"; Bedingung: Code:
arileer Code:
gunner ari sideChat localize "@STR_Dlg_Trigger_ari1" Bedingung: Code:
arileer Code:
ari addMagazine "8Rnd_82mmHE_2B14"; reload ari; reload gunner ari;gunner ari sideChat localize "@STR_Dlg_Trigger_ari2" Soll ich etwa am letzten Auslöser dann jede PublicVariable wieder auf false stellen? 3) Bedingung: Code:
arileer Code:
ari addMagazine "8Rnd_82mmHE_2B14"; reload ari; reload gunner ari;gunner ari sideChat localize "@STR_Dlg_Trigger_ari2";arileer=false; publicVariable "arileer"; |
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Stringtable-Texte im SideChat? | GER_CJ-187 | Editing & Scripting | 10 | 13.11.2010 20:43 |