Jump to content

Recommended Posts

Hi, George

 

Back again to ask a question about your status bar script. How would you install the files again? Do you put the entire files into your mission folder or only your specific ones?

  • Like 1

Share this post


Link to post
Share on other sites

Hello there Iv !

 

First of all because i know that you are playing Ravage mod

there is a Status bar script for Ravage and also for Vanilla (any mod )

 

On 10/6/2018 at 3:49 PM, GEORGE FLOROS GR said:

 

G2lE_seASKeITKlGfHGkEQ.png

GF Status Bar script

 

and for Ravage :

 

w5FRKHgWQ-WHNbJcMebz0A.png

On 26/3/2018 at 1:48 AM, GEORGE FLOROS GR said:

GF Ravage Status Bar script

 

 

 

In order to install both versions , you need to copy the extra lines from the Description.ext

 

(this is for the Ravage version, check the Description.ext )

class RscTitles
{
    #include "GF_Ravage_Status_Bar\GF_Ravage_Status_Bar_HPP.hpp"    
};

and add the initPlayerLocal.sqf in your mission files.

 

If it's anything else , feel free to ask .!

Share this post


Link to post
Share on other sites
7 hours ago, GEORGE FLOROS GR said:

Hello there Iv !

 

First of all because i know that you are playing Ravage mod

there is a Status bar script for Ravage and also for Vanilla (any mod )

 

 

and for Ravage :

 

w5FRKHgWQ-WHNbJcMebz0A.png

 

 

In order to install both versions , you need to copy the extra lines from the Description.ext

 

(this is for the Ravage version, check the Description.ext )


class RscTitles
{
    #include "GF_Ravage_Status_Bar\GF_Ravage_Status_Bar_HPP.hpp"    
};

and add the initPlayerLocal.sqf in your mission files.

 

If it's anything else , feel free to ask .!

Where would you put those lines? Also are we still going to install all the files in the script folder into our missions folder?

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, lv1234 said:

Where

 

In order to run your scripts in a mission folder , you need to have some certain files .

 

I noticed that in your mission you have already an init.sqf

 

# thats a start !

 

Check for some tutorials :

This is from Feuerex !

 

 

 

also you should follow:

 

scripting tutorials from @gokitty1199

 

The test mission that i have always with my script , is a good thing to have it as a base for your mission.

You can copy paste and edit all your files to your mission folder.

 

If you want more info , just ask me again to help you !

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

                                                          L1K5AYzOQdKX2GUC7CL8GQ.png

2 hours ago, foxhound said:

The Armaholic mirror has been updated with the new version:

 

news_download_a3_3.png
GF Cleanup Script v3.0

 

Share this post


Link to post
Share on other sites

GEORGE FLOROS GR I havnt and wont be able to have a look at your scripts for a few days, but looks interesting. I'm sure you are way more advanced at coding than I am, but let me know if you need help or some scripts. May be I have some or have started a few. ;) I'd be more than happy to contribute to your scripts or make a script pack for/with you if your interested and time permits. 

  • Like 1

Share this post


Link to post
Share on other sites
17 hours ago, mikey74 said:

more than happy

 

Hello there mikey74 !

 

That would be very good , i would like also to help if i can !

Generally , just to know , i'm not a professional scripter , i have just  , let's say learned some stuff , because i really love this game !

 

The time might be limited but there is no rush !

I will be waiting for news !

 

See you !

 

  • Like 1

Share this post


Link to post
Share on other sites
Just now, GEORGE FLOROS GR said:

WIP Mission Salvation 2

 

mGhCewiwQC_b2U_Gtxri3g.png

 

 

Soon available !

  • Like 1

Share this post


Link to post
Share on other sites
1 minute ago, GEORGE FLOROS GR said:

Hello there to everyone !

 

Today i updated in armaholic a new version of the GF cleanup script , that is included also as part of ,

GF Blood Stains and SFX Script , so i will update also this script very soon.

 

For those who want the updated version of the GF cleanup script , it will be soon available in armaholic.

  Reveal hidden contents
2 hours ago, GEORGE FLOROS GR said:

Updating

Changelog:


v4.0
A lot of code is reedited ,
added option to exclude certain objects , by setting a variable,
added option to create an Exclude Zone , by creating a marker,
for more information check the Notes + see ex. mission.
Code Performance and optimisation and minor fixes.

 

 

Notes:

Configurable Script.
You can select to delete :
Particlesource,Dead,Mines,Ruins,Craters,
Dropped Items,Static Weapon,Empty Groups,
Empty Vehicles,emptyDetector MP triggers.

 

You can exclude certain objects , by adding in the init of the object , in the editor or include in the scripted spawn :
this setVariable ["GF_Excude_from_cleanup",true];

 

