06.04.2014, 22:06 | #1 (permalink) |
Registriert seit: 10.10.2006
Beiträge: 263
|
Variable an Server geben zum Zusammenrechnen
Guten Tag,
Ich sitze an einen Problem wo mir der Anfang fehlt. Folgendes habe ich vor Ich möchte das ein Spieler im MP mit einer Anderen Interagiert und danach die Zahl die er ausgewählt hat zb 8 in eine Variable übergeben wird um dann an denn Server zu senden. P1 wählt 8 P2 wählt 6 P3 wählt 2 NPC gibt: Gesamt 16 aus Es sollte aber nicht Zwangsläufig beim NPC nur die Auswahl geben sondern eben die „selbst“ ausgewählte Zahl in einer Variable stehen die dann Erst vom Server mit denn von allen Anderen Spielern ausgerechnet wird. Im Grunde das der Server zu einen Zeitpunkt sagt „gebt mir alle eure Variable _playerzahl und rechnet die dann zusammen.“ Die Idee dahinter ist das jeder Spieler einen NPC eine Zahl mitteilt und diese Zusammengerechnet werden auf denn Server um am ende eine Gesamtzahl auszugeben. Nach den Punkt wer am nächsten an der Gesamtzahl ist Gewinnt. Jetzt kommt es zu meinen Problem wie übertrage ich die Zahl von jeden Einzelnen Spieler an denn Server du lasse Sie zusammenrechnen? Über einen Hilfe zum Start wäre ich sehr Dankbar. |
07.04.2014, 07:55 | #2 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Initialisieren beim Server: Zahl = 0; Gesamt = 0;
Senden bei Clients: Zahl = 10; publicVariableServer "Zahl"; Fürs Senden muss eine globale Variable (ohne Unterstrich) verwendet werden. Mit dem Befehl publicVariableServer wird die Variable mit ihrem Wert an den Server gesendet. Empfangen beim Server: if (Zahl != 0) then {Gesamt = Gesamt + Zahl; Zahl = 0}; Empfänger mit Auslöser: Code:
Achse A und B: 0 Aktivierung : Keiner | Mehrfach Countdown : 0 - 0 - 0 Bedingung : Zahl != 0 Bei Akt. : Gesamt = Gesamt + Zahl; Zahl = 0 |
07.04.2014, 10:21 | #3 (permalink) |
Registriert seit: 10.10.2006
Beiträge: 263
|
Viel Dank.
Dein Gedankengang ist nun dahinter das ich die Zahl in der Variable Zahl Speichere. Die Zahl setzt der Spieler größer als 0 und übergibt sie an denn Server. Wenn die Zahl größer als 0 wird der Server mit Hilfe eines Auslösers welcher aller 2 Sekunden (Reaktionszeit eines Auslösers) es Zusammenrechnen. Die Sorge wie du es selber angesprochen hattest ist was passiert wenn ein Spieler die Zahl überträgt Obwohl der Server noch nicht zusammengerechnet hat 2 Sekunden ist sehr lang Die Idee welche mir dazu einfällt ist eine Schleife beim Spieler aufzurufen die Überprüft ob die Zahl != 0 ist. Code:
while{Zahl != 0} do { if (Zahl == 0) exitWith { publicVariableServer "Zahl"; }; sleep 1; }; |
07.04.2014, 13:14 | #4 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Das ist sicher eine schnellere Empfänger-Routine als ein Auslöser:
Code:
Aktiv = true; Zahl = 0; Gesamt = 0; while {Aktiv} do { waitUntil {Zahl != 0 or !Aktiv}; Gesamt = Gesamt + Zahl; Zahl = 0 }; |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Mission kann nicht geladen werden. Keine Zivi Slots. | Benni | Rollenspiel & Zombie Ecke | 0 | 24.03.2014 15:52 |
[LINUX] Server probleme | Gonzo1690 | Technische Fragen & Probleme | 1 | 23.09.2013 23:00 |
Patch 1.59 | Buccs | Community | 83 | 10.06.2011 06:34 |
Arma 2 Server Problem | S@ndviper | Multiplayer | 14 | 15.11.2010 19:45 |
Variable auf dem Server ändern sich nicht ! | N939 | Editing & Scripting | 3 | 26.07.2010 15:36 |