Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 07.07.2009, 21:18   #1 (permalink)
500 Beiträge
 
Benutzerbild von Clawhammer
 
Registriert seit: 07.01.2008
Alter: 31
Beiträge: 635
Clawhammer eine Nachricht über ICQ schicken
Standard Scripte sind nicht Sync im MP

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).
Clawhammer ist offline   Mit Zitat antworten
Alt 07.07.2009, 22:49   #2 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Rettich
 
Registriert seit: 06.04.2008
Ort: bei Kiel
Alter: 44
Beiträge: 313
Rettich eine Nachricht über Skype™ schicken
Standard

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).
Rettich ist offline   Mit Zitat antworten
Alt 07.07.2009, 23:03   #3 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 24.01.2009
Beiträge: 209
Standard

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).
Vocoder ist offline   Mit Zitat antworten
Alt 08.07.2009, 07:58   #4 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Tajin
 
Registriert seit: 17.01.2008
Beiträge: 267
Standard

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
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";
Den Aktionseintrag hab ich jetzt mal unberücksichtigt gelassen, kann man aber auch die gleiche Weise umsetzen bzw kannst du den Trigger/Script beliebig erweitern mit zusätzlichen Bedingungen und Abfragen.

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).
Tajin ist offline   Mit Zitat antworten
Alt 09.07.2009, 21:05   #5 (permalink)
500 Beiträge
 
Benutzerbild von Clawhammer
 
Registriert seit: 07.01.2008
Alter: 31
Beiträge: 635
Clawhammer eine Nachricht über ICQ schicken
Standard

Super funktioniert ja 1A :-)

Danke euch für die Info ;-)

Mfg
Clawhammer
__________________
Clawhammer ist offline   Mit Zitat antworten
Alt 10.07.2009, 10:44   #6 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Hier ein Beitrag zur Befehlsübertragung in MP:

http://hx3.de/editing-139/befehls-be...usl-ser-16205/
Vienna 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
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


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