It is possible to create an Exclude Zone , by creating a marker.
There are already 5 created in the editor as a working example , that you can just copy paste them in your mission.

 

 

Thanks

 

Share this post


Link to post
Share on other sites

L1K5AYzOQdKX2GUC7CL8GQ.png

Spoiler
10 hours ago, GEORGE FLOROS GR said:

Changelog:

v4.0
A lot of code is reedited ,
added option to exclude certain objects , by setting a variable,
added option to create an Exclude Zone , by creating a marker,
for more information check the Notes + see ex. mission.
Code Performance and optimisation and minor fixes.

 

 

Notes:

Configurable Script.
You can select to delete :
Particlesource,Dead,Mines,Ruins,Craters,
Dropped Items,Static Weapon,Empty Groups,
Empty Vehicles,emptyDetector MP triggers.

 

You can exclude certain objects , by adding in the init of the object , in the editor or include in the scripted spawn :
this setVariable ["GF_Excude_from_cleanup",true];

 

It is possible to create an Exclude Zone , by creating a marker.
There are already 5 created in the editor as a working example , that you can just copy paste them in your mission.

 

 

Thanks

1 hour ago, foxhound said:

The Armaholic mirror has been updated with the new version:

 

news_download_a3_3.png
GF Cleanup Script v4.0

Share this post


Link to post
Share on other sites

Since there are Scripts here associated with Ravage mod ,

it's good to have also theese here :

 

Thanks to @tortuosit

 

3 hours ago, tortuosit said:

OK, I paste my scripts here - which I use in Ravage

Some stuff is from a while ago... some stuff is derived from someone elses stuff, I don't know any more. That's just the way it works. Hopefully it is useful for some of you. I sometimes create stuff only for the scripting fun and pain. I love pain ;-) I think you can even test all the code in a debug window. BTW, I love this kind of syntax and didn't know it is even possible: "_sgn = if (_changeValue < 0) then {-1} else {1};"

 

Have AI of all sides accidentally pull the trigger (code to a game logics init)

  Reveal hidden contents


0 = [] spawn 
{  tort_shoot = true; 
 
   private _minDistance = 20; 
   private _maxDistance = 700; 
   private _minWait     = 10; 
   private _maxWait     = 110; 
   private _maxShots    = 3; 
   private _probability = 0.6; 
 
   while {true} do 
   { 
      sleep (_minWait + random (_maxWait - _minWait)); 
      if (tort_shoot && (_probability >= random 1)) then 
      { 
         _nearUnits = allUnits select {((_x distance player) > _minDistance) && ((_x distance player) <= _maxDistance) && ((side _x) != CIVILIAN) && (alive _x) && (vehicle _x == _x)}; 
         if ((count _nearUnits) > 0) then 
         { 
            _i = 0; while {((random 1) > 0.75) && (_i < ((count _nearUnits) -1))} do {_i = _i + 1}; 
            _unit = _nearUnits select _i; 
            _num = floor(1 + _maxShots * ((random 1)^1.4)); 
            _unit disableAI "MOVE"; _unit disableAI "FSM"; _unit disableAI "AIMINGERROR"; 
            _behaviour = behaviour _unit; 
            _unit setBehaviour "AWARE"; sleep 1; 
            for "_j" from 1 to _num do 
            { 
               _unit forceWeaponFire [currentMuzzle _unit, "Single"]; 
               sleep (0.2 + random 1); 
            }; 
            _unit enableAI "MOVE"; _unit enableAI "FSM"; _unit enableAI "AIMINGERROR"; _unit setBehaviour _behaviour; 
 
         }; 
      }; 
   }; 
};

 

Automatically heal unit (code goes to a units init)

  Reveal hidden contents


