1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Downloads
  4. Galerie
    1. Alben
  5. Toolbox
    1. Passwort Generator
    2. Portchecker
  6. Mitglieder
    1. Mitgliedersuche
    2. Benutzer online
    3. Trophäen
    4. Team
Di: 20 Mai 2025
  • Anmelden oder registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Forum
  • Dateien
  • Seiten
  • Bilder
  • Erweiterte Suche

Schön, dass du den Weg zu NodeZone.net gefunden hast! Aktuell bist du nicht angemeldet und kannst deshalb nur eingeschränkt auf unsere Community zugreifen. Um alle Funktionen freizuschalten, spannende Inhalte zu entdecken und dich aktiv einzubringen, registriere dich jetzt kostenlos oder melde dich mit deinem Account an.

Anmelden oder registrieren
    1. Nodezone.net Community
    2. Forum
    3. Gameserver & Hosting
    4. ArmA Series - ArmA 3 / Reforger
    5. Hilfeforum

    Random Script laufen lassen

    • Eskalation
    • 19. November 2016 um 15:29
    • Geschlossen
    • Erledigt
    • Eskalation
      Anfänger
      Reaktionen
      1
      Trophäen
      9
      Beiträge
      47
      • 19. November 2016 um 15:29
      • #1

      Moisnen,

      wie kann ich ein beliebiges Script Random laufen lassen? Beispielsweise dies hier:

      Init sqf:

      Code
      //Dust Storm
      null = [340,600,false,true,false] execvm "AL_dust_storm\al_duststorm.sqf";
      Spoiler anzeigen
      Code
      if (!isServer) exitWith {};
      
      
      
      
      _direction_duststorm = _this select 0;
      _duration_duststorm= _this select 1;
      _effect_on_objects= _this select 2;
      _dust_wall= _this select 3;
      _lethal_wall= _this select 4;
      
      
      
      
      //hint str _direction_duststorm;
      
      
      
      
      al_duststorm_on = true;
      publicVariable "al_duststorm_on";
      
      
      
      
      al_foglevel= fog;
      al_rainlevel = rain;
      al_thundlevel = lightnings;
      al_windlevel = wind;
      publicVariable "al_foglevel";
      publicVariable "al_rainlevel";
      publicVariable "al_thundlevel";
      publicVariable "al_windlevel";
      /*
      al_overforecast = overcastForecast;
      publicVariable "al_overforecast";
      */
      sleep 0.1;
      
      
      
      
      [_duration_duststorm] spawn {
      x_duration_storm = _this select 0;
      sleep x_duration_storm;
      al_duststorm_on = false;
      publicVariable "al_duststorm_on";
      
      
      
      
      // restaureaza parametri vreme
      60 setFog al_foglevel;
      60 setRain al_rainlevel;
      60 setLightnings al_thundlevel;
      // 180 setOvercast al_overforecast;
      setWind [al_windlevel select 0, al_windlevel select 1, true];
      //forceWeatherChange;
      };
      
      
      
      
      [] spawn {
      while {al_duststorm_on} do {
      ["bcg_wind","playSound"] call BIS_fnc_MP;
      sleep 67;
      };
      };
      
      
      
      
      [] spawn {
      _ifog=0;
      while {_ifog <0.3} do {
      _ifog=_ifog+0.001; 0 setFog _ifog; sleep 0.01;
      };
      };
      
      
      
      
      /*
      //60 setOvercast 0.75;
      //30 setrain 0;30 setLightnings 0;
      //[[60,0.75],"setOvercast",true,true] call BIS_fnc_MP;
      [] spawn {
      if (al_overforecast < 0.75) then {
      _inc_over = al_overforecast;
      while {_inc_over <0.75} do {
      _inc_over=_inc_over+0.01;
      0 setOvercast _inc_over;
      forceWeatherChange;
      sleep 0.1;
      };
      hint "end";
      };
      };
      */
      
      
      
      
      [[[],"AL_dust_storm\alias_duststorm_effect.sqf"],"BIS_fnc_execVM",true,true] spawn BIS_fnc_MP;
      
      
      
      
      if (_dust_wall) then {
      // perete de praf
      _rand_pl = [] execVM "AL_dust_storm\alias_hunt.sqf";
      waitUntil {scriptDone _rand_pl};
      
      
      
      
      //_origine_storm = -1*_direction_duststorm;
      
      
      
      
      //_pozstorm = getpos hunt_alias;
      _rapoz = 360-_direction_duststorm;
      
      
      
      
      _xpoz= 0;
      _ypoz= 0;
      if (_rapoz>=315) then {_xpoz = 0; _ypoz = -800};
      if (_rapoz <45) then {_xpoz = 0; _ypoz = -800};
      if ((_rapoz <90) and (_rapoz >=45)) then {_xpoz = 800; _ypoz = 0};
      if ((315>_rapoz) and (_rapoz>=270)) then {_xpoz = -800; _ypoz = 0};
      if ((270>_rapoz) and (_rapoz>=225)) then {_xpoz = -800; _ypoz = 0};
      if ((225>_rapoz) and (_rapoz>=180)) then {_xpoz = 0; _ypoz = 800};
      if ((180>_rapoz) and (_rapoz>=135)) then {_xpoz = 0; _ypoz = 800};
      if ((135>_rapoz) and (_rapoz>=90)) then {_xpoz = 800; _ypoz = 0};
      
      
      
      
      //hint str _xpoz;sleep 1;hint str _ypoz;
      
      
      
      
      _pozobcj = [(getPos hunt_alias select 0) + _xpoz, (getPos hunt_alias select 1) + _ypoz, 0];
      
      
      
      
      _xadd = 0;
      _yadd = 0;
      
      
      
      
      if ((_ypoz == -800) or ((_ypoz == 800))) then {_yadd =0; _xadd = 160};
      if ((_xpoz == -800) or ((_xpoz == 800))) then {_yadd =160; _xadd = 0};
      
      
      
      
      
      
      
      _stormsource = "Land_HelipadEmpty_F" createVehicle _pozobcj;
      
      
      
      
      _stormsource_1 = "Land_HelipadEmpty_F" createVehicle [(_pozobcj select 0)-2*_xadd,(_pozobcj select 1)-2*_yadd,0];
      _stormsource_2 = "Land_HelipadEmpty_F" createVehicle [(_pozobcj select 0)-_xadd,(_pozobcj select 1)-_yadd,0];
      
      
      
      
      _stormsource_3 = "Land_HelipadEmpty_F" createVehicle [(_pozobcj select 0)+_xadd,(_pozobcj select 1)+_yadd,0];
      _stormsource_4 = "Land_HelipadEmpty_F" createVehicle [(_pozobcj select 0)+2*_xadd,(_pozobcj select 1)+2*_yadd,0];
      
      
      
      
      _stormsource_5 = "Land_HelipadEmpty_F" createVehicle [(_pozobcj select 0)-3*_xadd,(_pozobcj select 1)-3*_yadd,0];
      _stormsource_6 = "Land_HelipadEmpty_F" createVehicle [(_pozobcj select 0)+3*_xadd,(_pozobcj select 1)+3*_yadd,0];
      [_stormsource,_stormsource_1,_stormsource_2,_stormsource_3,_stormsource_4,_stormsource_5,_stormsource_6] spawn {
      private ["_xadv","_yadv","_storm","_storm_1","_storm_2","_storm_3","_storm_4","_storm_5","_storm_6"];
      _storm = _this select 0;
      _storm_1 = _this select 1;
      _storm_2 = _this select 2;
      _storm_3 = _this select 3;
      _storm_4 = _this select 4;
      _storm_5 = _this select 5;
      _storm_6 = _this select 6;
      
      
      
      
      _xadv = 0;
      _yadv = 0;
      // depl vert
      if (((getPos _storm select 1)-(getPos hunt_alias select 1)) > 0) then {
      /*_xadv = 0;*/_yadv =-5;
      } else {/*_xadv = 0;*/_yadv =5;};
      
      
      
      
      // depl oriz
      if (((getPos _storm select 0)-(getPos hunt_alias select 0)) > 0) then {
      _xadv = -5;/*_yadv =0;*/
      } else {_xadv = 5;/*_yadv =0;*/};
      //hint str _xadv;
      while {al_duststorm_on} do {
      _storm setPos [(getPos _storm select 0)+_xadv,(getPos _storm select 1)+_yadv,0];
      _storm_1 setPos [(getPos _storm_1 select 0)+_xadv,(getPos _storm_1 select 1)+_yadv,0];
      _storm_2 setPos [(getPos _storm_2 select 0)+_xadv,(getPos _storm_2 select 1)+_yadv,0];
      _storm_3 setPos [(getPos _storm_3 select 0)+_xadv,(getPos _storm_3 select 1)+_yadv,0];
      _storm_4 setPos [(getPos _storm_4 select 0)+_xadv,(getPos _storm_4 select 1)+_yadv,0];
      _storm_5 setPos [(getPos _storm_5 select 0)+_xadv,(getPos _storm_5 select 1)+_yadv,0];
      _storm_6 setPos [(getPos _storm_6 select 0)+_xadv,(getPos _storm_6 select 1)+_yadv,0];
      sleep 5;
      //hint str getPos _storm;
      };
      };
      sleep 0.1;
      [_stormsource] spawn {
      _stormsource_s = _this select 0;
      while {al_duststorm_on} do {
      [[_stormsource_s, "uragan_1"], "say3d"] call BIS_fnc_MP;
      sleep 60;
      };
      };
      // >> wall of dust distrugator
      if (_lethal_wall) then {
      [_stormsource,_stormsource_1,_stormsource_2,_stormsource_3,_stormsource_4,_stormsource_5,_stormsource_6] spawn {
      _storm = _this select 0;
      _storm_1 = _this select 1;
      _storm_2 = _this select 2;
      _storm_3 = _this select 3;
      _storm_4 = _this select 4;
      _storm_5 = _this select 5;
      _storm_6 = _this select 6;
      while {al_duststorm_on} do {
      _dir_blow_wall = wind;
      //hint str _dir_blow_wall;
      _lethal_obj = [ _storm,_storm_1,_storm_2,_storm_3,_storm_4,_storm_5,_storm_6] call BIS_fnc_selectRandom;
      _nearobjects = nearestObjects[_lethal_obj,[],50];
      {if((_x != _storm)and(_x != _storm_1)and(_x != _storm_2)and(_x != _storm_3)and(_x != _storm_4)and(_x != _storm_5)and(_x != _storm_6)) then {
      if((_x isKindOf "LandVehicle") or (_x isKindOf "Man") or (_x isKindOf "Air")) then {
      _x setvelocity [random (_dir_blow_wall select 0),random (_dir_blow_wall select 1),5+(random 15)];
      _x setdamage 0.5; sleep 0.1} else {_x setdamage 1}; sleep 0.1};
      } foreach _nearobjects;
      sleep 1;//30 + random 30;
      };
      };
      };
      // >>>>>>>>>>>>>>>>>>>>
      
      
      
      
      [[[_stormsource,_duration_duststorm],"AL_dust_storm\alias_dust_wall.sqf"],"BIS_fnc_execVM",true,true] spawn BIS_fnc_MP;
      sleep 0.1;
      [[[_stormsource_1,_duration_duststorm],"AL_dust_storm\alias_dust_wall.sqf"],"BIS_fnc_execVM",true,true] spawn BIS_fnc_MP;
      sleep 0.1;
      [[[_stormsource_2,_duration_duststorm],"AL_dust_storm\alias_dust_wall.sqf"],"BIS_fnc_execVM",true,true] spawn BIS_fnc_MP;
      sleep 0.1;
      [[[_stormsource_3,_duration_duststorm],"AL_dust_storm\alias_dust_wall.sqf"],"BIS_fnc_execVM",true,true] spawn BIS_fnc_MP;
      sleep 0.1;
      [[[_stormsource_4,_duration_duststorm],"AL_dust_storm\alias_dust_wall.sqf"],"BIS_fnc_execVM",true,true] spawn BIS_fnc_MP;
      sleep 0.1;
      [[[_stormsource_5,_duration_duststorm],"AL_dust_storm\alias_dust_wall.sqf"],"BIS_fnc_execVM",true,true] spawn BIS_fnc_MP;
      sleep 0.1;
      [[[_stormsource_6,_duration_duststorm],"AL_dust_storm\alias_dust_wall.sqf"],"BIS_fnc_execVM",true,true] spawn BIS_fnc_MP;
      };
      
      
      
      
      
      
      
      // seteaza wind storm functie de directie
      raport = 360/_direction_duststorm;
      raport = round (raport * (10 ^ 2)) / (10 ^ 2);
      
      
      
      
      if (raport >= 4) then {fctx = 1; fcty = 1;}
      else {if (raport >= 2) then {fctx = 1; fcty = -1;}
      else { if (raport >=1.33) then {fctx = -1; fcty = -1;}
      else {fctx = -1; fcty = 1;};
      };
      };
      if ((raport <= 2) and (raport >= 1.33)) then {fctx = -1; fcty = -1;};
      
      
      
      
      _unx = ((_direction_duststorm - floor (_direction_duststorm/90)*90))*fctx;
      
      
      
      
      vx = floor (_unx * 0.6);
      vy = (54 - vx)*fcty;
      
      
      
      
      // mareste incremental vantul
      inx = 0;
      iny = 0;
      
      
      
      
      incr = true;
      incrx = false;
      incry = false;
      
      
      
      
      while {incr} do {
      sleep 0.01;
      if (inx < abs vx) then {inx = inx+0.1;} else {incrx = true};
      if (iny < abs vy) then {iny = iny+0.1} else {incry = true};
      if (incrx and incry) then {incr=false};
      winx = floor (inx*fctx/2);
      winy = floor (iny*fcty/2);
      setWind [winx,winy,true];
      };
      
      
      
      
      if (_effect_on_objects) then {
      
      
      
      
      while {al_duststorm_on} do {
      sleep 1;
      _rand_pl = [] execVM "AL_dust_storm\alias_hunt.sqf";
      waitUntil {scriptDone _rand_pl};
      
      
      
      
      // interval object blow
      //sleep 1;
      sleep 60+random 120;
      al_nearobjects = nearestObjects [hunt_alias,[],50];
      ar_obj_eligibl = [];
      {if((_x isKindOf "LandVehicle") or (_x isKindOf "Man") or (_x isKindOf "Air") or (_x isKindOf "Wreck")) then
      {ar_obj_eligibl pushBack _x;};
      } foreach al_nearobjects;
      sleep 1;
      // alege obiect
      _blowobj= ar_obj_eligibl call BIS_fnc_selectRandom;
      
      
      
      
      //durata_rafala = 1+random 5; sleep 30+random 120;
      sleep 1;
      [] spawn {
      _rafale = ["rafala_1","sandstorm","rafala_4_dr","rafala_5_st"] call BIS_fnc_selectRandom;
      [_rafale,"playSound"] call BIS_fnc_MP;
      //hint str _rafale;
      };
      if (!isNull _blowobj) then {
      _xblow = 0.1+random 5;
      _yblow = 0.1+random 5;
      // creste viteza incremental
      _xx=0;
      _yy=0;
      while {(_xx< _xblow) or (_yy< _yblow)} do {
      _blowobj setvelocity [_xx*fctx,_yy*fcty,random -1];
      _xx = _xx + 0.01;
      _yy = _yy + 0.01;
      sleep 0.001;
      };
      };
      };
      };
      
      
      
      
      while {al_duststorm_on} do {
      _rafale = ["rafala_1","sandstorm","rafala_4_dr","rafala_5_st"] call BIS_fnc_selectRandom;
      [_rafale,"playSound"] call BIS_fnc_MP;
      sleep 60+random 120;
      };
      
      
      
      
      //deleteVehicle _stormsource;deleteVehicle _stormsource_1;deleteVehicle _stormsource_2;deleteVehicle _stormsource_3;deleteVehicle _stormsource_4;deleteVehicle _stormsource_5;deleteVehicle _stormsource_6;
      Alles anzeigen

      Bei jedem restart führt der Server das Script automatisch aus. Kann ich es so umändern, dass es total random ist, wann das ausgeführt wird?

      MfG

    • SanDiego
      Amateur
      Reaktionen
      50
      Trophäen
      9
      Beiträge
      187
      • 19. November 2016 um 16:23
      • #2

      Du kannst mit der sleep- und der random-Funktion soetwas konstruieren. Also bspw. sleep (random <maximale Zeit>)

      Wenn du das ganze noch in eine while-Schleife packst, dann kannst du es auch beliebig oft ausführen lassen.

      Also zusammengefasst: Du erstellst eine eigene Datei, welches oben besagtes beinhaltet, und lässt diese dann in der init.sqf ausführen.

    • Eskalation
      Anfänger
      Reaktionen
      1
      Trophäen
      9
      Beiträge
      47
      • 19. November 2016 um 16:30
      • #3

      Erstmal danke für die Antwort.

      Ja, ich hab an Sleep auch bereits gedacht, allerdings bin ich mir unsicher wo das genau hin muss.
      Wie man das mit while einfügt habe ich keinen Schimmer. Gibt´s da Beispiele? :D

    • SanDiego
      Amateur
      Reaktionen
      50
      Trophäen
      9
      Beiträge
      187
      • 19. November 2016 um 16:32
      • #4

      Also die erste Frage ist, wie oft das ganze pro Serverperiode ausgeführt werden soll.
      Wenn öfters als einmal, dann stellt sich die zweite Frage und zwar wie groß ist der
      minimale und maximale Zeitabstand zwischen zwei Ausführungen.

      while (Bedingung) do { //CODE }

      Das heißt während eine Bedingung erfüllt ist, soll der folgenden Code ausführen. Dabei muss man natürlich achten, dass der Code
      nicht permanent ausgeführt werden soll, da es sich sonst sehr schnell auf die [lexicon]Performance[/lexicon] niederschlägt. Am besten baut man einfach am
      Ende des Codes einen sleep-Befehl ein.


      Ein kurzes Beispiel:

      Spoiler anzeigen


      while {a < b} do {hint a; a = a +1;}
      Er überprüft also ob a kleiner als b ist und wenn das der Fall ist,
      dann gibt er a aus und addiert am Ende eins zu a.

    • Eskalation
      Anfänger
      Reaktionen
      1
      Trophäen
      9
      Beiträge
      47
      • 19. November 2016 um 16:35
      • #5

      Sagen wir mal ich möchte in 4 Stunden ( eine Serverperiode ) das Script 4x Random laufen lassen
      Wie müsste das dann genau aussehen

    • SanDiego
      Amateur
      Reaktionen
      50
      Trophäen
      9
      Beiträge
      187
      • 19. November 2016 um 16:45
      • #6

      In der Init.sqf müsstest du dein Script ganz normal aufrufen. Zum Beispiel wie du es oben gemacht hast.

      Dann musst du in al_duststorm.sqf gehen und dort um den Teil des Codes Klammern ( diese hier: {...} ) machen, die
      Aktionen ausführen. Du brauchst also nicht die ganzen Definitionen etc. mit in die Schleife packen. Vor die öffnende Klammer ( { )
      schreibst du jetzt:

      C
      _a = 1
      
      
      
      
      while {_a < 5} do { // <------ DAS IST DIE ÖFFNENDE KLAMMER
      
      
      
      
      // JETZT KOMMT DER GESAMTE INNERE TEIL
      
      
      
      
      _a = _a + 1  // HIER ADDIEREN WIR 1 ZU A, SODASS ER DAS GANZE NUR 4-MAL DURCHLÄUFT
      Alles anzeigen

      Wenn du von Programmierung überhaupt keinen Schimmer hast, würde ich dir empfehlen dich dort erst einmal einzuarbeiten.

      Hier wäre ein Beispiel für eine Tutorialreihe: Youtube-Tutorial-Reihe

    • Eskalation
      Anfänger
      Reaktionen
      1
      Trophäen
      9
      Beiträge
      47
      • 19. November 2016 um 17:04
      • #7

      @SanDiego Da gibt es bestimmt noch eine leichtere Möglichkeit oder?

      z.B. in der Init.sqf


      switch (random 2) do {
      case 0: {nul = [1] execvm "ALfallstar\alias_fallingstar_ini.sqf";}
      case 1: {null = [340,600,true,true,false] execvm "AL_dust_storm\al_duststorm.sqf";}
      case 2: {nul = [30+random 180,60,300,true,true,true] execVM "ALthunder\alias_thunderbolt.sqf"}
      }

      Jetzt müsste er zu 33% eines der 3. Scripte ausführen..
      Ich weiß bloß nicht, wie diese Wahrscheinlichkeit jede Stunde eintreten kann...

    • SanDiego
      Amateur
      Reaktionen
      50
      Trophäen
      9
      Beiträge
      187
      • 19. November 2016 um 17:29
      • #8

      Das ist ja jetzt wieder was ganz anderes als am Anfang. Jetzt lässt du eines von dreien zufällig auslösen.
      Wenn du jetzt um das ganze die while-Schleife packst und dann noch nen sleep 3600 einbaust, dann führt er es jede Stunde aus.

    • Eskalation
      Anfänger
      Reaktionen
      1
      Trophäen
      9
      Beiträge
      47
      • 19. November 2016 um 20:14
      • #9

      Ist wahrscheinlich sehr dämlich gelöst, aber würde das so funktionieren, wenn ich es ganz am Ende der Init.sqf einfügen würde? :D

      Code
      _randomElement = selectRandom [nul = [1] execvm "ALfallstar\alias_fallingstar_ini.sqf",null = [340,600,true,true,false] execvm "AL_dust_storm\al_duststorm.sqf",nul = [30+random 180,60,300,true,true,true] execVM "ALthunder\alias_thunderbolt.sqf"];
      sleep 3600;
      
      
      
      
      _randomElement = selectRandom [nul = [1] execvm "ALfallstar\alias_fallingstar_ini.sqf",null = [340,600,true,true,false] execvm "AL_dust_storm\al_duststorm.sqf",nul = [30+random 180,60,300,true,true,true] execVM "ALthunder\alias_thunderbolt.sqf"];
      sleep 3600;
      
      
      
      
      _randomElement = selectRandom [nul = [1] execvm "ALfallstar\alias_fallingstar_ini.sqf",null = [340,600,true,true,false] execvm "AL_dust_storm\al_duststorm.sqf",nul = [30+random 180,60,300,true,true,true] execVM "ALthunder\alias_thunderbolt.sqf"];
      sleep 3600;
      
      
      
      
      _randomElement = selectRandom [nul = [1] execvm "ALfallstar\alias_fallingstar_ini.sqf",null = [340,600,true,true,false] execvm "AL_dust_storm\al_duststorm.sqf",nul = [30+random 180,60,300,true,true,true] execVM "ALthunder\alias_thunderbolt.sqf"];
      sleep 3600;
      Alles anzeigen
    • SanDiego
      Amateur
      Reaktionen
      50
      Trophäen
      9
      Beiträge
      187
      • 19. November 2016 um 22:05
      • #10

      Wird dann halt direkt am Anfang und dann genau nach immer einer Stunde ausgeführt

    • Eskalation
      Anfänger
      Reaktionen
      1
      Trophäen
      9
      Beiträge
      47
      • 19. November 2016 um 23:30
      • #11

      Ah crap.. Macht Sinn..
      Ich verstehe den Aufbau des "while "loops"" noch nicht. Ich weiß nicht wie ich den selber schreiben müsste.
      Am besten würde ich das anhand eines Beispiels verstehen... stopping

      Gibt es auch eine Möglichkeit "Sleep" Random zu machen?

    • Stig
      Profi
      Reaktionen
      598
      Trophäen
      9
      Beiträge
      941
      • 19. November 2016 um 23:40
      • #12

      https://community.bistudio.com/wiki/Control_Structures#while-Loop

      Code
      hint "a";
      
      
      
      
      _counter = 0;
      
      
      
      
      while {_counter < 10} do
      {
          _counter = _counter + 1;
          hint str _counter;
      };
      hint "b";
      
      
      
      
      //Ergebnis:
      //a 1 2 3 4 5 6 7 8 9 10 b
      Alles anzeigen

      Diese Nachricht wurde automatisch generiert. Antworten auf diese Nachricht können nicht empfangen werden. Bitte wenden Sie sich mit Anliegen an einen Administrator.

    • SanDiego
      Amateur
      Reaktionen
      50
      Trophäen
      9
      Beiträge
      187
      • 19. November 2016 um 23:48
      • #13
      Zitat von Eskalation


      Gibt es auch eine Möglichkeit "Sleep" Random zu machen?

      Hab ich doch oben geschrieben?!


      Zitat von SanDiego

      Du kannst mit der sleep- und der random-Funktion soetwas konstruieren. Also bspw. sleep (random <maximale Zeit>)

    • Eskalation
      Anfänger
      Reaktionen
      1
      Trophäen
      9
      Beiträge
      47
      • 19. November 2016 um 23:55
      • #14

      dash Ich stell mich an wie ein Idiot ?(

      Also müsste es gehen wenn ich einfach

      Code
      sleep (random <3600>);

      mache hmm

      Dann kann es zwar vorkommen das alle 4 Scripts in 2 Stunden kommen, allerdings wäre das nicht so schlimm denke ich

      Da kann man doch bestimmt auch irgendein fancy shit machen oder? X/


      Code
      sleep (random <3000-3600>); // irgendwie sowas?
    • Rom
      Kenner
      Reaktionen
      156
      Beiträge
      533
      • 20. November 2016 um 00:16
      • #15

      Nabend, wenn du möchtest, dass es ein Minimum und ein Maximum gibt, dann kannst du das hier nehmen:
      sleep (3600 + (random 3600));

      In diesem Beispiel würde der Code mindestens jede Stunde fortgeführt und spätestens nach 2 Stunden.
      Aber warum < und > fun-Effekt? :D

      Wenn ich etwas missverstanden habe, hoppala

    • Eskalation
      Anfänger
      Reaktionen
      1
      Trophäen
      9
      Beiträge
      47
      • 20. November 2016 um 00:20
      • #16
      Zitat von SanDiego

      Hab ich doch oben geschrieben?!

      Deswegen ;D

      Danke, ich probiers mal!
      Wie ich das mit dem While machen muss, muss ich mir morgen mal angucken.. Habe dafür heute kein nerv mehr ! lol

    • Eskalation
      Anfänger
      Reaktionen
      1
      Trophäen
      9
      Beiträge
      47
      • 20. November 2016 um 01:02
      • #17

      @romolos

      So geht das schonmal nicht :D


      Code
      _randomElement = selectRandom [nul = [1] execvm "ALfallstar\alias_fallingstar_ini.sqf",null = [340,600,true,true,false] execvm "AL_dust_storm\al_duststorm.sqf",nul = [20,30,60,false,false,false] execVM "ALthunder\alias_thunderbolt.sqf",nul = [1] execvm "ALfallstar\alias_meteor_ini.sqf"];
      sleep (20 + (random 100));

      Die Zeit habe ich zum testen so niedrig eingestellt.

    • SanDiego
      Amateur
      Reaktionen
      50
      Trophäen
      9
      Beiträge
      187
      • 20. November 2016 um 02:29
      • #18

      Definier bitte dein Problem noch einmal genauer.

    • Eskalation
      Anfänger
      Reaktionen
      1
      Trophäen
      9
      Beiträge
      47
      • 20. November 2016 um 02:40
      • #19

      Das Script startet nicht. In den Logs ist nichts zu sehen.
      Ich habe den Timer (sleep) so low gestellt, um zu testen ob etwas kommt - leider nichts.

    • SanDiego
      Amateur
      Reaktionen
      50
      Trophäen
      9
      Beiträge
      187
      • 20. November 2016 um 02:57
      • #20

      Die erste Sache, die ich machen würde, wäre das ganze aus der Init.sqf auszulagern.
      Sprich du lässt in der Init.sqf ein Script ausführen (z.B. sturm.sqf).

      sturm.sqf

      Spoiler anzeigen
      C
      _counter = 0;
      
      
      
      
      while (_counter < 5) do 
      {
          switch (floor(random 4)) do 
          {
             case "0": { null = execVM ...;};
             case "1": { null = execVM ...;};
             case "2": { null = execVM ...;};
          };
          waitUntil(scriptDone null};
          _counter = _counter + 1;
          sleep (1800 + floor(random 1801));
      };
      
      //In diesem Fall liegt die Wartezeit zwischen 1800 und 3600 Sekunden. Also mindetens 30 Minuten //und maximal 60 Minuten, wobei im Durchschnitt 45 Minuten gewartet wird.
      Alles anzeigen

    Registrieren oder Einloggen

    Du bist noch kein Mitglied von NodeZone.net? Registriere dich kostenlos und werde Teil einer großartigen Community!

    Registrieren

    Tags

    • random

    Wichtige Links & Informationen

    Server & Hosting-Ressourcen

      Server Administration & Hosting Basics

      Windows Server Support & Guides

      Linux Server Configuration & Help

      Setting up TeamSpeak 3 & VoIP Servers

      Domains & Web Hosting for Beginners & Professionals

      Cloud Hosting, Docker & Kubernetes Tutorials

    Gameserver & Modding-Ressourcen

      ArmA 3 Tutorials & Script Collection

      Renting & Operating Gameservers

      DayZ Server Management & Help

      FiveM (GTA V) Server & Script Development

      Rust Server Modding & Administration

      Setting up & Optimizing ARK Survival Servers

    NodeZone.net – Deine Community für Gameserver, Server-Hosting & Modding

      NodeZone.net ist dein Forum für Gameserver-Hosting, Rootserver, vServer, Webhosting und Modding. Seit 2015 bietet unsere Community eine zentrale Anlaufstelle für Server-Admins, Gamer und Technikbegeisterte, die sich über Server-Management, Hosting-Lösungen und Spielemodding austauschen möchten.


      Ob Anleitungen für eigene Gameserver, Hilfe bei Root- und vServer-Konfigurationen oder Tipps zu Modding & Scripting – bei uns findest du fundiertes Wissen und praxisnahe Tutorials. Mit einer stetig wachsenden Community findest du hier Antworten auf deine Fragen, Projektpartner und Gleichgesinnte für deine Gaming- und Serverprojekte. Schließe dich NodeZone.net an und werde Teil einer aktiven Community rund um Server-Hosting, Gameserver-Management und Modding-Ressourcen.

    Wer jetzt nicht teilt ist selber Schuld:
    1. Nutzungsbestimmungen
    2. Datenschutzerklärung
    3. Impressum
    4. Urheberrechts- oder Lizenzverstoß melden
  • Trimax Design coded & layout by Gino Zantarelli 2023-2025©
    Community-Software: WoltLab Suite™