Welcome to The Forum

Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies and more


Surama

Members
  • Posts

    18
  • Joined

  • Last visited

About Surama

  • Birthday 03/13/1987

Profile Information

  • Location
    Russian Federation [Moscow]
  1. The problem in - when I try upload my mission.pbo(size 35mb) on the server through new SS Panel - mission.pbo simply isn't loaded, tried from different computers and the Internet, and doesn't load! But mission.pbo with size 4mb it loads normally! In what a problem why I can't normally load mission 35mb? On the old panel it was much simpler to be made and to the measure there was a loading indicator!
  2. The problem in - when I try upload my mission.pbo(size 35mb) on the server through new SS Panel - mission.pbo simply isn't loaded, tried from different computers and the Internet, and doesn't load! But mission.pbo with size 4mb it loads normally! In what a problem why I can't normally load mission 35mb? On the old panel it was much simpler to be made and to the measure there was a loading indicator!
  3. u may chage it with FTP , in new SS panel u can login and viev u'r FTP folder but if u want edit it u must use FTP client!
  4. u may chage it with FTP , in new SS panel u can login and viev u'r FTP folder but if u want edit it u must use FTP client!
  5. my disappointment doesn't have a limit! - For two weeks I will forgive me to send the server invoice for payment (that would send ahead of schedule) and no any results... - I opened some tickets and even, I wrote in administration Skype - and no any results... And now it turns out so that I go to other country for a certain time - in this connection I won't be able to pay (to prolong) my server (the payment order has to come around 3 numbers of every month!) I certainly understand that you there only three persons in team, and your service is pleasant to me, but such trouble with payment is %$#%* ! - If I don't manage to pay (to prolong) my server - I will be compelled to change a hosting of my server, words already aren't present simply! It not the abusive message, is an appeal about that what to begin already at least to gather to itself in team the people - which will watch and talk to players about server payment and prolong they server's!
  6. my disappointment doesn't have a limit! - For two weeks I will forgive me to send the server invoice for payment (that would send ahead of schedule) and no any results... - I opened some tickets and even, I wrote in administration Skype - and no any results... And now it turns out so that I go to other country for a certain time - in this connection I won't be able to pay (to prolong) my server (the payment order has to come around 3 numbers of every month!) I certainly understand that you there only three persons in team, and your service is pleasant to me, but such trouble with payment is %$#%* ! - If I don't manage to pay (to prolong) my server - I will be compelled to change a hosting of my server, words already aren't present simply! It not the abusive message, is an appeal about that what to begin already at least to gather to itself in team the people - which will watch and talk to players about server payment and prolong they server's!
  7. In this tuto i show u how u can easy add earthquake in u'r server... Earthquake have't damage U need: 1) mission.pbo 2) Notepad 1st step ----------- Unpuck u'r mission pbo, and in root create a new SQF file, likes - earthquake.sqf put this code in u'r earthquake.sqf earth = { playsound "eq"; for "_i" from 0 to 140 do { _vx = vectorup _this select 0; _vy = vectorup _this select 1; _vz = vectorup _this select 2; _coef = 0.01 - (0.0001 * _i); _this setvectorup [ _vx+(-_coef+random (2*_coef)), _vy+(-_coef+random (2*_coef)), _vz+(-_coef+random (2*_coef)) ]; sleep (0.01 + random 0.01); }; }; while {true} do { player spawn earth; sleep (360 + random 30); }; 2-nd step ------------------- In u'r INIT.sqf file find: //Run the player monitor _id = player addEventHandler ["Respawn", {_id = [] spawn player_death; _nul = [] execVM "playerspawn.sqf";}]; _playerMonitor = [] execVM "\z\addons\dayz_code\system\player_monitor.sqf"; And below that add code: null = [] execVM "earthquake.sqf"; ------------------------------------------------------ changing these parameters "sleep (360 + random 30);" [in u'r earthquake.sqf file] - you can increase \reduce time of a dream and intensity... ------------------------------------------------------ DONE! Pack u'r mission file, upload it to server!
  8. In this tuto i show u how u can easy add earthquake in u'r server... Earthquake have't damage U need: 1) mission.pbo 2) Notepad 1st step ----------- Unpuck u'r mission pbo, and in root create a new SQF file, likes - earthquake.sqf put this code in u'r earthquake.sqf earth = { playsound "eq"; for "_i" from 0 to 140 do { _vx = vectorup _this select 0; _vy = vectorup _this select 1; _vz = vectorup _this select 2; _coef = 0.01 - (0.0001 * _i); _this setvectorup [ _vx+(-_coef+random (2*_coef)), _vy+(-_coef+random (2*_coef)), _vz+(-_coef+random (2*_coef)) ]; sleep (0.01 + random 0.01); }; }; while {true} do { player spawn earth; sleep (360 + random 30); }; 2-nd step ------------------- In u'r INIT.sqf file find: //Run the player monitor _id = player addEventHandler ["Respawn", {_id = [] spawn player_death; _nul = [] execVM "playerspawn.sqf";}]; _playerMonitor = [] execVM "\z\addons\dayz_code\system\player_monitor.sqf"; And below that add code: null = [] execVM "earthquake.sqf"; ------------------------------------------------------ changing these parameters "sleep (360 + random 30);" [in u'r earthquake.sqf file] - you can increase \reduce time of a dream and intensity... ------------------------------------------------------ DONE! Pack u'r mission file, upload it to server!
  9. In this Tuto i show u how u may to add the set quantity AI on map (on coordinates to which you will set) AI - will move according to map, visiting different places (in dependence how many control points you to them will set) their radius of movement will depend as on that as far as you will allow to do them! AI - Can be aggressive to all without exception! Can be aggressive to bandits and the zombie, to peace survived they are adjusted loyally! U need: 1) u'r mission.pbo 2) Notepad++(Notepad) 1st step ---------------- -Unpack u'r mission.pbo, and in thre root creat folder like "Scripts" - in folder "Scripts" u need create 2-nd folder likes "faction" In folder "faction" creat three files SQF: 1nd - add_unit_server.sqf 2d - set_unit_faction.sqf 3th - zombie_generate.sqf 2-nd step ---------------- - in add_unit_server.sqf past this code: private["_aiunit","_xpos","_ypos","_unitpos","_aiGroup","_wppos","_wpradius","_wpnum","_numunits","_unitType","_faction","_rndLOut","_ailoadout","_aiwep","_aiammo","_wp","_aispawnpos"]; _aiunit = objNull; _aispawnpos =_this select 0; _wpradius = _this select 1; _wpnum = _this select 2; _numunits = _this select 3; _unitType = _this select 4; _faction = _this select 5; _xpos = _aispawnpos select 0; _ypos = _aispawnpos select 1; // Faction 0 settings (aka Resistance [locals]) _resistanceRandomSkin = "MVD_Soldier_MG"; _resistanceSniperSkin = "MVD_Soldier_MG"; _resistanceGunnerSkin = "MVD_Soldier_MG"; _resistanceMilitiaSkin = "MVD_Soldier_MG"; _resistanceRandomGear = ["ItemMatchbox","FoodCanBakedBeans","ItemSodaPepsi","GER_Soldier_EP1"]; _resistanceSniperRifle = "AK_107_pso"; _resistanceSniperAmmo = "30Rnd_545x39_AK"; _resistanceSniperGear = ["ItemMatchbox","FoodCanBakedBeans","ItemSodaPepsi","UN_CDF_Soldier_AT_EP1"]; _resistanceGunnerRifle = "SVD_CAMO"; _resistanceGunnerAmmo = "10Rnd_762x54_SVD"; _resistanceGunnerGear = ["ItemMatchbox","FoodCanBakedBeans","ItemSodaPepsi","CZ_Soldier_Light_DES_EP1"]; _resistanceMilitiaRifle = "SVD_CAMO"; _resistanceMilitiaAmmo = "10Rnd_762x54_SVD"; _resistanceMilitiaGear = ["ItemMatchbox","FoodCanBakedBeans","ItemSodaPepsi","Soldier_Sniper_PMC"]; // Faction 1 settings (aka East [Military]) _eastRandomSkin = "MVD_Soldier_MG"; _eastSniperSkin = "MVD_Soldier_MG"; _eastGunnerSkin = "MVD_Soldier_MG"; _eastMilitiaSkin = "MVD_Soldier_MG"; _eastRandomGear = ["ItemGPS","NVGoggles","CZ_Soldier_Light_DES_EP1"]; _eastSniperRifle = "SVD_CAMO"; _eastSniperAmmo = "10Rnd_762x54_SVD"; _eastSniperGear = ["ItemGPS","NVGoggles","Soldier_Sniper_PMC"]; _eastGunnerRifle = "AK_107_pso"; _eastGunnerAmmo = "100Rnd_762x51_M240"; _eastGunnerGear = ["ItemGPS","NVGoggles","CZ_Soldier_Light_DES_EP1"]; _eastMilitiaRifle = "AK_107_pso"; _eastMilitiaAmmo = "30Rnd_556x45_StanagSD"; _eastMilitiaGear = ["ItemGPS","NVGoggles","GER_Soldier_EP1"]; switch (_faction) do { case 0 : {_aiGroup = createGroup resistance; for [{ x=1 },{ x < _numunits+1 },{ x = x + 1; }] do { _unitpos = [_xpos+x,_ypos+x,0]; switch (_unitType) do { case 0 : { _rndLOut=floor(random 3); _ailoadout= switch (_rndLOut) do { case 0: {[_resistanceSniperRifle,_resistanceSniperAmmo]}; case 1: {[_resistanceGunnerRifle,_resistanceGunnerAmmo]}; case 2: {[_resistanceMilitiaRifle,_resistanceMilitiaAmmo]}; }; _resistanceRandomSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _resistanceRandomGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _resistanceRandomGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 1 : { _ailoadout=[_resistanceSniperRifle,_resistanceSniperAmmo]; _resistanceSniperSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _resistanceSniperGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _resistanceSniperGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 2 : { _ailoadout=[_resistanceGunnerRifle,_resistanceGunnerAmmo]; _resistanceGunnerSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _resistanceGunnerGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _resistanceGunnerGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 3 : { _ailoadout=[_resistanceMilitiaRifle,_resistanceMilitiaAmmo]; _resistanceMilitiaSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _resistanceMilitiaGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _resistanceMilitiaGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 4 : { for [{y=1},{y<=3},{y=y+1}] do { switch (y) do { case 1 : { _ailoadout=[_resistanceSniperRifle,_resistanceSniperAmmo]; _resistanceSniperSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _resistanceSniperGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _resistanceSniperGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 2 : { _ailoadout=[_resistanceGunnerRifle,_resistanceGunnerAmmo]; _resistanceGunnerSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _resistanceGunnerGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _resistanceGunnerGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 3 : { _ailoadout=[_resistanceMilitiaRifle,_resistanceMilitiaAmmo]; _resistanceMilitiaSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _resistanceMilitiaGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _resistanceMilitiaGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; }; }; }; default {}; }; } ; }; case 1 : {_aiGroup = createGroup east; for [{ x=1 },{ x < _numunits+1 },{ x = x + 1; }] do { _unitpos = [_xpos+x,_ypos+x,0]; switch (_unitType) do { case 0 : { _rndLOut=floor(random 3); _ailoadout= switch (_rndLOut) do { case 0: {[_eastSniperRifle,_eastSniperAmmo]}; case 1: {[_eastGunnerRifle,_eastGunnerAmmo]}; case 2: {[_eastMilitiaRifle,_eastMilitiaAmmo]}; }; _eastRandomSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _eastRandomGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _eastRandomGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 1 : { _ailoadout=[_eastSniperRifle,_eastSniperAmmo]; _eastSniperSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _eastSniperGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _eastSniperGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 2 : { _ailoadout=[_eastGunnerRifle,_eastGunnerAmmo]; _eastGunnerSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _eastGunnerGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _eastGunnerGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 3 : { _ailoadout=[_eastMilitiaRifle,_eastMilitiaAmmo]; _eastMilitiaSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _eastMilitiaGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _eastMilitiaGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 4 : { for [{y=1},{y<=3},{y=y+1}] do { switch (y) do { case 1 : { _ailoadout=[_eastSniperRifle,_eastSniperAmmo]; _eastSniperSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _eastSniperGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _eastSniperGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 2 : { _ailoadout=[_eastGunnerRifle,_eastGunnerAmmo]; _eastGunnerSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _eastGunnerGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _eastGunnerGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 3 : { _ailoadout=[_eastMilitiaRifle,_eastMilitiaAmmo]; _eastMilitiaSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _eastMilitiaGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _eastMilitiaGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; }; }; }; default {}; }; } ; }; default {}; }; //generate waypoints for [{ x=1 },{ x < _wpnum },{ x = x + 1; }] do { _wppos = [_xpos+(x*20),_ypos+(x*20),_wpradius]; _wp = _aiGroup addWaypoint [_wppos, _wpradius]; _wp setWaypointType "MOVE"; }; _wp = _aiGroup addWaypoint [[_xpos,_ypos,0], _wpradius]; _wp setWaypointType "CYCLE"; - in set_unit_faction.sqf past this code: waitUntil{initialized}; //0Day createCenter east; createCenter resistance; //Survivors WEST setFriend [RESISTANCE,0]; WEST setFriend [EAST,0]; //Bandits EAST setFriend [RESISTANCE,0]; EAST setFriend [WEST,0]; //AI Units RESISTANCE setFriend [WEST,0]; RESISTANCE setFriend [EAST,0]; RESISTANCE setFriend [CIVILIAN,0];//AI Units attack zeds CIVILIAN setFriend [RESISTANCE,0];//Testing Zeds attack AI units, doesn't seem to help.. - in zombie_generate.sqf past this code: private["_position","_doLoiter","_unitTypes","_isNoone","_loot","_array","_agent","_type","_radius","_method","_nearByPlayer","_attempt","_myDest","_newDest","_lootType"]; _position = _this select 0; _doLoiter = _this select 1; _unitTypes = _this select 2; if (dayz_maxCurrentZeds > dayz_maxZeds) exitwith {}; if (dayz_CurrentZombies > dayz_maxGlobalZombies) exitwith {}; if (dayz_spawnZombies > dayz_maxLocalZombies) exitwith {}; _isNoone = {isPlayer _x} count (_position nearEntities [["AllVehicles","CAManBase"],30]) == 0; _loot = ""; _array = []; _agent = objNull; //Exit if a player is nearby if (!_isNoone) exitWith {}; if (count _unitTypes == 0) then { _unitTypes = []+ getArray (configFile >> "CfgBuildingLoot" >> "Default" >> "zombieClass"); }; _type = _unitTypes call BIS_fnc_selectRandom; //Create the Group and populate it //diag_log ("Spawned: " + _type); _radius = 0; _method = "CAN_COLLIDE"; if (_doLoiter) then { _radius = 40; _method = "NONE"; }; //diag_log ("Spawned: " + str([_type, _position, [], _radius, _method])); _agent = createAgent [_type, _position, [], _radius, _method]; if (_doLoiter) then { _agent setPosATL _position; //_agent setVariable ["doLoiter",true,true]; } else { _agent setVariable ["doLoiter",false,true]; }; dayz_spawnZombies = dayz_spawnZombies + 1; //diag_log ("CREATE INFECTED: " + str(_this)); _position = getPosATL _agent; _nearByPlayer = ({isPlayer _x} count (_position nearEntities [["AllVehicles","CAManBase"],30]) > 0); if (random 1 > 0.7) then { _agent setUnitPos "Middle"; }; //diag_log ("CREATED: " + str(_agent)); if (_nearByPlayer) then { deleteVehicle _agent; }; /* //_agent setVariable["host",player,true]; if (!_doLoiter) then { _agent setPosATL _position; _agent setDir round(random 180); if (_nearByPlayer) then { deleteVehicle _agent; }; } else { if (_nearByPlayer) then { _attempt = 0; while {_nearByPlayer} do { _position = [_position,0,20,10,0,20,0] call BIS_fnc_findSafePos; _agent setPos _position; _nearByPlayer = ({isPlayer _x} count (_position nearEntities ["CAManBase",30]) > 0); _attempt = _attempt + 1; if (_attempt > 10) exitWith {}; }; _agent setPos _position; }; }; */ if (isNull _agent) exitWith { dayz_spawnZombies = dayz_spawnZombies - 1; }; _isAlive = alive _agent; _myDest = getPosATL _agent; _newDest = getPosATL _agent; _agent setVariable ["myDest",_myDest]; _agent setVariable ["newDest",_newDest]; //Add some loot _rnd = random 1; if (_rnd > 0.3) then { _lootType = configFile >> "CfgVehicles" >> _type >> "zombieLoot"; if (isText _lootType) then { _array = []+ getArray (configFile >> "cfgLoot" >> getText(_lootType)); if (count _array > 0) then { _loot = _array call BIS_fnc_selectRandomWeighted; if(!isNil "_array") then { _agent addMagazine _loot; }; }; }; }; //Start behavior _id = [_position,_agent] execFSM "\z\AddOns\dayz_code\system\zombie_agent.fsm"; { _x addRating -20000; } forEach allMissionObjects "zZombie_Base"; 3-th step -------------- in the root of u'r mision.pbo find INIT.sqf open it and find there: //Load in compiled functions call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; //Initilize the Variables (IMPORTANT: Must happen very early) progressLoadingScreen 0.1; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf"; //Initilize the publicVariable event handlers progressLoadingScreen 0.2; call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; //Functions used by CLIENT for medical progressLoadingScreen 0.4; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; //Compile regular functions progressLoadingScreen 0.5; call compile preprocessFileLineNumbers "server_traders.sqf"; //Compile trader configs call compile preprocessFileLineNumbers "custom\compiles.sqf"; //Compile custom compiles progressLoadingScreen 1.0; below add: zombie_generate = compile preprocessFileLineNumbers "Scripts\faction\zombie_generate.sqf"; if (isServer) then { _factions = [] execVM "Scripts\faction\set_unit_faction.sqf"; _aispawn = [[13517.5,12121.2,0],70,8,4,1,0] execVM "Scripts\faction\add_unit_server.sqf"; _aispawn = [[13401.2,11851.1,0],70,5,3,1,0] execVM "Scripts\faction\add_unit_server.sqf"; _aispawn = [[13166.8,11982.4,0],50,2,3,1,0] execVM "Scripts\faction\add_unit_server.sqf"; }; ------------------------------------- interpretation code _aispawn = [[13517.5,12121.2,0],70,8,4,1,0] execVM "Scripts\faction\add_unit_server.sqf"; - [13517.5,12121.2,0] - this is coordinate then they be spawn on map - 70 - this they walk radius - 8 - quantity of control points on which they will be late - 4 - how much AI be in group - 1 - attack only Zed's or Bandits ( if u past 0 - they be attack all alive) --------------------------------------- In file add_unit_server.sqf find - // Faction 0 settings and // Faction 1 settings - here you can set Skin of AI their weapon and stock contents! --------------------------------------- Done! Puck u'r mission and upload to server!
  10. In this Tuto i show u how u may to add the set quantity AI on map (on coordinates to which you will set) AI - will move according to map, visiting different places (in dependence how many control points you to them will set) their radius of movement will depend as on that as far as you will allow to do them! AI - Can be aggressive to all without exception! Can be aggressive to bandits and the zombie, to peace survived they are adjusted loyally! U need: 1) u'r mission.pbo 2) Notepad++(Notepad) 1st step ---------------- -Unpack u'r mission.pbo, and in thre root creat folder like "Scripts" - in folder "Scripts" u need create 2-nd folder likes "faction" In folder "faction" creat three files SQF: 1nd - add_unit_server.sqf 2d - set_unit_faction.sqf 3th - zombie_generate.sqf 2-nd step ---------------- - in add_unit_server.sqf past this code: private["_aiunit","_xpos","_ypos","_unitpos","_aiGroup","_wppos","_wpradius","_wpnum","_numunits","_unitType","_faction","_rndLOut","_ailoadout","_aiwep","_aiammo","_wp","_aispawnpos"]; _aiunit = objNull; _aispawnpos =_this select 0; _wpradius = _this select 1; _wpnum = _this select 2; _numunits = _this select 3; _unitType = _this select 4; _faction = _this select 5; _xpos = _aispawnpos select 0; _ypos = _aispawnpos select 1; // Faction 0 settings (aka Resistance [locals]) _resistanceRandomSkin = "MVD_Soldier_MG"; _resistanceSniperSkin = "MVD_Soldier_MG"; _resistanceGunnerSkin = "MVD_Soldier_MG"; _resistanceMilitiaSkin = "MVD_Soldier_MG"; _resistanceRandomGear = ["ItemMatchbox","FoodCanBakedBeans","ItemSodaPepsi","GER_Soldier_EP1"]; _resistanceSniperRifle = "AK_107_pso"; _resistanceSniperAmmo = "30Rnd_545x39_AK"; _resistanceSniperGear = ["ItemMatchbox","FoodCanBakedBeans","ItemSodaPepsi","UN_CDF_Soldier_AT_EP1"]; _resistanceGunnerRifle = "SVD_CAMO"; _resistanceGunnerAmmo = "10Rnd_762x54_SVD"; _resistanceGunnerGear = ["ItemMatchbox","FoodCanBakedBeans","ItemSodaPepsi","CZ_Soldier_Light_DES_EP1"]; _resistanceMilitiaRifle = "SVD_CAMO"; _resistanceMilitiaAmmo = "10Rnd_762x54_SVD"; _resistanceMilitiaGear = ["ItemMatchbox","FoodCanBakedBeans","ItemSodaPepsi","Soldier_Sniper_PMC"]; // Faction 1 settings (aka East [Military]) _eastRandomSkin = "MVD_Soldier_MG"; _eastSniperSkin = "MVD_Soldier_MG"; _eastGunnerSkin = "MVD_Soldier_MG"; _eastMilitiaSkin = "MVD_Soldier_MG"; _eastRandomGear = ["ItemGPS","NVGoggles","CZ_Soldier_Light_DES_EP1"]; _eastSniperRifle = "SVD_CAMO"; _eastSniperAmmo = "10Rnd_762x54_SVD"; _eastSniperGear = ["ItemGPS","NVGoggles","Soldier_Sniper_PMC"]; _eastGunnerRifle = "AK_107_pso"; _eastGunnerAmmo = "100Rnd_762x51_M240"; _eastGunnerGear = ["ItemGPS","NVGoggles","CZ_Soldier_Light_DES_EP1"]; _eastMilitiaRifle = "AK_107_pso"; _eastMilitiaAmmo = "30Rnd_556x45_StanagSD"; _eastMilitiaGear = ["ItemGPS","NVGoggles","GER_Soldier_EP1"]; switch (_faction) do { case 0 : {_aiGroup = createGroup resistance; for [{ x=1 },{ x < _numunits+1 },{ x = x + 1; }] do { _unitpos = [_xpos+x,_ypos+x,0]; switch (_unitType) do { case 0 : { _rndLOut=floor(random 3); _ailoadout= switch (_rndLOut) do { case 0: {[_resistanceSniperRifle,_resistanceSniperAmmo]}; case 1: {[_resistanceGunnerRifle,_resistanceGunnerAmmo]}; case 2: {[_resistanceMilitiaRifle,_resistanceMilitiaAmmo]}; }; _resistanceRandomSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _resistanceRandomGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _resistanceRandomGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 1 : { _ailoadout=[_resistanceSniperRifle,_resistanceSniperAmmo]; _resistanceSniperSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _resistanceSniperGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _resistanceSniperGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 2 : { _ailoadout=[_resistanceGunnerRifle,_resistanceGunnerAmmo]; _resistanceGunnerSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _resistanceGunnerGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _resistanceGunnerGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 3 : { _ailoadout=[_resistanceMilitiaRifle,_resistanceMilitiaAmmo]; _resistanceMilitiaSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _resistanceMilitiaGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _resistanceMilitiaGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 4 : { for [{y=1},{y<=3},{y=y+1}] do { switch (y) do { case 1 : { _ailoadout=[_resistanceSniperRifle,_resistanceSniperAmmo]; _resistanceSniperSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _resistanceSniperGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _resistanceSniperGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 2 : { _ailoadout=[_resistanceGunnerRifle,_resistanceGunnerAmmo]; _resistanceGunnerSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _resistanceGunnerGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _resistanceGunnerGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 3 : { _ailoadout=[_resistanceMilitiaRifle,_resistanceMilitiaAmmo]; _resistanceMilitiaSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _resistanceMilitiaGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _resistanceMilitiaGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; }; }; }; default {}; }; } ; }; case 1 : {_aiGroup = createGroup east; for [{ x=1 },{ x < _numunits+1 },{ x = x + 1; }] do { _unitpos = [_xpos+x,_ypos+x,0]; switch (_unitType) do { case 0 : { _rndLOut=floor(random 3); _ailoadout= switch (_rndLOut) do { case 0: {[_eastSniperRifle,_eastSniperAmmo]}; case 1: {[_eastGunnerRifle,_eastGunnerAmmo]}; case 2: {[_eastMilitiaRifle,_eastMilitiaAmmo]}; }; _eastRandomSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _eastRandomGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _eastRandomGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 1 : { _ailoadout=[_eastSniperRifle,_eastSniperAmmo]; _eastSniperSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _eastSniperGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _eastSniperGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 2 : { _ailoadout=[_eastGunnerRifle,_eastGunnerAmmo]; _eastGunnerSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _eastGunnerGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _eastGunnerGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 3 : { _ailoadout=[_eastMilitiaRifle,_eastMilitiaAmmo]; _eastMilitiaSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _eastMilitiaGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _eastMilitiaGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 4 : { for [{y=1},{y<=3},{y=y+1}] do { switch (y) do { case 1 : { _ailoadout=[_eastSniperRifle,_eastSniperAmmo]; _eastSniperSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _eastSniperGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _eastSniperGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 2 : { _ailoadout=[_eastGunnerRifle,_eastGunnerAmmo]; _eastGunnerSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _eastGunnerGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _eastGunnerGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; case 3 : { _ailoadout=[_eastMilitiaRifle,_eastMilitiaAmmo]; _eastMilitiaSkin createUnit [_unitpos, _aiGroup, "_aiunit=this;",0.6,"Private"]; _aiunit enableAI "TARGET"; _aiunit enableAI "AUTOTARGET"; _aiunit enableAI "MOVE"; _aiunit enableAI "ANIM"; _aiunit enableAI "FSM"; _aiunit allowDammage true; _aiunit setCombatMode "RED"; _aiunit setBehaviour "COMBAT"; //clear default weapons / ammo removeAllWeapons _aiunit; //add weapon _aiwep = _ailoadout select 0; _aiammo = _ailoadout select 1; _aiunit addweapon _aiwep; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _aiunit addMagazine _aiammo; _gearCount = count _eastMilitiaGear; for [{z = 0},{z >= _gearCount},{z = z + 1}] do { _currentItem = _eastMilitiaGear select z; _aiunit addMagazine _currentItem; }; //set skills _aiunit setSkill ["aimingAccuracy",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingShake",(floor(random 4)+8)/10]; _aiunit setSkill ["aimingSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["endurance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotDistance",(floor(random 4)+8)/10]; _aiunit setSkill ["spotTime",(floor(random 4)+8)/10]; _aiunit setSkill ["courage",(floor(random 4)+8)/10]; _aiunit setSkill ["reloadSpeed",(floor(random 4)+8)/10]; _aiunit setSkill ["commanding",(floor(random 4)+8)/10]; _aiunit setSkill ["general",(floor(random 4)+8)/10]; }; }; }; }; default {}; }; } ; }; default {}; }; //generate waypoints for [{ x=1 },{ x < _wpnum },{ x = x + 1; }] do { _wppos = [_xpos+(x*20),_ypos+(x*20),_wpradius]; _wp = _aiGroup addWaypoint [_wppos, _wpradius]; _wp setWaypointType "MOVE"; }; _wp = _aiGroup addWaypoint [[_xpos,_ypos,0], _wpradius]; _wp setWaypointType "CYCLE"; - in set_unit_faction.sqf past this code: waitUntil{initialized}; //0Day createCenter east; createCenter resistance; //Survivors WEST setFriend [RESISTANCE,0]; WEST setFriend [EAST,0]; //Bandits EAST setFriend [RESISTANCE,0]; EAST setFriend [WEST,0]; //AI Units RESISTANCE setFriend [WEST,0]; RESISTANCE setFriend [EAST,0]; RESISTANCE setFriend [CIVILIAN,0];//AI Units attack zeds CIVILIAN setFriend [RESISTANCE,0];//Testing Zeds attack AI units, doesn't seem to help.. - in zombie_generate.sqf past this code: private["_position","_doLoiter","_unitTypes","_isNoone","_loot","_array","_agent","_type","_radius","_method","_nearByPlayer","_attempt","_myDest","_newDest","_lootType"]; _position = _this select 0; _doLoiter = _this select 1; _unitTypes = _this select 2; if (dayz_maxCurrentZeds > dayz_maxZeds) exitwith {}; if (dayz_CurrentZombies > dayz_maxGlobalZombies) exitwith {}; if (dayz_spawnZombies > dayz_maxLocalZombies) exitwith {}; _isNoone = {isPlayer _x} count (_position nearEntities [["AllVehicles","CAManBase"],30]) == 0; _loot = ""; _array = []; _agent = objNull; //Exit if a player is nearby if (!_isNoone) exitWith {}; if (count _unitTypes == 0) then { _unitTypes = []+ getArray (configFile >> "CfgBuildingLoot" >> "Default" >> "zombieClass"); }; _type = _unitTypes call BIS_fnc_selectRandom; //Create the Group and populate it //diag_log ("Spawned: " + _type); _radius = 0; _method = "CAN_COLLIDE"; if (_doLoiter) then { _radius = 40; _method = "NONE"; }; //diag_log ("Spawned: " + str([_type, _position, [], _radius, _method])); _agent = createAgent [_type, _position, [], _radius, _method]; if (_doLoiter) then { _agent setPosATL _position; //_agent setVariable ["doLoiter",true,true]; } else { _agent setVariable ["doLoiter",false,true]; }; dayz_spawnZombies = dayz_spawnZombies + 1; //diag_log ("CREATE INFECTED: " + str(_this)); _position = getPosATL _agent; _nearByPlayer = ({isPlayer _x} count (_position nearEntities [["AllVehicles","CAManBase"],30]) > 0); if (random 1 > 0.7) then { _agent setUnitPos "Middle"; }; //diag_log ("CREATED: " + str(_agent)); if (_nearByPlayer) then { deleteVehicle _agent; }; /* //_agent setVariable["host",player,true]; if (!_doLoiter) then { _agent setPosATL _position; _agent setDir round(random 180); if (_nearByPlayer) then { deleteVehicle _agent; }; } else { if (_nearByPlayer) then { _attempt = 0; while {_nearByPlayer} do { _position = [_position,0,20,10,0,20,0] call BIS_fnc_findSafePos; _agent setPos _position; _nearByPlayer = ({isPlayer _x} count (_position nearEntities ["CAManBase",30]) > 0); _attempt = _attempt + 1; if (_attempt > 10) exitWith {}; }; _agent setPos _position; }; }; */ if (isNull _agent) exitWith { dayz_spawnZombies = dayz_spawnZombies - 1; }; _isAlive = alive _agent; _myDest = getPosATL _agent; _newDest = getPosATL _agent; _agent setVariable ["myDest",_myDest]; _agent setVariable ["newDest",_newDest]; //Add some loot _rnd = random 1; if (_rnd > 0.3) then { _lootType = configFile >> "CfgVehicles" >> _type >> "zombieLoot"; if (isText _lootType) then { _array = []+ getArray (configFile >> "cfgLoot" >> getText(_lootType)); if (count _array > 0) then { _loot = _array call BIS_fnc_selectRandomWeighted; if(!isNil "_array") then { _agent addMagazine _loot; }; }; }; }; //Start behavior _id = [_position,_agent] execFSM "\z\AddOns\dayz_code\system\zombie_agent.fsm"; { _x addRating -20000; } forEach allMissionObjects "zZombie_Base"; 3-th step -------------- in the root of u'r mision.pbo find INIT.sqf open it and find there: //Load in compiled functions call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; //Initilize the Variables (IMPORTANT: Must happen very early) progressLoadingScreen 0.1; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf"; //Initilize the publicVariable event handlers progressLoadingScreen 0.2; call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; //Functions used by CLIENT for medical progressLoadingScreen 0.4; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; //Compile regular functions progressLoadingScreen 0.5; call compile preprocessFileLineNumbers "server_traders.sqf"; //Compile trader configs call compile preprocessFileLineNumbers "custom\compiles.sqf"; //Compile custom compiles progressLoadingScreen 1.0; below add: zombie_generate = compile preprocessFileLineNumbers "Scripts\faction\zombie_generate.sqf"; if (isServer) then { _factions = [] execVM "Scripts\faction\set_unit_faction.sqf"; _aispawn = [[13517.5,12121.2,0],70,8,4,1,0] execVM "Scripts\faction\add_unit_server.sqf"; _aispawn = [[13401.2,11851.1,0],70,5,3,1,0] execVM "Scripts\faction\add_unit_server.sqf"; _aispawn = [[13166.8,11982.4,0],50,2,3,1,0] execVM "Scripts\faction\add_unit_server.sqf"; }; ------------------------------------- interpretation code _aispawn = [[13517.5,12121.2,0],70,8,4,1,0] execVM "Scripts\faction\add_unit_server.sqf"; - [13517.5,12121.2,0] - this is coordinate then they be spawn on map - 70 - this they walk radius - 8 - quantity of control points on which they will be late - 4 - how much AI be in group - 1 - attack only Zed's or Bandits ( if u past 0 - they be attack all alive) --------------------------------------- In file add_unit_server.sqf find - // Faction 0 settings and // Faction 1 settings - here you can set Skin of AI their weapon and stock contents! --------------------------------------- Done! Puck u'r mission and upload to server!
  11. Allows to develop players at any time the bicycle (presence ToolBox) the Bicycle, after restart he is vanishes! Fo that u need: 1) Mission file(like's pbo file) 2)Notepad(Notepad++) 1st step ------------ Unpack u'r mission pbo, and after that in u'r folder(unpacked mission) creat new folder likes "deploys" and then folder "bike" (likes xxx_mission - deploys - bike...) After that u must creat 2 SQF files in u'r new folder(bike) 1-st file name - deploy.sqf 2-nd file name - pack.sqf ------------- 2nd step in u'r create file deploy.sqf u must put this code: if (false) then { cutText [format["You are in combat and cannot build a bike."], "PLAIN DOWN"]; } else { player removeAction s_player_deploybike; player playActionNow "Medic"; r_interrupt = false; player removeWeapon "ItemToolbox"; _dis=10; _sfx = "repair"; [player,_sfx,0,false,_dis] call dayz_zombieSpeak; [player,_dis,true,(getPosATL player)] spawn player_alertZombies; sleep 6; _object = "Old_bike_TK_INS_EP1" createVehicle (position player); _object setVariable ["ObjectID", "1", true]; _object setVariable ["ObjectUID", "1", true]; player reveal _object; cutText [format["You've used your toolbox to build a bike! How magical!"], "PLAIN DOWN"]; r_interrupt = false; player switchMove ""; player playActionNow "stop"; sleep 10; cutText [format["Warning: Spawned bikes DO NOT SAVE after server restart!"], "PLAIN DOWN"]; }; //bike deploy script by Player2 - OpenDayz Release Coming Soon! - in u'r 2-nd created file pack.sqf put this: if (false) then { cutText [format["You are in combat and cannot re-pack your bike."], "PLAIN DOWN"]; } else { player removeAction s_player_deploybike2; player playActionNow "Medic"; r_interrupt = false; player addWeapon "ItemToolbox"; deletevehicle cursortarget; _dis=10; _sfx = "repair"; [player,_sfx,0,false,_dis] call dayz_zombieSpeak; [player,_dis,true,(getPosATL player)] spawn player_alertZombies; sleep 6; cutText [format["You have packed your bike and been given back your toolbox"], "PLAIN DOWN"]; r_interrupt = false; player switchMove ""; player playActionNow "stop"; }; 3d step ------------------- Then we go to mission folder and we find the file fn_selfActions.sqf (if u not have this file in y'r mission u need to find it in servers file and put it into u'r mission folder [this tuto is based on that that you already have this file(likes fn_selfActions.sqf) in your mission pbo] - in fn_selfActions.sqf u must add this code: //BIKE DEPLOY if ("ItemToolbox" in _weapons) then { hasBikeItem = true; } else { hasBikeItem = false;}; if((speed player <= 1) && hasBikeItem && _canDo) then { if (s_player_deploybike < 0) then { s_player_deploybike = player addaction[("" + ("Deploy Bike") +""),"deploys\bike\deploy.sqf","",5,false,true,"", ""]; }; } else { player removeAction s_player_deploybike; s_player_deploybike = -1; }; //PACK BIKE if((_isBike) and _canDo) then { if (s_player_deploybike2 < 0) then { s_player_deploybike2 = player addaction[("" + ("Re-Pack Bike") +""),"deploys\bike\pack.sqf","",5,false,true,"", ""]; }; } else { player removeAction s_player_deploybike2; s_player_deploybike2 = -1; }; Everything is ready! Now we pack back the file mission and we fill in on the server! Now having ToolBox you can collect the bike, having twisted a castor on a mouse and to find the menu Deploy bike!
  12. Allows to develop players at any time the bicycle (presence ToolBox) the Bicycle, after restart he is vanishes! Fo that u need: 1) Mission file(like's pbo file) 2)Notepad(Notepad++) 1st step ------------ Unpack u'r mission pbo, and after that in u'r folder(unpacked mission) creat new folder likes "deploys" and then folder "bike" (likes xxx_mission - deploys - bike...) After that u must creat 2 SQF files in u'r new folder(bike) 1-st file name - deploy.sqf 2-nd file name - pack.sqf ------------- 2nd step in u'r create file deploy.sqf u must put this code: if (false) then { cutText [format["You are in combat and cannot build a bike."], "PLAIN DOWN"]; } else { player removeAction s_player_deploybike; player playActionNow "Medic"; r_interrupt = false; player removeWeapon "ItemToolbox"; _dis=10; _sfx = "repair"; [player,_sfx,0,false,_dis] call dayz_zombieSpeak; [player,_dis,true,(getPosATL player)] spawn player_alertZombies; sleep 6; _object = "Old_bike_TK_INS_EP1" createVehicle (position player); _object setVariable ["ObjectID", "1", true]; _object setVariable ["ObjectUID", "1", true]; player reveal _object; cutText [format["You've used your toolbox to build a bike! How magical!"], "PLAIN DOWN"]; r_interrupt = false; player switchMove ""; player playActionNow "stop"; sleep 10; cutText [format["Warning: Spawned bikes DO NOT SAVE after server restart!"], "PLAIN DOWN"]; }; //bike deploy script by Player2 - OpenDayz Release Coming Soon! - in u'r 2-nd created file pack.sqf put this: if (false) then { cutText [format["You are in combat and cannot re-pack your bike."], "PLAIN DOWN"]; } else { player removeAction s_player_deploybike2; player playActionNow "Medic"; r_interrupt = false; player addWeapon "ItemToolbox"; deletevehicle cursortarget; _dis=10; _sfx = "repair"; [player,_sfx,0,false,_dis] call dayz_zombieSpeak; [player,_dis,true,(getPosATL player)] spawn player_alertZombies; sleep 6; cutText [format["You have packed your bike and been given back your toolbox"], "PLAIN DOWN"]; r_interrupt = false; player switchMove ""; player playActionNow "stop"; }; 3d step ------------------- Then we go to mission folder and we find the file fn_selfActions.sqf (if u not have this file in y'r mission u need to find it in servers file and put it into u'r mission folder [this tuto is based on that that you already have this file(likes fn_selfActions.sqf) in your mission pbo] - in fn_selfActions.sqf u must add this code: //BIKE DEPLOY if ("ItemToolbox" in _weapons) then { hasBikeItem = true; } else { hasBikeItem = false;}; if((speed player <= 1) && hasBikeItem && _canDo) then { if (s_player_deploybike < 0) then { s_player_deploybike = player addaction[("" + ("Deploy Bike") +""),"deploys\bike\deploy.sqf","",5,false,true,"", ""]; }; } else { player removeAction s_player_deploybike; s_player_deploybike = -1; }; //PACK BIKE if((_isBike) and _canDo) then { if (s_player_deploybike2 < 0) then { s_player_deploybike2 = player addaction[("" + ("Re-Pack Bike") +""),"deploys\bike\pack.sqf","",5,false,true,"", ""]; }; } else { player removeAction s_player_deploybike2; s_player_deploybike2 = -1; }; Everything is ready! Now we pack back the file mission and we fill in on the server! Now having ToolBox you can collect the bike, having twisted a castor on a mouse and to find the menu Deploy bike!