0 = player spawn { 
   waituntil {alive _this}; 
   tortdebug = false; 
   private _full_heal_seconds = 900; 
   private _heal_bonus_multiplier = 4; 
   private _heal_bonus_after_seconds = 20; 
   private _removeDamage_until = 0.25; 
   private _addDamage_above_damage = 0.35; 
   private _moredamage_above_damage = 0.5; 
   private _addDamage_until = 0.9; 
   private _random_factor = 0.1; 
 
   private ["_i", "_player_damage", "_speed", "_speedmult", "_modifier", "_pom"]; 
   private _prone_modifier_min = -0.75; 
   private _prone_modifier_max = 0.6; 
   private _prone_maxspd = 5; 
   private _prone_exponent = 1; 
   private _crouch_modifier_min = -0.3; 
   private _crouch_modifier_max = 0.55; 
   private _crouch_maxspd = 18; 
   private _crouch_exponent = 1.5; 
   private _stand_modifier_min = -0.65; 
   private _stand_modifier_max = 0.7; 
   private _stand_maxspd = 19; 
   private _stand_exponent = 2; 
   private _sitsec = 0; 
 
   if (_random_factor > 0) then { 
      _full_heal_seconds = _full_heal_seconds - random (_random_factor * _full_heal_seconds) + random (2 * _random_factor * _full_heal_seconds); 
      _heal_bonus_multiplier = _heal_bonus_multiplier - random (_random_factor * _heal_bonus_multiplier) + random (2 * _random_factor * _heal_bonus_multiplier); 
      _heal_bonus_after_seconds = _heal_bonus_after_seconds - random (_random_factor * _heal_bonus_after_seconds) + random (2 * _random_factor * _heal_bonus_after_seconds); 
      _removeDamage_until = random [0, _removeDamage_until, _addDamage_above_damage]; 
      _addDamage_above_damage = random [_removeDamage_until, _addDamage_above_damage, _moreDamage_above_damage]; 
      _moreDamage_above_damage = random [_addDamage_above_damage, _moreDamage_above_damage, _addDamage_until]; 
      _addDamage_until = random [_moreDamage_above_damage, _addDamage_until, 1]; 
   }; 
 
   tortdoit = true; 
   while {tortdoit} do 
   { 
      _pom = 0; _modifier = 0; 
      for "_i" from 1 to 10  do 
      { 
         _player_damage = damage _this; 
         if (vehicle _this == _this) then 
         { 
            if (_player_damage >= _moredamage_above_damage) then { 
               _speed = abs(speed _this) * _stand_maxspd} 
            else { 
               _speed = abs(speed _this)}; 
            switch (stance _this) do 
            { 
               case "PRONE": { 
                  _sitsec = 0; 
                  _speedmult = ((_speed / _prone_maxspd) min 1) ^ (_prone_exponent); 
                  _pom = _prone_modifier_min + (_prone_modifier_max - _prone_modifier_min) * _speedmult;}; 
               case "CROUCH": { 
                  if (((animationstate _this) find "amovpsit") == 0) then { 
                     _sitsec = _sitsec + 1; 
                     if (_sitsec > _heal_bonus_after_seconds) then { 
                        _pom = _prone_modifier_min * _heal_bonus_multiplier; 
                     } else { 
                        _pom = _prone_modifier_min; 
                     }; 
                  } 
                  else 
                  { 
                     _sitsec = 0; 
                     _speedmult = ((_speed / _crouch_maxspd) min 1)^(_crouch_exponent); 
                     _pom = _crouch_modifier_min + (_crouch_modifier_max - _crouch_modifier_min) * _speedmult; 
                  }; 
               }; 
               case "STAND": { 
                  _sitsec = 0; 
                  _speedmult = ((_speed / _stand_maxspd) min 1)^(_stand_exponent); 
                  _pom = _stand_modifier_min + (_stand_modifier_max - _stand_modifier_min) * _speedmult;}; 
               case "UNDEFINED": { 
                  _sitsec = 0; 
                  _pom = _prone_modifier_min;}; 
               default { 
                  _sitsec = 0; 
                  _speedmult = ((_speed / _stand_maxspd) min 1)^(_stand_exponent); 
                  _pom = _stand_modifier_min + (_stand_modifier_max - _stand_modifier_min) * _speedmult;}; 
            }; 
         } else 
         { 
            _sitsec = _sitsec + 1; _speed = 0; 
            if (_sitsec > _heal_bonus_after_seconds) then { 
               _pom = _prone_modifier_min * _heal_bonus_multiplier; 
            } else { 
               _pom = _prone_modifier_min; 
            }; 
         }; 
         _modifier = _modifier + _pom; 
         sleep 1; 
      }; 
      _modifier = (_modifier / _full_heal_seconds) / abs(_prone_modifier_min); 
      _modifier = _modifier - ((random _random_factor) * _modifier) + ((random _random_factor) * 2 * _modifier); 
      if (_modifier < 0) then { 
         if (_player_damage <= _addDamage_until) then { 
            if (_sitsec < _heal_bonus_after_seconds) then { 
               if ((_player_damage + _modifier) >= _removeDamage_until) then {_this setDamage (_player_damage + _modifier)}; 
            } 
            else { 
               _this setDamage (_player_damage + _modifier); 
            }; 
         }; 
      } 
      else 
      { 
         if (_player_damage > _addDamage_above_damage) then {_this setDamage (((_player_damage + _modifier) min _addDamage_until) max _player_damage)}; 
      }; 
      if (tortdebug) then {_this sideChat format ["SPD:%1 MODIFIER:%2 DAMAGE:%3 SITSEC:%4 %5", _speed, _modifier, (damage _this), _sitsec, animationstate _this]}; 
      if ((_player_damage > 0) && ((damage _this) == 0)) then {_this sideChat (["Oooooh yeah!", "So good...", "I am feeling so good now!", "I feel I am fully healed.", "I feel like superman."] select (floor (random 5)))}; 
   }; 
};

 

