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 :komisch: 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? |
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. |
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" |
Zitat:
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. :komisch: glaube aber das es funktionieren sollte. |
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 |
*deleted*
Xeno |
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. :anbet: |
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 |
ok, danke, werds mal so einbauen.
Ist zwar ne menge anzupassen, aber das ist es mir wert! Nur eine Frage, mussen die Auslöser publicVx heißen? gehts auch so? loosebw=true; publicVariable "loosebw" dann müsste ich nicht so viel umschreiben... |
Zitat:
|
In folgendem Link habe ich ein Beispielmission angeführt, wie man mit wenigen Auslösern ganz einfach eine universelle "Befehlsübertragung" anlegen kann:
http://hx3.de/editing-scripting-167/...75/#post338786 Damit sendest du z.B. so deine Befehlszeile: BefehlAnWest = {S1 sidechat localize "@STR_Dlg_Trigger_Fst1"}; publicVariable "BefehlAnWest" zu den Mitspielern der West Seite. |
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"; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:17 Uhr. |
Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias