Code:
//Artilleriefeuer über Map-Click.
// Das Skript wird über einen Auslöser auf allen PCs gestartet! [Vienna 25.04.2013]
//
//Benötigt im Editor ein Logic-Objekt mit Namen: EinschlagsMarker2
//================================================================
//
//Aufruf: temp = [Position, 3, 25,"ARTY_Sh_81_HE",200] execVM "artillerie_einschlag2.sqf";
//
//Für Mapklick in Verbindung mit Auslöser
//=======================================
// Aufruf des Map-Click: onMapSingleClick "EinschlagPosition2=_pos; publicVariable 'EinschlagPosition2' ";
// Bedingung für den Auslöser: not isNil "EinschlagPosition2"
// Aufrufzeile im Ausllöser: temp = [EinschlagPosition2, 3, 25,'ARTY_Sh_81_HE',200] execVM "artillerie_einschlag2.sqf"
//
// Die beiden Testinfo-Zeilen sind nach dem Funktions-Test zu entfernen!
waitUntil {isNil "ViennasArtillerieAktiv2"}; //Verhindert gleichzeitigen Ablauf des Skripts
ViennasArtillerieAktiv2 = true;
onMapSingleClick ""; //Mapklick entfernen
private ["_zentrum","_runden","_schuss","_bombe","_posX","_sounds","_einschlag","_bereich"];
_zentrum = _this select 0; //Position für das Artilleriefeuer
_runden = _this select 1; //Anzahl der Runden
_schuss = _this select 2; //Anzahl der Bomben pro Runde
_bombe = _this select 3; //Name der Bombe in Anführungszeichen
_bereich = _this select 4; //"Radius" für den Granaten-Bereich
_posX = floor(getPos EinschlagsMarker2 select 0);//jede neue Position des EinschlagsMarker2 löst den Sound aus
_sounds = ["mortar1","mortar2","mortar3","mortar4","mortar5","mortar6"];//unterschiedliche Geschoss-Sounds, werden für jede Bombe zufällig ausgewählt
for "_i" from 1 to _runden do //Anzahl der Runden
{
player groupChat format["Runde %1. Noch 10 Sekunden bis 1. Einschlag!",_i]; //>>>>>> Info nur zum Testen <<<<<<<
sleep 10; // Pause bis zum ersten Feuern und zwischen den Runden
for "_j" from 1 to _schuss do //Anzahl der Schüsse pro Runde
{
if (isServer)then //nur für den Server/Host
{
_einschlag = [(_zentrum select 0)-_bereich+random _bereich*2,(_zentrum select 1)-_bereich+random _bereich*2];//zufällige Einschlagposition festlegen (Radius gem. Parameter)
EinschlagsMarker2 setPos _einschlag; //EinschlagsMarker2 auf die Einschlagposition setzen
};
waitUntil {floor(getPos EinschlagsMarker2 select 0) != _posX}; //warten bis EinschlagsMarker2 auf neuer Position
EinschlagsMarker2 say [_sounds select(floor(random(count _sounds))),150];//Geschoss-Sound beim EinschlagsMarker2 abspielen
hint format ["Runde:%1 Schuss:%2",_i,_j]; //>>>>>> Info nur zum Testen <<<<<<<
if (isServer)then //nur für den Server/Host
{
sleep 1.1; //Soundlänge abwarten (alle Sounds haben eine Länge von 1,1 Sekunden)
_bombe createVehicle _einschlag; //Bombe beim EinschlagsMarker2 zünden
sleep (2*0.66 + random(2*0.33)) //Pause zwischen den Bomben
};
_posX = floor(getPos EinschlagsMarker2 select 0) //Position für Vergleich bei waitUntil speichern
}
};
ViennasArtillerieAktiv2 = nil;
EinschlagPosition2 = nil
Wie kann ich den das einstellung das ich in den Parametern einstellen kann wie groß die Streuung sein soll?