Bounty spawner (game logic init)

  Reveal hidden contents


0 = [] spawn {waituntil {alive player}; sleep 5; 
    comment "tort_debug = true"; 
   _crates_minmax = [1, ceil (worldsize / 1500)]; 
   _weapons_minmax = [0,25]; 
   _ammo_minmax = [0,2]; 
   _handgun_probability = 0.7; 
 
   _cratesSmall = ["Box_Syndicate_Wps_F"]; 
   _cratesMedium= ["Box_NATO_Wps_F","Box_NATO_WpsSpecial_F","Box_NATO_Support_F","Box_East_Wps_F","Box_NATO_AmmoVeh_F", 
                   "Box_East_WpsSpecial_F","Box_East_Support_F","Box_IND_Wps_F","Box_IND_WpsSpecial_F", 
                   "Box_IND_Grenades_F","Box_IND_Support_F","Box_NATO_Grenades_F"]; 
   _cratesBig   = ["Box_IND_AmmoVeh_F","Box_East_AmmoVeh_F","Box_NATO_AmmoVeh_F"]; 
   _cratesHuge  = ["B_supplyCrate_F","O_supplyCrate_F","IG_supplyCrate_F","B_CargoNet_01_ammo_F","O_CargoNet_01_ammo_F", 
                   "I_CargoNet_01_ammo_F"]; 
 
   _throwables = ["HandGrenade_Stone",0.1, "HandGrenade",1, "MiniGrenade",0.7, "SmokeShell",0.2,"SmokeShellYellow",0.2, 
                 "SmokeShellGreen",0.2,"SmokeShellRed",0.2,"SmokeShellPurple",0.2,"SmokeShellOrange",0.2, 
                 "SmokeShellBlue",0.2,"Chemlight_green",0.2,"Chemlight_red",0.2,"Chemlight_yellow",0.2, 
                 "Chemlight_blue",0.2,"B_IR_Grenade",0.1,"O_IR_Grenade",0.1,"I_IR_Grenade",0.1]; 
 
 
   private ["_crateObj","_cratePos","_overland","_landpos","_markerColor"]; 
   tort_crates_array = []; 
 
   fn_rnd_num = {(_this select 0) + round(random((_this select 1) - (_this select 0)))}; 
   _crates_amount = _crates_minmax call fn_rnd_num; 
 
   for "_cratesites" from 1 to _crates_amount do { 
      _weapons_amount = _weapons_minmax call fn_rnd_num; 
      _throwables_amount = round(random [0,_weapons_amount/2,_weapons_amount]); 
      _crateObj = selectRandom (_cratesSmall + _cratesMedium + _cratesBig + _cratesHuge); _markercolor = "ColorGreen"; 
      if (_weapons_amount > 7) then {_crateObj = selectRandom (_cratesMedium + _cratesBig + _cratesHuge); _markercolor = "ColorBlue"}; 
      if (_weapons_amount > 13) then {_crateObj = selectRandom (_cratesBig + _cratesHuge); _markercolor = "ColorRed"}; 
      if (_weapons_amount > 24) then {_crateObj = selectRandom _cratesHuge; _markercolor = "ColorBlack"}; 
 
      _overland=false; 
      while {!_overland} do { 
         _landpos = [random worldsize, random worldsize, 0]; 
         _overland = !(_landpos isFlatEmpty [-1, -1, -1, -1, 0, false] isEqualTo []); 
      }; 
      _overland = _landpos findEmptyPosition [0,25,_crateObj]; 
      if (count _overland > 0) then {_cratepos = _overland} else {_cratepos = _landpos}; 
 
      _crateObj_final = _crateObj createVehicle _cratepos; 
      _crateObj_final setdir random 360; 
 
      tort_crates_array pushBack _crateObj_final; 
 
      clearWeaponCargo _crateObj_final; 
      clearMagazineCargo _crateObj_final; 
      if (0.55 > random 1) then {clearItemCargo _crateObj_final}; 
 
      if (0.9 > random 1) then 
      { 
         _grass0 = "ClutterCutter" createVehicle _cratepos; 
         _grass0 attachto [_crateObj_final, [0,0,0]]; 
         _grass1 = "ClutterCutter" createVehicle _cratepos; 
         _grass1 attachto [_crateObj_final, [5,5,0]]; 
         _grass2 = "ClutterCutter" createVehicle _cratepos; 
         _grass2 attachto [_crateObj_final, [5,-5,0]]; 
         _grass3 = "ClutterCutter" createVehicle _cratepos; 
         _grass3 attachto [_crateObj_final, [-5,5,0]]; 
         _grass4 = "ClutterCutter" createVehicle _cratepos; 
         _grass4 attachto [_crateObj_final, [-5,-5,0]]; 
      }; 
 
      _ammo_amount = _ammo_minmax call fn_rnd_num; 
 
      if (_weapons_amount > 0) then 
      { 
         for "_addLoot" from 1 to _weapons_amount do 
         { 
            _cfgWeapons = "true" configClasses (configFile >> "cfgWeapons"); 
            _weaponArray = []; 
            if (_handgun_probability < random 1) then { 
               _cfgWeapons = "getnumber (_x >> 'type') isEqualTo 1 AND getnumber (_x >> 'scope') isEqualTo 2" configClasses (configfile >> 'CfgWeapons');} 
            else { 
               _cfgWeapons = "getnumber (_x >> 'type') isEqualTo 2 AND getnumber (_x >> 'scope') isEqualTo 2" configClasses (configfile >> 'CfgWeapons' ); 
            }; 
            {  _weaponString = configName (_x); 
               _weaponArray pushBack _weaponString; 
            }  forEach _cfgWeapons; 
            _weaponsObj = selectRandom _weaponArray; 
            _ammo = getarray(configFile >> "cfgWeapons" >> _weaponsObj >> "magazines" ); 
            _crateObj_final addItemCargo [_weaponsObj, 1]; 
 
            for "_i" from 1 to _ammo_amount do 
            { 
              _crateObj_final addMagazineCargo [selectRandom _ammo, 1]; 
            }; 
         }; 
      }; 
 
      if (0.4 > random 1) then {_crateObj_final addItemCargo ["MineDetector", 1]}; 
 
      if (_throwables_amount > 0) then { 
         for "_i" from 1 to _throwables_amount do 
         { 
           _crateObj_final addMagazineCargo [selectRandomWeighted _throwables, 1]; 
         }; 
      }; 
 
      if (!(isnil "tort_debug")) then 
      { 
         if (tort_debug) then { 
            systemchat format ["%1 at %2 with %3 weapons ",_crateObj,_cratepos,_weapons_amount]; 
            _marker = createMarkerlocal [format ["CrateMarker_%1", str _cratesites], _cratepos]; 
            format ["CrateMarker_%1", str _cratesites] setMarkerTypelocal "mil_dot_noshadow"; 
            format ["CrateMarker_%1", str _cratesites] setMarkerColorlocal _markercolor; 
         }; 
      }; 
   }; 
};

 

