Einzelnen Beitrag anzeigen
Alt 18.10.2013, 16:15   #2 (permalink)
romans
50 Beiträge
 
Registriert seit: 11.02.2010
Beiträge: 69
Standard

Hallo JeeperCreeper,

hab dein Skript mal so angepasst, daß du es beliebig oft für unteschiedlich befüllte Kisten verwenden kannst. _kiste wird zur lokalen Variable, die nur in meintestScript.sqf ausgeführt wird. Zugewiesen wird das Objekt, also die Kiste, die in der Initzeile als this im Array angegeben wird, somit ist auch der Name egal. Durch die Weitergabe der Werte aus dem Array wird dein Skript unabhängig und für mehrere Kisten verfügbar, obwohl sie anders befüllt werden.

Deine Kiste wird so, wie es derzeit in deinem Skript steht, alle 10 Sekunden geleert und wieder aufgefüllt. Lässt du die clear Geschichte weg oder plazierst sie oberhalb von "while {true} do", werden alle 10 Sekunden die Mengen hinzuaddiert, die du als Anzahl angibst usw.
Mich hat das vor Kurzem auch ziemlich gefordert, aber das gibt sich mit der Zeit.

PHP-Code:
// in der Initzeile der Kiste: null = [this, Anzahl Waffen, Anzahl Muni, Anzahl Items] execVM "meintestScript.sqf";
// Einstellungen
_kiste _this select 0//Kiste 
_AW _this select 1//AnzahlWaffen aus Array
_AM _this select 2//AnzahlMuni aus Array
_AZ _this select 3//Anzahl Items aus Array

_kiste allowDamage false;

while {
true} do
{
// Kiste leeren
clearWeaponCargo _kiste;   //alles leeren, da ich nicht genau weiss was drin ist xD
clearItemCargo _kiste;
clearMagazineCargo _kiste;
clearBackPackCargo _kiste;
// Kiste füllen
_kiste addWeaponCargo ["srifle_GM6_f"_AW];    //erstmal nur zwei Sachen zum üben
_kiste addMagazineCargo ["30Rnd_556x45_Stanag"_AM];
sleep 10;
}; 
Also zusammengefasst, nimm zwei Munitionskisten, pack in die Initzeile der ersten

PHP-Code:
null = [this,1,0,0execVM "meintestScript.sqf" 
und

PHP-Code:
null = [this,0,1,0execVM "meintestScript.sqf" 
in die Initzeile der zweiten.
Nun solltest du in der ersten Kiste eine Waffe und in der zweiten Kiste ein Magazin finden, obwohl keine der Kisten einen Namen hat.

Wenn das Skript allerdings nicht über die Initzeile der Kiste ausgeführt werden soll, dann muß die Kiste einen Namen haben, der sich folglich auch im Array befinden muß.

Beispiel: Kiste1
PHP-Code:
null = [Kiste1,1,0,0execVM "meintestScript.sqf" 
romans ist offline   Mit Zitat antworten