![]() |
#1 (permalink) |
![]() |
![]()
Hallo, ich habe ein problem mit einigen Scripten:
Und zwar habe ich ein kleines Dialogscript geschrieben, um die sache aber zu verkürzen nehme ich mal dieses Bespiel: Einheitname: civ01 initfeld: ID01 = civ01 AddAction ["Reden","Scripts\Conversation\Conv01.sqs"]; Scriptinhalt: civ01 Globalchat "bla bla bla Mr.Freeman"; civ01 RemoveAction ID01; Wenn ich nun Ingame die person mit dem Action menu "Reden" auswähle plappert der das was ich ihm vorgegeben habe und es wird der actionmenueintrag gelöscht. Wenn ich das ganze nun im MP laufe lassen habe ich das Problem das nur der Spieler der die Aktion ausführt den Text angezeigt bekommt und nur für diesen Spieler der Actionmenueintrag verschwindet. Was kann ich da machen das das überall sync ist? Danke für eure Hilfe ! ![]() Mfg Clawhammer
__________________
![]() Geändert von Clawhammer (07.07.2009 um 21:20 Uhr). |
![]() |
![]() |
![]() |
#2 (permalink) |
![]() ![]() ![]() |
![]()
Versuch anstatt deinem globalchat....
player setVehicleInit "hint ""bla bla bla Mr.Freeman"";"; processInitCommands; mit Globalchat habe ich noch nicht gearbeitet, kannst es aber auch damit anstatt des hint versuchen... Geändert von Rettich (07.07.2009 um 22:54 Uhr). |
![]() |
![]() |
![]() |
#3 (permalink) |
![]() ![]() Registriert seit: 24.01.2009
Beiträge: 209
|
![]()
1. addAction ist immer nur lokal ...
Das Script startet also nur auf dem Rechner der den ActionEintrag auslöst. Das kann man jetzt sehr einfach und sicher mit einem Auslöser umsetzen, dazu einfach die ganze Geschichte in zwei Scripte splitten. - das erste setzt eine globale Variable deiner Wahl, als Beispiel "talk", auf true und flüstert den anderen Clienten inclusive dem Server via "publicvariable" das das 2 Script starten soll. Script1: talk=true; publicVariable "talk" Auslöserbedingung: talk Bei Aktivierung:[] exec "talk.sqs" 2. Script: dann dort die globalChats rein und die removeAction so würde ichs machen ![]() P.S. Indem man Scripte mit Bedingungen und Auslösern koppelt kann man auch sehr schön Kamera Szenen auf den Clienten syncronisieren, dort entstehen oft Desyncs durch unterschiedliche Ladezeiten. ![]() Geändert von Vocoder (07.07.2009 um 23:12 Uhr). |
![]() |
![]() |
![]() |
#4 (permalink) |
![]() ![]() ![]() Registriert seit: 17.01.2008
Beiträge: 267
|
![]()
Die beste Lösung die mir dazu einfällt wäre ein Script oder Auslöser zu verwenden, welcher eine bestimmte Variable abfragt und aktiv wird sobald diese Variable != "" ist.
Ungefähr so: activation Code:
Talkvar != "" Code:
Talkwho globalchat Talkvar; Talkvar = "" In einem Script bzw der Aktion definierst du dann lediglich die beiden Variablen, Talkvar und Talkwho und sendest sie an alle. In deinem Fall: Code:
Talkwho = civ01; Talkvar = "bla bla bla Mr.Freeman"; PublicVariable "Talkwho"; PublicVariable "Talkvar"; Ich verwende in meinen Missionen z.B. eine Art Kernscript, welches auch über Publicvariables angesteuert wird und dafür sorgt das ich einfach und Komfortabel scriptbefehle auf allen Clients oder gezielt nur auf manchen bzw nur auf dem Server laufen lassen kann. Dieses Prinzip erleichtert einem das ganze Lokalitäts-Problem im Multiplayer gewaltig.
__________________
![]() Geändert von Tajin (08.07.2009 um 08:01 Uhr). |
![]() |
![]() |
![]() |
#6 (permalink) |
![]() ![]() ![]() ![]() Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
![]()
Hier ein Beitrag zur Befehlsübertragung in MP:
http://hx3.de/editing-139/befehls-be...usl-ser-16205/ |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
![]() |
||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Yoma Addon Sync 2009 | .kju | Mods & Addons | 4 | 15.05.2009 13:23 |
Waffen sind nicht mehr sichtbar! | Schefflar | Mods & Addons | 4 | 29.12.2008 13:11 |
Suche Scripte | T-ERROR | Editing | 13 | 14.09.2008 11:01 |
[Problem] Warum sind BIS Texturen bei meinen Addons nicht durchsichtig? | Jannes M-Sp | Mod und Addon Ecke | 0 | 12.11.2004 14:40 |