Change AI skill (game logic init)

  Reveal hidden contents


0 = [[0.2,0.4,0.8], [0.05,0.7]] spawn 
{ 
   private _sleep = 60 + random 30; 
   private _multiApply = false; 
   tortdoit = true;
   tort_debug=false;
 
   private ["_a","_b","_c","_d","_e","_f"]; 
   private _altermyside = false; 
   private _alterotherside = false; 
   private _myunits = []; 
   private _otherunits = []; 
 
   if (count (_this select 0) == 3) then 
   { 
      _altermyside = true; 
      _a = _this select 0 select 0; 
      _b = _this select 0 select 1; 
      _c = _this select 0 select 2; 
   }; 
 
   if (count (_this select 0) == 2) then 
   { 
      _altermyside = true; 
      _a = _this select 0 select 0; 
      _b = _this select 0 select 1; 
   }; 
 
   if (count (_this select 1) == 3) then 
   { 
      _alterotherside = true; 
      _d = _this select 1 select 0; 
      _e = _this select 1 select 1; 
      _f = _this select 1 select 2; 
   }; 
 
   if (count (_this select 1) == 2) then 
   { 
      _alterotherside = true; 
      _d = _this select 1 select 0; 
      _e = _this select 1 select 1; 
   }; 
 
   if !(_altermyside || _alterotherside) exitWith {}; 
 
   while {tortdoit} do 
   { 
      { 
         if ((side player) == (side _x)) then 
         { 
            if (_altermyside) then 
            { 
               if (_multiApply || ((_myunits find _x) == -1)) then 
               { 
                  _myunits pushBack _x; 
 
                  if (count (_this select 0) == 3) then 
                  { 
                     _x setskill random [_a,_b,_c]; 
                     _x setskill ["aimingAccuracy", random [_a,_b,_c]]; 
                     _x setskill ["aimingShake", _a + random (_c-_a)]; 
                     _x setskill ["aimingSpeed", random [_a,_b,_c]]; 
                     _x setskill ["commanding", random [_a,_c,_c]]; 
                     _x setskill ["courage", random [_a,_c,_c]]; 
                     _x setskill ["reloadSpeed", _a + random (_c-_a)]; 
                     _x setskill ["spotDistance", random [_b,_b,_c]]; 
                     _x setskill ["spotTime", random [_b,_b,_c]]; 
                  } 
                  else 
                  { 
                     _x setskill _a + random (_b - _a); 
                     _x setskill ["aimingAccuracy", _a + random (_b - _a)]; 
                     _x setskill ["aimingShake", _a + random (_b - _a)]; 
                     _x setskill ["aimingSpeed", _a + random (_b - _a)]; 
                     _x setskill ["commanding", random [_a,_b,_b]]; 
                     _x setskill ["courage", _a + random (_b - _a)]; 
                     _x setskill ["reloadSpeed", _a + random (_b - _a)]; 
                     _x setskill ["spotDistance", _a + random (_b - _a)]; 
                     _x setskill ["spotTime", _a + random (_b - _a)]; 
                  }; 
                  sleep 0.2; 
               }; 
            }; 
         } 
         else 
         { 
            if (_alterotherside) then 
            { 
               if (_multiApply || ((_otherunits find _x) == -1)) then 
               { 
                  _otherunits pushBack _x; 
                  if (count (_this select 1) == 3) then 
                  { 
                     _x setskill random [_d,_e,_f]; 
                     _x setskill ["aimingAccuracy", random [_d,_e,_f]]; 
                     _x setskill ["aimingShake",  _d + random (_f-_d)]; 
                     _x setskill ["aimingSpeed", random [_d,_e,_f]]; 
                     _x setskill ["commanding", random [_d,_e,_f]]; 
                     _x setskill ["courage", random [_d,_e,_f]]; 
                     _x setskill ["reloadSpeed", _d + random (_f-_d)]; 
                     _x setskill ["spotDistance", random [_e,_e,_f]]; 
                     _x setskill ["spotTime", random [_e,_e,_f]]; 
                  } 
                  else 
                  { 
                     _x setskill _d + random (_e - _d); 
                     _x setskill ["aimingAccuracy", _d + random (_e - _d)]; 
                     _x setskill ["aimingShake",  _d + random (_e - _d)]; 
                     _x setskill ["aimingSpeed", _d + random (_e - _d)]; 
                     _x setskill ["commanding", _d + random (_e - _d)]; 
                     _x setskill ["courage", _d + random (_e - _d)]; 
                     _x setskill ["reloadSpeed", _d + random (_e - _d)]; 
                     _x setskill ["spotDistance", _d + random (_e - _d)]; 
                     _x setskill ["spotTime", _d + random (_e - _d)]; 
                  }; 
                  sleep 0.2; 
               }; 
            }; 
         }; 
         sleep 0.05; 
      if(tort_debug) then {systemchat format ["%1(%2): %3",_x, side _x, skill _x]}} forEach allUnits; 
   sleep _sleep; 
   if (_multiApply) then {_myunits = []}; 
   }; 
};

 

