Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 06.04.2014, 21:06   #1 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 10.10.2006
Beiträge: 263
Standard 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.
Nokman ist offline   Mit Zitat antworten
Alt 07.04.2014, 06:55   #2 (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

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
Ist zu hoffen, dass sich die Sendungen der Spieler nicht überscheiden. Sonst müsstest du für jeden Spieler eine eigene Variable nehmen und einen eigenen "Empfänger" für jede Variable.
Vienna ist offline   Mit Zitat antworten
Alt 07.04.2014, 09:21   #3 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 10.10.2006
Beiträge: 263
Standard

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;
};
Bei der Schleife komme ich allerdings doch in die Zwickmühle das Die Zahl niemals 0 sein kann wenn der Spieler sie auf den PC Definiert hat? Ich müsste da doch abfragen ob Die auf denn Server 0 ist oder?
Nokman ist offline   Mit Zitat antworten
Alt 07.04.2014, 12:14   #4 (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

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
 };
Mit setzen von Aktiv=false wird die Routine beendet.
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
Mission kann nicht geladen werden. Keine Zivi Slots. Benni Rollenspiel & Zombie Ecke 0 24.03.2014 14:52
[LINUX] Server probleme Gonzo1690 Technische Fragen & Probleme 1 23.09.2013 22:00
Patch 1.59 Buccs Community 83 10.06.2011 05:34
Arma 2 Server Problem S@ndviper Multiplayer 14 15.11.2010 18:45
Variable auf dem Server ändern sich nicht ! N939 Editing & Scripting 3 26.07.2010 14:36


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