Einzelnen Beitrag anzeigen
Alt 17.02.2012, 15:46   #11 (permalink)
Vienna
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

Wenn man eine Globale-Variable auf einem PC ändert, dann gilt das nur für diesen PC. Mit publicVariable überträgt man den Inhalt dieser Variablen dann zu den anderen PCs.

Du hast mit publicVariable nur den Wert der "Schalter-Variablen" xplane übertragen.

Mach die Munikiste in der Initialisierungszeile der Kiste so leer: clearweaponcargo this; clearmagazinecargo this;

Dann brauchst du keine globale Variable und den Befehl publicVariable, wenn du die Kiste mit addWeaponCargoGlobal und addMagazineCargoGlobal füllst. Das Skript läuft dann nur beim Server.

Code:
//Skript Zufallskiste.sqf (Arma2 OA)
//
//Munikiste leeren in deren Initalisierungszeile der Kiste mit:
//  clearweaponcargo this; clearmagazinecargo this;
//
//Aufruf in der Init.sqf: [NameMunikiste] execVM "Zufallskiste.sqf";

if (!isserver) exitwith {}; //Skript nur für den Server

//Lokale Variable
private ["_box","_handguns","_mags","_wahl"];

//Parameter übernehmen
_box = _this select 0;

//Variable Initialisieren

//Waffen- und Munitionsliste
_handguns = ["M9","Colt1911","glock17_EP1","revolver_EP1","UZI_EP1"];
_mags     = ["15Rnd_9x19_M9","7Rnd_45ACP_1911","17Rnd_9x19_glock17","6Rnd_45ACP","30Rnd_9x19_UZI"];

sleep 5; //allgemeine Initialisierung abwarten  

_wahl = floor random(count _handguns); //Waffe wählen

// Kiste global mit Waffe und Munition bestücken
_box addWeaponCargoGlobal   [_handguns select _wahl,  1];
_box addMagazineCargoGlobal [_mags     select _wahl, 10];
Die letzten beiden Zeilen verwenden die neuen Befehle, welche die Waffe und Munition auf allen PCs in die Munikiste hinzufügen.
Vienna ist offline   Mit Zitat antworten