Random position at mission start (unit init)

  Reveal hidden contents


0 = player spawn { 
   waituntil {alive _this}; 
   private ["_overland","_landpos"]; _overland=false; 
   while {!_overland} do 
   { 
      _landpos = [random worldsize, random worldsize, 0]; 
      _overland = !(_landpos isFlatEmpty [-1, -1, -1, -1, 0, false] isEqualTo []); 
   }; 
   _landpos = _landpos findEmptyPosition [0,25,(typeof _this)]; 
   _this setPosATL [_landpos select 0, _landpos select 1, (getPosATL _this) select 2]; 
   _this setdir random 360; 
};

 

Parachute player into game (code goes into a game logic)

  Reveal hidden contents


comment "minHeight, maxHeight, autoOpenAtMin, autoOpenAtMax, failureAutoChance"; 
0 = [500, 1000, 75, 100, 0.1] spawn { 
   cutText ["Parachuting in...","BLACK FADED",0];sleep 1; cutText ["","BLACK IN", 3]; 
   _autoOpenChuteATL = (_this select 2) + random ((_this select 3) - (_this select 2)); 
   if ((random 1) < (_this select 4)) then {_autoOpenChuteATL = (random (_this select 2))*(random 1)}; 
   waituntil {alive player}; 
   private _loadout = getUnitLoadout player; 
   removebackpack player; player addbackpack "B_Parachute"; 
   player setdir random 360; 
   player setposATL [position player select 0, position player select 1, (_this select 0) + random ((_this select 1) - (_this select 0))]; 
   waitUntil {getPosATL player select 2 < _autoOpenChuteATL}; 
   player action ["openParachute"]; 
   waituntil {isTouchingGround player}; 
   player setUnitLoadout [_loadout, true]; 
};

 

Spawn player as random soldier type (any units init)

  Reveal hidden contents


comment "east west resistance civilian sideEnemy sideFriendly sideUnknown"; 
 
0 = [this, west, ""] spawn { 
   private _thisObject = _this select 0; 
   waituntil {alive _thisObject}; 
   private _filter = ""; 
   if ((count _this) == 2) then {_filter = tolower(_this select 2)}; 
   _sideID = [_this select 1] call BIS_fnc_sideID; 
   _output = []; 
   _units = ((format ["getNumber (_x >> 'scope') isequalto 2 AND getText( _x >> 'author' ) == 'Bohemia Interactive' AND getNumber (_x >> 'side') isequalto %1 AND configName _x iskindof 'CAManBase' AND (tolower(getText (_x >> 'displayName')) find _filter) >= 0",_sideID]) configclasses (configfile >> "CfgVehicles")); 
   if ((count _units) > 0) then 
   { 
      {_output pushback (configname _x)} forEach _units; 
      _randomSoldier = selectRandom _output; 
      _thisObject setUnitLoadout [getUnitLoadout _randomSoldier, true]; 
   }; 
};

 

Limit unit loadout at mission start (any units init)

  Reveal hidden contents


0 = [player] spawn { 
   private _removeAllNav = 0.05; 
   private _removeAllWeapons = 0; 
 
   private _removeGPS = 0.7; 
   private _removeCompass = 0.5; 
   private _removeMap = 0.2; 
   private _removeWatch = 0.2; 
   private _removeRangefinder = 0.2; 
   private _removeNVG = 0.65; 
   private _removeBino = 0.1; 
 
   private _removePrimaryWeapon = 0.3; 
   private _removePrimaryWeaponAmmo = 0; 
   private _removeHandgunWeapon = 0; 
   private _removeHandgunWeaponAmmo = 0; 
   private _removeSecondaryWeapon = 0.95; 
   private _removeSecondaryWeaponAmmo = 0; 
 
   private _thisObject = _this select 0; 
 
   sleep 5; waitUntil {isTouchingGround _thisObject}; sleep 3; 
   private _rw = false; if (_removeAllWeapons > random 1) then {_rw = true}; 
   private _rn = false; if (_removeAllNav > random 1) then {_rn = true}; 
 
   if (alive _thisObject) then 
   { 
      if ((_removePrimaryWeapon > random 1) || _rw) then {_thisObject removeWeapon (primaryWeapon _thisObject)}; 
      if ((_removeHandgunWeapon > random 1) || _rw) then {_thisObject removeWeapon (handgunWeapon _thisObject)}; 
      if ((_removeSecondaryWeapon > random 1) || _rw) then {_thisObject removeWeapon (secondaryWeapon _thisObject)}; 
      if ((_removeCompass > random 1)  || _rn) then {_thisObject removeWeapon "itemCompass"}; 
      if ((_removeGPS > random 1) || _rn) then {_thisObject removeWeapon "itemGPS"}; 
      if ((_removeMap > random 1)  || _rn) then {_thisObject removeWeapon "itemMap"}; 
      if ((_removeWatch > random 1)  || _rn) then {_thisObject removeWeapon "itemWatch"}; 
      if ((_removeBino > random 1)  || _rn) then {_thisObject removeWeapon "Binocular"}; 
      if ((_removeRangefinder > random 1)  || _rn) then {_thisObject removeWeapon "Rangefinder"}; 
      if ((_removeNVG > random 1)  || _rn) then {_thisObject unassignItem "NVGoggles"; _thisObject removeItem "NVGoggles"}; 
 
   }; 
};

 

  • Like 1

Share this post


Link to post
Share on other sites

mGhCewiwQC_b2U_Gtxri3g.png

23 minutes ago, GEORGE FLOROS GR said:

and for Everyone who wants to give a try before the release:

this is  a link to my WIP SALVATION_2

 

 

George Floros SALVATION_2.zip

 

 

below some Credits and informations:

  Reveal hidden contents

S A L V A T I O N  2


Mission Author : GEORGE FLOROS [GR]

The Road to Nowhere

Informations :


This mission supports SP or MP ,Coop or PVP ,
as a typical Survival , DAYZ Gameplay
and supports EVERY map (ArmA 1/2/3).

There are 20 Enemy selection.Fight VS NPCS or Zombies.
Gameplay with a lot of options (MODULAR environment).

[To do so you need the CUP Terrains addon for the most of the maps]
http://cup-arma3.org/download

Just by changing the name on the end of the mission name
(the Extension)
like : SALVATION_2.Stratis
to   : SALVATION_2.Tanoa


Select your desired Environment
to the mission parameters.

Mission Parameters:

There are 8 paragraphs in the mission parameters.
There are a lot of options available, in order to have , a Modular Environment.

***CAUTION***
 

Your Selections may have effect on the performance , according also the selected map

Manage the performance , by making the correct selections according to your system.
There will be a great difference on th selected map.

There is an option available in the Parameters , diag_log_enabled ,
to get extra information about the Server .


Paragraphs:


1. GF Blood Stains and SFX LITE Settings
2. VCOM AI
3. Environment Settings
4. Player Settings
5. Killfeed Settings
6. Civilians Settings
7. Enemy Settings
8. Game Settings

Loot Probability :

There is en option for the percentage of the loot probability , according to the map selected.
If the map you are using , is a large map like Altis for example , you may want to set this to lower ,
because it will have effect on the performance.
There are options for : Vanilla , CUP , The Unsung Vietnam War Mod and Ravage mod , for the spawning loot.


- Optional VCOMAI userconfig - The mission is using the VCOMAI . To use the extra
settings see the Install Instructions of VCOMAI folder .


S c r i p t s  used :

Special Thanks to the following! :

C R E D I T S    T O  :


TAW view Distance Script by Tonic   
Loot system Script by BangaBob
Advanced Rappelling Script by Duda
Advanced Urban Rappelling Script by Duda
Advanced Towing - Script by Duda
VCOM AI Driving Script by Genesis92x
Vcom AI Script by Genesis92x
Mag Repack Script by Outlawled
Snow Storm Script  by aliascartoons
Thunderbolt Script by aliascartoons
Real Weather script by code34
Generic Dust Particles Script by Goon
Generic Snowstorm  Particles Script by Goon
Randomly generated roadside IED's script by brians200
AI HALO Jump Script by cobra4v320
Engima's Civilians Script by Engima
Engima's Traffic Script by Engima
[R3F] Logistics Script by Team R3F
Left Shoulder Scripted Weapon script by ArtyomAbramov
No Kill Zone Script by SuperChicken Productions

GF_Blood_Stains_LITE by GEORGE FLOROS [GR]
GF_Cargo_Airdrops Script by GEORGE FLOROS [GR]
GF_Cleanup Script by GEORGE FLOROS [GR]
GF_Crashsites Script by GEORGE FLOROS [GR]
GF_DeathScreen Script by GEORGE FLOROS [GR]
GF_Drop_Loot Script by GEORGE FLOROS [GR]
GF_Earplugs Script by GEORGE FLOROS [GR]
GF_Earthquakes Script by GEORGE FLOROS [GR]
GF_Holster Script by GEORGE FLOROS [GR]
GF_Killfeed Script by GEORGE FLOROS [GR]
GF_Ravage_Static_Traders
GF_Ravage_Status_Bar Script by GEORGE FLOROS [GR]
GF_Vehicles_Configurable_Loot Script by GEORGE FLOROS [GR]


A d d o n s  used :

Special Thanks to the following! :

C R E D I T S    T O  :


Haleks [ Ravage ]
ryandombrowsky [ Zombies and Demons ( Ryanzombies ) ]
Maxjoiner [ Max Zombies ]
Community Upgrade Project  [ CUP ]
RED HAMMER STUDIOS  [ RHS ]
RSO Creations  [ RSO Buildings Pack ]
mattaust [ ArmA 3 Custom Buildings - Original ]
UNSUNG Mod Team [ The Unsung Vietnam War Mod ]


O p t i o n a l   a d d o n s :


CUP Terrains Complete http://www.armaholic.com/page.php?id=30045
CUP Weapons http://www.armaholic.com/page.php?id=27489
CUP Units http://www.armaholic.com/page.php?id=29301
CUP Vehicles http://www.armaholic.com/page.php?id=29716
RHSUSAF http://www.armaholic.com/page.php?id=27149
RHSAFRF http://www.armaholic.com/page.php?id=27150
RHSGREF http://www.armaholic.com/page.php?id=30998
Zombies and Demons http://www.armaholic.com/page.php?id=28958
Max Zombies http://www.armaholic.com/page.php?id=33696
RSO Buildings Pack http://www.armaholic.com/page.php?id=32088
ArmA 3 Custom Buildings - Original http://www.armaholic.com/page.php?id=29678
The Unsung Vietnam War Mod http://www.armaholic.com/page.php?id=29948


Thanks to All script contributors .
Thanks to everyone who tries to do the best for this game!
Thanks to Armaholic Community and Forums .
Thanks to BIS for such a great platform.
Thanks to BIS Community and BIS Community Forums

GOOD LUCK !

and thank you very much , for playing this mission !

Please inform me for anything,
in order to fix this.


More info to:

Armaholic and Bohemia Interactive Forums

 

Thanks to everyone !

Share this post


Link to post
Share on other sites

Hello there to Everyone !

 

I have start creating a Missions Pack , that will be running into a mission , in order to add more depth to gameplay or to use this also , as a side missions Pack !

 

It will be very easy to use and adapt.

 

So far , the Scripts for this and 4 missions are ready.

 

There will be an option also for non stop tasks and also an option to complete and have a mission end.

Now i'm adding more missions , i want to release this , as a start with 20 mission and it will be available soon.

  • Like 4
  • Thanks 1

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×