Jump to content

Search the Community

Showing results for tags 'mission'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Announcements
  • DayZ
    • Discussion
    • Public Servers
    • DayZ SA Resources
    • Q&A Section
  • ArmA 3
    • Epoch Survival
    • Community Projects
    • Q&A Section
    • Terrain Discussion
    • Resources
  • Arma 3 Resources
  • ArmA 2
    • General Discussion.
    • Q&A Section
    • Resources
    • Legacy Resources
    • A2: Community Projects
    • A2 Community Servers
  • Space Engineers
    • General Discussion.
    • Public Servers
  • Other Games
    • Discussion
  • Off Topic
    • Off Topic

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Found 52 results

  1. Originally concieved by Blckeagls and supported here with permission Completely rewritten to remove bugs and add functionallity. Current Version: Version 7.06 Current Build: 239 Description. Built-in support for Epoch or Exile. Updated: Built in Headless client support. New: includes tools to export missions from A3EDEN Editor - minimal editing/scripting required to generate new missions once the design is completed in the editr. A complete static and dynamic mission system rolled into one. New: Many new Missions (Thanks to Thomas_TKO) CHANGES: https://github.com/Ghostrider-DbD-/blckeagles-revisited-RC/blob/master/changeLog.sqf To download go to: https://github.com/Ghostrider-DbD-/blckeagles-revisited-RC For installation see: https://github.com/Ghostrider-DbD-/blckeagles-revisited-RC/blob/master/INSTALLATION.txt For a complete changelog see: https://github.com/Ghostrider-DbD-/blckeagles-revisited-RC/blob/master/changeLog.sqf Credits: Epoch Mod developer team, and in particular AWOL whose code has provided many lessons in scripting. blckeagls - Original developer of mission system 2.0.2 Narines - bug fixes and improvements. Bill (DBD Clan) example compositions. cyncrwler for help with troubleshooting and testing Brian Soanes for helpful changes and performance tweaks. Grahame for many rounds of testing, feedback and suggestions regarding features. zxbutchxz for extensive testing of AI behavior. MGTDB for the fix for an issue with interacting with captives/targets on Exile servers. Porkeld for the CBA compatability fixes and debugging. Thomas_TKO for debugging and many new missions. * Additional Credits include authors of other missions systems and scripts who's work influenced this release: Halve and He-Man. Face (A3EAI) KiloSwiss (SEM) Hogscrapper (HC missions for A3) the Vampire (DZMS and VEMF) The FUCHS (EMS) lazylink (early A2 Epoch mission system) Matt11 (Wicked AI) Updates: License This Mission System is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. http://creativecommons.org/licenses/by-nc-sa/4.0/
  2. Hollow's www.CraftDoge.com On my server The missions range from expert to insane, so i wanted to make a mission that's lightweight and just fun. Thus The Bunny Ranch was born ^^ Mission spawns a whorehouse and several roaming prostitutes. The theme is the ranch owner has been beating his girls again and its up to you to teach him a lesson, He is armed with a golden AK and two bodyguards. in the building is a large "safe" filled with currency items for my server so you might want to edit to fit yours. Also this will have a custom map marker. You will already need to have WAI installed on your server you can find it here: INSTALL: Download BunnyRanch.zip here: [Download] Open your dayz_server.pbo open the folder "WAI" open the file AIconfig.sqf and below this /// 4 /// ai_gear4 = [ ["ItemBandage","ItemBandage","ItemPainkiller"], ["ItemKnife","ItemRadio","ItemFlashlight"] ]; add this /// 5 /// ai_gear5 = [ ["ItemBandage","ItemBandage","ItemPainkiller"], ["ItemKnife","ItemRadio","ItemFlashlight"] ]; /// 6 /// ai_gear6 = []; and below this /// 4 /// ai_wep4 = [ ["RPK_74","75Rnd_545x39_RPK"], ["MK_48_DZ","100Rnd_762x51_M240"], ["M249_DZ","200Rnd_556x45_M249"], ["Pecheneg_DZ","100Rnd_762x54_PK"], ["M240_DZ","100Rnd_762x51_M240"] ]; add this /// 5 /// ai_wep5 = [ ["AKS_GOLD","30Rnd_762x39_AK47"] ]; /// 6 /// ai_wep6 = []; open up your missionini.sqf found at WAI\missions\missionini.sqf and below this Small_Gun_Box = compile preprocessFileLineNumbers "\z\addons\dayz_server\WAI\missions\compile\SmallGunBox.sqf"; Add this Bunny_Safe = compile preprocessFileLineNumbers "\z\addons\dayz_server\WAI\missions\compile\Bunny_Safe.sqf"; in the same folder open your missionCfg.sqf and add this "Bunny_Ranch" to your missions list, remember each mission should be separated with a , except the last one. Next open your SpawnGroup.sqf can be found at WAI\compile\SpawnGroup.sqf Below this case 4 : {_aiweapon = ai_wep4;}; add this case 5 : {_aiweapon = ai_wep5;}; and below this case 4 : {_aigear = ai_gear4;}; add this case 5 : {_aigear = ai_gear5;}; Finally open the BunnyRanch.zip you downloaded and move markers2.sqf & Bunny_Safe.sqf to WAI\missions\compile and move Bunny_Ranch.sqf to WAI\missions\missions repack your pbo, and upload. Enjoy! Credits: This is a rewrite of the Mayor's Mansion Mission, created by williamjbrown Credit to Matt L for help
  3. I do NOT give hosts permission to ask money for installing this on people's servers. ZCP - Zupa's Capture Points Current Version 2.0 An independent addon for your Epoch server. This will spawn random bases (How many you configured) on the map which the player can go to and start capturing. This does not involve any AI. This addon focuses to direct PVP action more to those places for people that actually want the danger. How it works: Players will get a notice that a camp has been set up that they can capture. If they look on the map they can see the marker with a certain color: Green -> Not being captured and not contested. Purple -> Being captured by a player ( and his group) and not contested. Red -> Being captured and being contested by someone else. Ariving at the spot there will be a base to give a little battle arena / defending position. A message will warn all players that a player started capping that specfic point. This base will vanish 1 minut after being captured succesfully. If someone died while capping. The capping status will be handed over to a new player in the zone. Timer is reset and you will be announced again on the right side of the screen. Group members does not effect contesting. Winner will receive a cash reward directly into their wallet. Future version will hold more features. Extra notices: You can make own bases and add them in the right folder and in the config. First object is the cappoint. Position does not matter, the script recalculates the positions ^^ Use M3Editor to build bases because the scripts uses that sqf markup. Cappoints will choose a random base from the base list config each time they spawn. Easy to configure configs. No AI. Low influence on server performance. Easy to install ( very fucking easy) Best experienced on more populated servers, Cus this creates PVP. Not effective for PVE as long as there are no AI. I might add an AI option later that attacks the cappoint. Maps This works on every map. But warning, the original base might be build with some AIA buildings, Those specific objects wil not spawn on a non AIA map. This will however not influence the script itself ( only buildings missing in the base). Make a little base yourself for example and put it in base1.sqf Ill make a full non AIA base myself this evening. Planned Features Visual Timers AI option Contesting pauses cap time. ... Changelogs 1.1 [Added] configs to calculate price on the amount of players online. [Added] configs to delay spawning until a specific amount of people are online. [Added] config to define time to wait for base cleanup. [Added] Anouncements on halftime and 1 minut mark for capturing. Changelogs 2.0 [added] Reward system : Krypto / Vehicle drop / Weapon or Build box. [added] More configs [added] More checks [fixed] Epoch 0.3 Krypto rewards. [changed] Code cleanup and optimization. Github - Code https://github.com/DevZupa/ZCP-A3 Install Instructions 1) Pack the a3_epoch_server_zcp into a pbo and place it in the @epochive/addon folder of your epoch server. 2) Add zcp.sqf to your mission 3) Call zcp.sqf from init.sqf or anywhere u want :) execVM "zcp.sqf"; DONE. CONFIG Edit the boxes, cus they are really default ^^. Vehicle reward is disabled by default cus they don't save after restart without changin epoch code. Example Logs 8:01:25 [ZCP]: Giving server some time to boot. 8:03:47 [ZCP]: Initiate Zupas Capture Points 8:03:47 [ZCP]: ZCP No 0 started. 8:03:47 [ZCP]: ZCP No 1 started. 8:03:47 [ZCP]: All Capture Points are running. 8:03:47 [ZCP]: Waiting 79 secs for next cap point. 8:03:47 [ZCP]: Waiting 80 secs for next cap point. 8:05:09 [ZCP]: Cap Point Alpha :Spawning dynamic on [11174.8,7836.09,0] 8:05:09 [ZCP]: Cap Point Alpha started. 8:05:12 [ZCP]: Cap Point Beta :Spawning dynamic on [3919.28,11111.1,0] 8:05:12 [ZCP]: Cap Point Beta started. 9:31:01 [ZCP]: Ansgar won Cap Point Alpha 9:31:02 [ZCP]: Cap Point Alpha cleaned up and ended. 9:31:02 [ZCP]: Waiting 119 secs for next cap point. 9:33:14 [ZCP]: Cap Point Alpha :Spawning dynamic on [2905.8,5070.86,0] 9:33:15 [ZCP]: Cap Point Alpha started. 9:59:10 [ZCP]: m0nster [MUR] won Cap Point Beta 9:59:11 [ZCP]: Cap Point Beta cleaned up and ended. 9:59:11 [ZCP]: Waiting 147 secs for next cap point. 10:01:46 [ZCP]: Cap Point Beta :Spawning dynamic on [9335.61,11222.1,0] 10:01:46 [ZCP]: Cap Point Beta started.
  4. Made a quick static ai mission that spawns on restart. 12 ai patrol the compound 4 Static m2's 1 Heli Patrolling the compound Crate for who ever clears all the ai. Some screenshots of the compound https://github.com/Trapxxgods/Wai-Static-Mission
  5. Is there anyway to add a disable footsteps for admins? Also I would love to be able to spawn a mission in from the admin menu, I tried some code but it just breaks Infistar, it would seem it is executing it automatically. Thank you!
  6. Hey,guys. Closed sorry So, I wrote this mission based on the the example mission from WAI This is fairly easy to install, but you need to have WAI installed in server.pbo. Mission Plot: It's Benlate, OMG, guys, we gotta take him down. -Two optional ending of the mission: 1.This is not the real Benlate, we just killed a group of Middle East bandits. 2.Yes! We did it, Benlate is now died. Screenshots: - Screenshots of Benlate mission and real benlatemission: https://www.dropbox.com/sh/zt19qpgi8hm4byf/AAA7NohKmvzq51WgxQiUyMRQa?dl=0 Requirement: -PBO to pack mission file -WAI Installation: ---Download and install WAI to your server.pbo Link : ---Create file named benlate.sqf and real_benlate.sqf dayz_server\WAI\missions\hero In benlate.sqf, copy and paste: In real_benlate.sqf, Copy and paste ---Edit the config.sqf : find // Missions wai_hero_missions = [ // ["mission filename",% chance of picking this mission],Make sure the chances add up to 100,or it will not be accurate percentages ["black_hawk_crash",12], ["armed_vehicle",10], ["bandit_base",10], ["captured_mv22",10], ["ikea_convoy",12], ["destroyed_ural",12], ["disabled_milchopper",12], ["mayors_mansion",10], ["weapon_cache",12] ]; the missions you have may be different from me, and the number after the mission name is the chance of the mission will happen Example: ["mission_name",chance in %] ---Add in benlate and real_benlate so it would look like this // Missions wai_hero_missions = [ // ["mission filename",% chance of picking this mission],Make sure the chances add up to 100,or it will not be accurate percentages ["black_hawk_crash",10], ["armed_vehicle",10], ["bandit_base",10], ["captured_mv22",10], ["ikea_convoy",10], ["destroyed_ural",10], ["disabled_milchopper",10], ["mayors_mansion",10], ["weapon_cache",12], ["benlate",4], ["real_benlate",4] ]; Make sure the number add up to 100. Now you are done! Repack your server.pbo to try out the missions :D Let me know if there is any problem with the mission.
  7. Hi there, When I'm trying to join my server, I get this error: 16:24:22 Roles assigned. 16:24:22 Reading mission ... 16:24:22 mpmissions\__cur_mp.Altis\mission.sqm/Mission/Entities/Item3/Entities/Item0.type: Vehicle class VirtualMan_EPOCH no longer exists 16:24:22 Mission Epoch Mod read from bank. 16:24:22 Roles assigned. 16:24:23 Mission Epoch Mod read from bank. Spammed a LOT. Thank you.
  8. ANDRE AERIAL PATROL: If it worked and you enjoy it, i ask for a donation. Thankyou! $USD $EURO OBS: The money rewards will only work if you have the coins script. INSTALLATION: 1 - Put the script bellow on server side. 2 - Exec it with execVM. if (isServer) then { _gridN = 15; _mapSize = 15360; //CHERNARUS donn_hwps = []; for "_i" from 1 to (_gridN - 1) do { _wpx = (_i/_gridN)*_mapSize; for "_y" from 1 to (_gridN - 1) do { _wpy = (_y/_gridN)*_mapSize; if !(surfaceIsWater [_wpx,_wpy]) then {donn_hwps = donn_hwps + [[_wpx,_wpy,0]];}; }; }; donn_heliConvy = [ /*0*/["UH1H_DZ",0,["100Rnd_762x51_M240","100Rnd_762x51_M240"],3], /*1*/["UH1H_DZ",4,[],4], /*2*/["Mi17_TK_EP1",5,["100Rnd_762x51_M240","100Rnd_762x51_M240"],5], /*3*/["CH_47F_EP1_DZE",6,["100Rnd_762x51_M240","4000Rnd_762x51_M134","4000Rnd_762x51_M134"],6], /*4*/["AH6J_EP1_DZ",1,[],2] //ARMED (PILOT) ]; //HELI MAIN CONFIG BEGIN _heliFormation =[[0,0,2],[2,2],[4,4,4,4,4],[3],[3],[1,1]]; _heliAltitude =[[60,60,115],[100,100],[50,50,50,50,50],[100],[100],[115,115]]; _heliSpeed =["NORMAL","NORMAL","FULL","LIMITED","NORMAL","FULL"]; //HELI MAIN CONFIG END _spawn = [100,100,400]; donn_heli_HD = { _heliHurt = _this select 0; _damage = _this select 2; if !(canMove _heliHurt) then { if (_heliHurt getVariable "dncmv") then { _heliHurt setVariable ["dncmv",false,false]; { if (random 100 > 50) then {_x action ["Eject",_heliHurt];} else {_x setPos getPos _heliHurt;}; } forEach crew _heliHurt; }; }; _damage }; donn_heli_unit_HD = { _hurtedOne = _this select 0; _damage = _this select 2; _ofender = _this select 3; _grp = group _hurtedOne; if (combatMode _grp != "RED" && isPlayer _ofender) then { {_x enableAi "TARGET";} forEach units _grp; {_x enableAi "AUTOTARGET";} forEach units _grp; _grp reveal [_ofender,1.5]; _grp setCombatMode "RED";_grp setBehaviour "COMBAT"; }; _damage }; donn_heli_unitKill = { _unit = _this select 0; _role = assignedVehicleRole _unit; if ((assignedVehicleRole _unit) select 0 == "Driver") then { _vehEject = assignedVehicle _unit; { if (random 100 > 40) then {_x action ["Eject",_vehEject];} else {_x setPos getPos _vehEject}; } forEach crew _vehEject; }; if ({alive _x} count units group _unit == 0) then {donn_heliGrps = donn_heliGrps - [group _unit];}; _unit setVariable ["cashMoney",12500 + (round random 5) * 1000,true]; }; donn_makeAeroRoute = { _origin = _this select 0; _heli_group = _this select 1; _speed = _this select 2; _posBefore = _origin; _posNow = _origin; _wp = _heli_group addWaypoint [_posNow,0,0]; _wp setWaypointCompletionRadius 65; _wp setWaypointType "MOVE"; _wp setWaypointSpeed _speed; _posNext = [0,0,0]; for "_c" from 1 to 5 do { _distToBefore = 0; _distToNext = 0; _found = false; for "_x" from 1 to 200 do { _posNext = donn_hwps call BIS_fnc_selectRandom; _distToNext = _posNow distance _posNext; _distToBefore = _posNext distance _posBefore; if (_distToNext > 3000 && _distToBefore > 4000) exitWith {}; uiSleep 0.001; }; if (!_found) then {_posNext = donn_hwps call BIS_fnc_selectRandom;}; _wp = _heli_group addWaypoint [_posNext,0,_c]; _wp setWaypointCompletionRadius 65; _wp setWaypointType "MOVE"; _wp setWaypointSpeed _speed; _posNow = _posNext; }; _wp = _heli_group addWaypoint [_origin,0,6]; _wp setWaypointCompletionRadius 65; _wp setWaypointType "CYCLE"; _wp setWaypointSpeed _speed; }; donn_heliGrps = []; [] spawn { while {{!isNull _x} count donn_heliGrps > 0} do { { _grp = _x; _forceIn = true; { if (_grp knowsAbout _x >= 1.5) then {_grp reveal [_x,4];_forceIn = false;}; } forEach playableUnits; if (_forceIn) then { if (combatMode _grp != "BLUE") then { {_x disableAi "TARGET";uiSleep 0.001;} forEach units _grp; {_x disableAi "AUTOTARGET";uiSleep 0.001;} forEach units _grp; _grp setCombatMode "BLUE";_grp setBehaviour "CARELESS"; }; { if (vehicle _x == _x) then {[_x] orderGetIn true;uiSleep 0.001;}; } forEach units _grp; }; } forEach donn_heliGrps; uiSleep 10; }; diag_log "[COMBOIOS AEREOS] FIM."; }; for "_cs" from 1 to (count _heliFormation) do { diag_log ("[HELI CONVOY] Initialized Spawn! " + str _cs); _heli_group = createGroup EAST; donn_heliGrps = donn_heliGrps + [_heli_group]; _convoy = _heliFormation select (_cs-1); _convoyH = _heliAltitude select (_cs-1); _convoyS = _heliSpeed select (_cs-1); _qtd = count _convoy; _helis = []; {_helis = _helis + [donn_heliConvy select _x];} forEach _convoy; for "_n" from 1 to _qtd do { private ["_firstDriver"]; _heli = _helis select (_n-1); _flyHeight = _convoyH select (_n-1); _motor = createVehicle [_heli select 0,_spawn,[],50,"FLY"]; {deleteVehicle _x;} forEach crew _motor; _motor removeAllEventHandlers "handleDamage"; _motor addEventHandler ["handleDamage",{_this call donn_heli_HD}]; _motor setVariable ["dncmv",true,false]; _motor setVariable ["dnishp",true,true]; _motor setVariable ["dnishpq",_heli select 3,true]; _motor setFuel 1; _motor setVehicleLock "LOCKED"; _motor flyInHeight _flyHeight; _ammos = _heli select 2; {_ammo = _x;for "_a" from 1 to 8 do {_motor addMagazineTurret [_ammo,[_forEachIndex]];};} forEach _ammos; _driverCount = 1; _turreterCount = count _ammos; _cargorsCount = _heli select 1; _crewCount = _driverCount + _turreterCount + _cargorsCount; _gunnerPos = 0; for "_y" from 1 to _crewCount do { _unit = _heli_group createUnit ["TK_INS_Bonesetter_EP1",[50,50,0],[],50,"PRIVATE"]; _unit removeAllEventHandlers "killed"; _unit removeAllEventHandlers "handleDamage"; _unit addEventHandler ["killed",{_this call donn_heli_unitKill;}]; _unit addEventHandler ["handleDamage",{_this call donn_heli_unit_HD}]; [_unit] joinSilent _heli_group; _unit setSkill 0.85; removeAllWeapons _unit; {_unit removeMagazine _x} forEach magazines _unit; _unit addWeapon "RPK_74"; _unit selectWeapon "RPK_74"; for "_pa" from 1 to 2 do {_unit addMagazine "75Rnd_545x39_RPK";}; if (_y == 1) then { _unit assignAsDriver _motor; _unit moveInDriver _motor; _unit setSkill ["aimingAccuracy",0.65]; }; if (_y > 1 && _y <= 1 + _turreterCount) then { _unit assignAsGunner _motor; _unit moveInTurret [_motor,[_gunnerPos]]; _gunnerPos = _gunnerPos + 1; _unit setSkill ["aimingAccuracy",1]; }; if (_y > 1 + _turreterCount) then { _unit assignAsCargo _motor; _unit moveInCargo _motor; _unit setSkill ["aimingAccuracy",0.65]; }; }; {_x disableAi "TARGET";uiSleep 0.001;} forEach units _heli_group; {_x disableAi "AUTOTARGET";uiSleep 0.001;} forEach units _heli_group; _heli_group setCombatMode "BLUE";_heli_group setBehaviour "CARELESS"; _sphere = createVehicle ["Sign_sphere100cm_EP1",[0,0,0],[],0,"CAN_COLLIDE"]; _sphere attachTo [_motor,[0,0,3]]; }; [donn_hwps call BIS_fnc_selectRandom,_heli_group,_convoyS] call donn_makeAeroRoute; uiSleep (60*20); }; }; 3 - Run the script bellow in client side, with execVM. s_colect_heli = -1; while {true} do { _donn_cursorTarget = cursorTarget; _objVar = _donn_cursorTarget getVariable ["dnishpq",0]; _isHeliLoot = false; if (!isNil "_objVar") then { if (_objVar > 0) then { if (player distance _donn_cursorTarget < ((sizeOf typeOf _donn_cursorTarget)/2 + 4)) then { _isHeliLoot = true; }; }; }; if (_isHeliLoot) then { if (s_colect_heli < 0) then { _heliTxt = "Collect tragedy itens..."; if (alive _donn_cursorTarget) then {_heliTxt = "Collect heli itens!";}; s_colect_heli = player addaction[("<t color=""#6666bb"">" + _heliTxt + "</t>"),"andre_heliConvoy_itens.sqf",_donn_cursorTarget,5,false,true,"",""]; }; } else { player removeAction s_colect_heli; s_colect_heli = -1; }; uiSleep 1.5; }; 4 - Put the script bellow in the root of your mission file, with the name andre_heliConvoy_itens.sqf. _motor = _this select 3; _qLoot = _motor getVariable "dnishpq"; _loot1 = [ [["addWeaponCargoGlobal","Mk_48_DZ",[1,1,2]],["addMagazineCargoGlobal","100Rnd_762x51_M240",[1,2,3]]], //Maried Loot [["addWeaponCargoGlobal","M249_DZ",[1,1,2]],["addMagazineCargoGlobal","200Rnd_556x45_M249",[1,2,3]]], //Maried Loot [["addWeaponCargoGlobal","G36C",[1,1,2]],["addMagazineCargoGlobal","30Rnd_556x45_Stanag",[2,3,4]]], //Maried Loot [["addWeaponCargoGlobal","DMR_DZ",[1,1,2]],["addMagazineCargoGlobal","20Rnd_762x51_DMR",[3,4,5]]], //Maried Loot [["addWeaponCargoGlobal","AK_47_M",[1,1,2]],["addMagazineCargoGlobal","30Rnd_762x39_AK47",[2,3,4]]], //Maried Loot [["addWeaponCargoGlobal","NVGoggles",[2,3,4]]], [["addWeaponCargoGlobal","ItemEtool",[2,3,4]]], [["addWeaponCargoGlobal","Binocular_Vector",[2,3,4]]], [["addMagazineCargoGlobal","ItemBloodBag",[6,8,10]]], [["addMagazineCargoGlobal","PartEngine",[2,3,4]]], [["addMagazineCargoGlobal","ItemBandage",[10,15,20]]], [["addMagazineCargoGlobal","HandGrenade_West",[3,5,7]]], [["addMagazineCargoGlobal","ItemBriefcase100oz",[1,1,2]]] ]; if (_qLoot > 0) then { for "_i" from 1 to _qLoot do { _holder = createVehicle ["WeaponHolder",position player,[],1.5,"CAN_COLLIDE"]; { call compile format [ "_holder %1 ['%2',%3];", _x select 0, _x select 1, (_x select 2) call BIS_fnc_selectRandom ]; } forEach (_loot1 call BIS_fnc_selectRandom); }; _motor setVariable ["dnishpq",0,true]; }; Thankyou to Tang0 for more details in the install instructions:
  9. Aloha all We start our new Epoch Cherno Redux Server (Funserver) ip:185.194.140.234:2302 Features: -increased Atagonist Spawn -Vehicle Patrol -Npc Patrol -Missions -F4 Player Menu ( WIP) with craft bike and quad) -Igiload Mods: -RDS Civilian Pack (the good old A2 Vehicles) -No Strider and Ifrit
  10. totis

    wai static

    Hi, Im using wai missions on my server but i wanna set some statics. I see that wai support static missions. Can someone points me with an example or maybe a ready static mission which i coukld edit to my needs? Tnx
  11. Hi! How to add napf map dzms mission System?
  12. Assomnia

    RPT Spam WAI

    Hello all !!! I have serious issues with WAI Mission I followed the steps from here : https://github.com/f3cuk/WICKED-AI and took the files from there as well, but it looks like its a serious fiesta in my RPT because of those lines : "Duplicate magazine 30Rnd_556x45_Stanag detected (id 2:885) in slots Single and Single" "Duplicate magazine 30Rnd_556x45_Stanag detected (id 2:885) in slots Single and Burst" "Duplicate magazine 30Rnd_556x45_Stanag detected (id 2:885) in slots Single and FullAuto" I have like 10000 lines from that everytime AI spawn on the map. I suspect the function.sqf where you can find that : if (count _ammoArray > 0) then { _result = _ammoArray select 0; call { if(_result == "20Rnd_556x45_Stanag") exitWith { _result = "30Rnd_556x45_Stanag"; }; if(_result == "30Rnd_556x45_G36") exitWith { _result = "30Rnd_556x45_Stanag"; }; if(_result == "30Rnd_556x45_G36SD") exitWith { _result = "30Rnd_556x45_StanagSD"; }; }; }; _result Can someone help me to fix that ? Any idea ?
  13. I would like to learn how to make a simple custom AI mission. Is there any one out there willing to help.
  14. SOLVED, I'M STUPID. Had the wrong number after the mission file... :( I'm having this issue with my server not being joinable, 'waiting for host'. LOG: 17:37:35 Dedicated host created. 17:37:37 Host identity created. 17:37:37 Game Port: 2302, Steam Query Port: 2303 17:40:01 noahp78 uses modified data file 17:40:01 Player noahp78 connecting.17:43:32 Player noahp78 disconnected. 17:40:02 Player noahp78 connected (id=76561198065063009). Config.cfg steamport = 2300; steamqueryport = 2301; hostName = "PepsiMLG"; password = ""; passwordAdmin = "nope"; maxPlayers = 50; logFile = "server_log.txt"; voteThreshold = 2; voteMissionPlayers = 3; reportingIP = "arma2oapc.master.gamespy.com"; timeStampFormat = "short"; motd[] = {"http://pepsiml.ga","Good Luck, Have fun!"}; motdInterval = 0; vonCodecQuality = 11; disableVoN = 0; kickduplicate = 1; verifySignatures = 2; persistent = 1; BattlEye = 0; doubleIdDetected = ""; onUserConnected = ""; onUserDisconnected = ""; onUnsignedData = "kick (_this select 0)"; onHackedData = "kick (_this select 0)"; onDifferentData = ""; regularCheck = ""; requiredBuild = 103718; requiredSecureId = 2; class Missions { class Mission1 { template = "DayZ_Epoch_11.Chernarus"; difficulty="regular"; }; }; I used the tutorial stickied here.
  15. Hi there, anyone can give an advice how to convert mission.sqm from pre-3DEN format to a newer (you can compare diffreneces from 0.3.7 and 0.3.8 builds of Epoch). Older: ... class Mission { class Intel{}; class Groups{}; class Vehicles{}; class Markers{}; }; ... Newer: class Mission { class Entities { Item0 { type = "Group"; ... }; Item2 { type = "Vehicle"; ... }; Item2 { type = "Marker"; ... }; }; };
  16. deleted
  17. I created a mission with the WAI Example. this is the result: i placed some other buildings on that location in another file (which works fine), which are standing there all the time (i wanted that so) my question is how can i make this mission spawn always on restart and then not again? also that the fiberplants don't despawn after mission cleared? also no timeout for the mission? and is there any other mistake in that script? Here is my WAI config.sqf because of the loadouts:
  18. Hello, i would like to show mission/event announcements instead of my debugmonitor ( for a period of time). So when a mission or event starts, the debug should go away, and the announcement should be shown for a few seconds. Currently the event announcement is flashing up for a second. I tried to add "sleep 5;" to the remote-script, but it didnt work. Can anyone please help me? _hint = parseText format["<t align='center' color='#FFFF66' shadow='2' size='1.75'>Attention</t><br/><t align='center' color='#ffffff'>Mission description!</t>"]; customRemoteMessage = ['hint', _hint]; publicVariable "customRemoteMessage";
  19. Hi there. I've seen on a server I've been on a script for a Convoy and a Communications Center. Only script I can find is ZevMissions but I can't get it to work and by the looks of things the creator doesn't come on the forums anymore. Anyone know of an alternative to this or if anyone plans on making one ?
  20. Hello i need some help, i cant seem to find a way to make a safe when placed down to have a code set to 0000 or somthing along those lines.. i want to make a mission out of it. If you can help i well be happy if you can :)
  21. DayZ Campaign System [DevBlog] [Alpha release soon] ["Community Ideas Collection Pot"] So I would like to start the development on this again due to many requests, I hope this will be a great and cool addition to DayZ and will make the game more "new" again. Here I would like to collect/share and develop the ground structure into something great. Please share your ideas on possible Missions/a story/checkpoints etc.! So, what is the "DayZ Campaign System" ? Well, it basically creates the Story/Mission system for DayZ just like most games have nowadays. A Mission system split up in chapters which complete after successfully completing each chapters checkpoints. In the end you will know secrets about DayZ's story and how each Map became a zombie invested world. It will also give Players loot, vehicles, action and more fun. So, why would the Players play the mission more than once? If it's the same story? Well, the goals I have in mind are: - Depending on your decisions within the missions you choose a path, so each time making different decisions will bring you different content. - Also, each Map will have its own story, so you will always want to play all maps, and it will also populate all regions of DayZ, so everyone will see all sides of each Map. - In addition there will be secret "Easter eggs" which basically are hidden loot spawns within the missions. So this is where we are at the moment: Ground structure done: - Interactive Checkpoints/AI Spawns - your "overwatch team leader" - Loot Spawns - decisions of the players change the course of the story - explosions/gimmicks to make it interesting (different events) My goals: - Servers can choose from different locations to adjust it to their server needs (different campaigns or the same one in different areas) - Easy config file to adjust difficulty/Length/spawn time/respawn time (if at all) - More gimmicks (mines, tanks?, action loaded!) - creation of Easter eggs within the missions to make it fun and interesting each time (special hidden rewards etc.) Community ideas: - SHARE THEM! :D First release: More info soon! Stress test release (Major Mission System): More info soon! Progress: [[0%][5%][10%][15%][20%][25%][30%][35%][40%][45%][50%][55%][60%][65%][70%][75%][80%][85%][90%][95%][100%]] Big credit to Vampire for his AI Spawn script and ground structure from his mission system since it is one of the key parts of a good mission system (may change to a self developed one soon but for now BIG CREDIT TO HIM, it made this project possible!)
  22. If you like my work, please consider a donation: $USD $EURO Peacefull Conrads Refugee Camp is a place where peacefull people is know to be set up after the overall contagion of the zombie virus. There is some time from the last contact with this camp, whi don't you go there and take a look? 1 - The Script: Run this on the server or in a headless client. //===================================== // KONFIGURATION //===================================== //Number of buildings, tents, buildings, on the camp _camp_vehicles = [ ["Acamp", 40], ["Land_A_tent", 25], ["TentStorage", 15], ["Land_Fire_Barrel_Burning", 15], ["Misc_Cargo1B_military", 5] ]; //Zombie Spawn Array donn_terror_zomb = [ [ [[6624-3735,14212-5342,0],'cid_salv', 450, 3], //Special line, not realated to spawn //[ // [position], // Spawn Radius, // number os zeds, // zeds view distance, // dist from player to start to walk, // special zed? 0 or 1 or 2, // zed life multiplier 1 is normal life , // time to be on the ground after explosion //] [[6660-3735,14177-5342,0], 25, 15, 60, 15, 0, 1.1, 60], [[6786-3735,14320-5342,0], 25, 15, 60, 15, 0, 1.1, 60], [[6791-3735,14091-5342,0], 25, 15, 60, 15, 0, 1.1, 60], [[6668-3735,14121-5342,0], 25, 15, 60, 15, 0, 1.1, 60], [[6599-3735,14260-5342,0], 25, 15, 60, 15, 0, 1.1, 60], [[6624-3735,14212-5342,0],100, 40,100, 15, 0, 1.1, 60], [[6624-3735,14212-5342,0],120, 14, 60, 15, 1, 1.2, 60], [[6624-3735,14212-5342,0], 10, 1, 60, 15, 2, 3.5,120] ] ]; //===================================== // SPAWN BUILDINGS //===================================== diag_log "[TERROR-Z] Buildings INIT Initialized!"; //Camp Center _bomberman = [2889, 8870]; { for "_y" from 1 to (_x select 1) do { _vehicle = createVehicle [_x select 0, _bomberman, [], 90, "NONE"]; _vehicle setDir (random 360); sleep 0.001; }; } forEach _camp_vehicles; //Parked Buses _ikarus = [ [[2890,8988,0],25 + (random 16),"UNLOCKED"], [[2898,8983,0],25 + (random 16),"UNLOCKED"], [[2905,8975,0],25 + (random 16),"LOCKED"], [[2912,8971,0],25 + (random 16),"LOCKED"], [[2921,8967,0],25 + (random 16),"UNLOCKED"] ]; { _vehicle = createVehicle ["Ikarus_TK_CIV_EP1", _x select 0, [], 0, "NONE"]; _vehicle setPosATL (_x select 0); _vehicle setDir (_x select 1); _vehicle setVariable ["ObjectID", "1", true]; _vehicle setVariable ["ObjectUID", "1", true]; _vehicle setVehicleLock (_x select 2); PVDZE_serverObjectMonitor set [count PVDZE_serverObjectMonitor, _vehicle]; } forEach _ikarus; //Alone Building _vehicle = createVehicle ["mbg_apartments_big_01_EO", [2753,9007,0.22], [], 0, "CAN_COLLIDE"]; _vehicle setPosATL [2753,9007,0.22]; _vehicle setDir 130; //LOOT: _lootPos = [ [6660.3984-3735, 14177.261-5342], [6786.0361-3735, 14320.882-5342], [6791.7695-3735, 14091.711-5342], [6668.1357-3735, 14121.218-5342], [6599.8535-3735, 14260.836-5342] ]; _lootPosOrder = [ [0,1,2,3,4], [4,3,2,1,0], [3,4,0,1,2], [0,4,1,3,2], [2,1,0,4,3], [3,0,4,2,1], [1,4,0,2,3], [1,2,3,0,4], [4,3,2,0,1] ]; _order = _lootPosOrder call BIS_fnc_selectRandom; //===================================== // SPAWN LOOT //===================================== //WEAPONS MAIN: _this = createVehicle ["TKVehicleBox_EP1", (_lootPos select (_order select 0)), [], 0, "CAN_COLLIDE"]; _this setDir -182.5; //Clear Cargo clearweaponcargoGlobal _this; clearmagazinecargoGlobal _this; //Add Cargo _this addWeaponCargoGlobal ["DMR_DZ",3]; _this addWeaponCargoGlobal ["M249_DZ",2]; _this addWeaponCargoGlobal ["Mk_48_DZ",2]; _this addWeaponCargoGlobal ["NVGoggles",2]; _this addWeaponCargoGlobal ["Binocular_Vector",1]; //_this addWeaponCargoGlobal ["BAF_L85A2_RIS_SUSAT",1]; //_this addWeaponCargoGlobal ["BAF_L85A2_RIS_Holo",1]; //_this addWeaponCargoGlobal ["G36K_camo",1]; //_this addWeaponCargoGlobal ["M4A1_AIM_SD_camo",1]; //_this addWeaponCargoGlobal ["FN_FAL",1]; //_this addWeaponCargoGlobal ["M14_EP1",1]; //_this addWeaponCargoGlobal ["M9SD",1]; _this addmagazineCargoGlobal ["20Rnd_762x51_DMR",5]; _this addmagazineCargoGlobal ["200Rnd_556x45_M249",3]; _this addmagazineCargoGlobal ["ItemHeatPack",5]; _this addmagazineCargoGlobal ["ItemPainkiller",5]; _this addmagazineCargoGlobal ["ItemMorphine",5]; _this addmagazineCargoGlobal ["ItemBloodBag",5]; _this addmagazineCargoGlobal ["ItemAntibiotic",5]; //_this addmagazineCargoGlobal ["30Rnd_556x45_StanagSD",5]; //_this addmagazineCargoGlobal ["20Rnd_762x51_FNFAL",5]; //_this addmagazineCargoGlobal ["100Rnd_762x51_M240",5]; //_this addmagazineCargoGlobal ["30Rnd_556x45_G36",5]; //_this addmagazineCargoGlobal ["30Rnd_556x45_Stanag",5]; //_this addmagazineCargoGlobal ["15Rnd_9x19_M9SD",5]; _this addbackpackCargoGlobal ["DZ_Backpack_EP1",2]; _this setPos (_lootPos select (_order select 0)); _this setVariable ["permaLoot",true,true]; //*DONN* //VEHICLE PARTS: _this = createVehicle ["TKVehicleBox_EP1", (_lootPos select (_order select 1)), [], 0, "CAN_COLLIDE"]; //Clear Cargo clearweaponcargoGlobal _this; clearmagazinecargoGlobal _this; //Add Cargo _this addWeaponCargoGlobal ["NVGoggles",3]; _this addWeaponCargoGlobal ["ItemToolbox",5]; _this addmagazineCargoGlobal ["PartEngine",5]; _this addmagazineCargoGlobal ["PartGeneric",5]; _this addmagazineCargoGlobal ["PartVRotor",5]; _this addmagazineCargoGlobal ["PartWheel",6]; _this addmagazineCargoGlobal ["PartFueltank",7]; _this addmagazineCargoGlobal ["PartGlass",10]; _this addmagazineCargoGlobal ["ItemJerrycan",15]; _this addbackpackCargoGlobal ["DZ_Backpack_EP1",2]; _this setPos (_lootPos select (_order select 1)); _this setVariable ["permaLoot",true,true]; //*DONN* //FOOD: _this = createVehicle ["TKVehicleBox_EP1", (_lootPos select (_order select 2)), [], 0, "CAN_COLLIDE"]; _this setDir -178.83; //Clear Cargo clearweaponcargoGlobal _this; clearmagazinecargoGlobal _this; //Add Cargo _this addWeaponCargoGlobal ["NVGoggles",3]; _this addWeaponCargoGlobal ["ItemGPS",4]; _this addmagazineCargoGlobal ["FoodCanBadguy",6]; _this addmagazineCargoGlobal ["FoodCanBoneboy",5]; _this addmagazineCargoGlobal ["FoodCanCorn",5]; _this addmagazineCargoGlobal ["FoodCanCurgon",5]; _this addmagazineCargoGlobal ["FoodCanDemon",5]; _this addmagazineCargoGlobal ["FoodCanFraggleos",5]; _this addmagazineCargoGlobal ["FoodCanHerpy",5]; _this addmagazineCargoGlobal ["FoodCanDerpy",5]; _this addmagazineCargoGlobal ["FoodCanTylers",5]; _this addmagazineCargoGlobal ["ItemSodaMtngreen",7]; _this addmagazineCargoGlobal ["ItemSodaR4z0r",5]; _this addmagazineCargoGlobal ["ItemSodaClays",5]; _this addmagazineCargoGlobal ["ItemSodaSmasht",5]; _this addmagazineCargoGlobal ["ItemSodaDrwaste",5]; _this addmagazineCargoGlobal ["ItemSodaLemonade",5]; _this addmagazineCargoGlobal ["ItemSodaLvg",7]; _this addmagazineCargoGlobal ["ItemSodaMzly",5]; _this addmagazineCargoGlobal ["ItemSodaRabbit",5]; _this addbackpackCargoGlobal ["DZ_Backpack_EP1",1]; _this setPos (_lootPos select (_order select 2)); _this setVariable ["permaLoot",true,true]; //*DONN* //MEDICAL: _this = createVehicle ["TKVehicleBox_EP1", (_lootPos select (_order select 3)), [], 0, "CAN_COLLIDE"]; _this setDir 90.560677; //Clear Cargo clearweaponcargoGlobal _this; clearmagazinecargoGlobal _this; //Add Cargo _this addWeaponCargoGlobal ["NVGoggles",1]; _this addWeaponCargoGlobal ["ItemGPS",1]; _this addmagazineCargoGlobal ["ItemBandage",50]; _this addmagazineCargoGlobal ["ItemPainkiller",15]; _this addmagazineCargoGlobal ["ItemMorphine",12]; _this addmagazineCargoGlobal ["ItemBloodBag",12]; _this addmagazineCargoGlobal ["ItemEpinephrine",10]; _this addmagazineCargoGlobal ["ItemAntibiotic",12]; _this addbackpackCargoGlobal ["DZ_Backpack_EP1",2]; _this setPos (_lootPos select (_order select 3)); _this setVariable ["permaLoot",true,true]; //*DONN* //BUILDING MATERIAL AND SOME WEAPONS: _this = createVehicle ["TKVehicleBox_EP1", (_lootPos select (_order select 4)), [], 0, "CAN_COLLIDE"]; //Clear Cargo clearweaponcargoGlobal _this; clearmagazinecargoGlobal _this; //Add Cargo _this addWeaponCargoGlobal ["ItemEtool",10]; _this addWeaponCargoGlobal ["ItemToolbox",5]; _this addWeaponCargoGlobal ["NVGoggles",2]; _this addmagazineCargoGlobal ["HandGrenade_West",10]; _this addmagazineCargoGlobal ["ItemSandbag",10]; _this addmagazineCargoGlobal ["ItemTankTrap",5]; _this addmagazineCargoGlobal ["ItemWire",10]; _this addmagazineCargoGlobal ["ItemTent",4]; _this addmagazineCargoGlobal ["PartGeneric",5]; _this addmagazineCargoGlobal ["TrapBear",8]; //*DONN* Jon Weapon Loot _this addWeaponCargoGlobal ["NVGoggles",2]; _this addWeaponCargoGlobal ["KSVK_DZE",3]; _this addWeaponCargoGlobal ["VSS_vintorez",2]; _this addWeaponCargoGlobal ["SCAR_H_CQC_CCO_SD",1]; _this addWeaponCargoGlobal ["FN_FAL_ANPVS4",1]; //*DONN* Jon Magazine Loot _this addmagazineCargoGlobal ["150Rnd_127x107_DSHKM",3]; _this addmagazineCargoGlobal ["5Rnd_127x108_KSVK",7]; _this addmagazineCargoGlobal ["5Rnd_127x108_KSVK",3]; _this addmagazineCargoGlobal ["20Rnd_9x39_SP5_VSS",3]; _this addmagazineCargoGlobal ["20Rnd_762x51_FNFAL",3]; _this addbackpackCargoGlobal ["DZ_Backpack_EP1",1]; _this setPos (_lootPos select (_order select 4)); _this setVariable ["permaLoot",true,true]; //*DONN* diag_log "[TERROR-Z] Buildings Finalized!"; //===================================== // SPAWN EXPLODING ZOMBIES //===================================== diag_log "[HC_ON] Terrozon script init!"; donn_terror_deadZombies = []; donn_terror_mult = 1; donn_terror_zombDamage = { private ['_zombie','_damage','_projectile','_zombie_explodeTrigered','_zombie_actDam','_source']; _zombie = _this select 0; _zombie_actDam = damage _zombie; _damage = _this select 2; _healt = _zombie getVariable ['donn_hp',1]; _damage = _damage * (0.5/_healt); _source = _this select 3; _projectile = _this select 4; if (isPlayer _source && !(_projectile in ['SmallSecondary','G_Camel_HE','Bo_GBU12_LGB',''])) then { if (_zombie_actDam + _damage > 0.5) then { _damage = 0; if !(_zombie in donn_terror_deadZombies) then { donn_terror_deadZombies = donn_terror_deadZombies + [_zombie]; [_zombie] call donn_terror_explode; }; }; } else { _damage = 0; }; _damage }; donn_terror_explode = { private ['_zombie','_special','_radSearch','_blowMult','_nearZombies','_nearToBlow','_randExtra','_rand','_blowWait']; _zombie = _this select 0; _special = _zombie getVariable ['donn_spe',0]; if (_special == 0) then {_radSearch = 10; _blowMult = 1; _blowWait = 0.25;}; if (_special == 1) then {_radSearch = 25; _blowMult = 5; _blowWait = 0.25;}; if (_special == 2) then {_radSearch = 120; _blowMult = 100; _blowWait = 0.25;}; _nearZombies = (nearestObjects [_zombie, ['zZombie_Base'], _radSearch]) - [_zombie]; _nearToBlow = []; _rand = random 100; _randExtra = 1; if (_rand < 80) then {_randExtra = 2;}; if (_rand < 60) then {_randExtra = 3;}; if (_rand < 40) then {_randExtra = 4;}; if (_rand < 20) then {_randExtra = 5;}; if (_rand < 10) then {_randExtra = 10;}; _randExtra = _randExtra * _blowMult; { if (count _nearToBlow < _randExtra) then { if (_x getVariable ['donn_spe',0] == 0) then { _nearToBlow = _nearToBlow + [_x]; }; }; } forEach _nearZombies; _zombie setDamage 0.6; _nearToBlow spawn { { _x setDamage 0.6; if (((_forEachIndex + 1) mod 5) == 0) then {sleep 0.15;}; } forEach _this; }; }; donn_terror_getTarget = { private ['_zombie','_viewDistance','_zTarget','_nearTargets','_playerPos','_playerPosZ']; _zombie = _this select 0; _viewDistance = _this select 1; _nearTargets = []; { _playerPos = _x getVariable ['donn_pos',getPosATL _x]; _playerPosZ = _playerPos select 2; if ((_zombie distance _playerPos) < _viewDistance && _playerPosZ < 4.5) then { _nearTargets = _nearTargets + [_x]; }; } forEach playableUnits; if (count _nearTargets > 0) then { _zTarget = _nearTargets call BIS_fnc_selectRandom; } else { _zTarget = ObjNull; }; _zTarget }; sleep 10; { { if (_forEachIndex == 0) then { donn_terror_check_var = _x select 1; _x spawn { private ['_center','_var','_rad','_cycle','_result']; _center = _this select 0; _var = _this select 1; _rad = _this select 2; _cycle = _this select 3; call compile format['donn_terror_trigger_%1 = false;', _var]; while {true} do { _result = false; { if (_x distance _center < _rad) exitWith { _result = true; }; } forEach playableUnits; call compile format['donn_terror_trigger_%1 = _result;', _var]; }; sleep _cycle; }; } else { private ['_qtyZomb','_deployRad', '_insertPoint','_viewDistance','_unitTypes','_sphere']; _insertPoint = _x select 0; _deployRad = _x select 1; _qtyZomb = _x select 2; _qtyZomb = round (_qtyZomb * donn_terror_mult); _viewDistance = _x select 3; _distToWalk = _x select 4; _special = _x select 5; _health = _x select 6; _inconTime = _x select 7; _unitTypes = []+ getArray (configFile >> 'CfgBuildingLoot' >> 'Default' >> 'zombieClass'); for '_k' from 1 to _qtyZomb do { private ['_agent','_type']; _type = _unitTypes call BIS_fnc_selectRandom; _agent = createAgent [_type,_insertPoint,[],_deployRad,'NONE']; sleep 0.01; if (_special > 0) then { for '_x' from 1 to _special do { _sphere = createVehicle ['Sign_sphere100cm_EP1', getPosATL _agent, [], 0, 'CAN_COLLIDE']; _sphere attachTo [_agent, [0,0,2.25 + (_x - 1) * 1]]; }; _agent setVariable ['donn_spe',_special,true]; } else { _agent setVariable ['donn_spe',0,true]; }; _agent removeAllEventHandlers 'handleDamage'; _agent addEventHandler ['handleDamage',{_this call donn_terror_zombDamage}]; _agent setVariable ['donn_terrorZombie',true,true]; _agent setVariable ['donn_hp',_health,false]; _agent setDir (random 360); [_viewDistance,_agent,donn_terror_check_var,_distToWalk,_special,_inconTime] execFSM 'terror_zombies\zombie_agent_terror.fsm'; }; }; } forEach _x; } forEach donn_terror_zomb; diag_log 'TERROR ZOMBIES RODOU (HC/SERVER)!'; //===================================== // SHOW ICONS ON THE MAP //===================================== [] spawn { while {true} do { _don_marker_put = createMarker ["Conrads Refugee Camp",[2889, 8870]]; _don_marker_put setMarkerShape "Icon"; _don_marker_put setMarkerText "Conrads Refugee Camp"; _don_marker_put setMarkerType "Flag1"; _don_marker_put setMarkerColor "ColorBlack"; sleep 5; deleteMarker "Conrads Refugee Camp"; }; }; 2 - Run on the Client, init.sqf for example. This makes the zombies explode when players are near then. if (!isServer) then { donn_playerInTerror = false; [] spawn { private ["_nearZombies","_isTerrorZ","_Zdamage"]; while {true} do { if (vehicle player == player) then { _nearZombies = (getPosATL player) nearEntities ["zZombie_Base",2.5]; _Zdamage = 0.6; } else { _nearZombies = (getPosATL vehicle player) nearEntities ["zZombie_Base",5]; _Zdamage = 0.8; }; { _isTerrorZ = _x getVariable ["donn_terrorZombie",false]; if !(isNil "_isTerrorZ") then { if (_x getVariable ["donn_spe",0] == 0) then { _x setDamage _Zdamage; }; }; } forEach _nearZombies; sleep 0.25; }; }; [] spawn { while {true} do { player setVariable ["donn_pos",getPosATL player,true]; uiSleep 2; }; }; diag_log "TERROR ZOMBIES OK (CLIENT)!"; donn_noZombieAreas = [ [[2889,8870,0],400] ]; { _x spawn { private ["_playerPos","_areaPos","_distCheck"]; _areaPos = _this select 0; _distCheck = _this select 1; while {true} do { waitUntil { sleep 5; _playerPos = getPosATL player; (_areaPos distance _playerPos) < _distCheck }; diag_log "ZOMBOFF!"; player_zombieCheck = {}; waitUntil { sleep 5; _playerPos = getPosATL player; (_areaPos distance _playerPos) > _distCheck }; diag_log "ZOMBON!"; player_zombieCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_zombieCheck.sqf"; }; }; } forEach donn_noZombieAreas; }; 3 - FSM file (zombie behavior): put that code in a text file, in the mission folder, with this folder and name \terror_zombies\zombie_agent_terror.fsm. See that the extension of this file is not sqm, but fsm. /*%FSM<COMPILE "e:\Program Files (x86)\Bohemia Interactive\Tools\FSM Editor Personal Edition\scriptedFSM.cfg, DayZ Zombie Agent">*/ /*%FSM<HEAD>*/ /* item0[] = {"Inicia",0,250,-250.000000,-425.000000,-150.000000,-375.000000,0.000000,"Inicia"}; item1[] = {"Achou_Perto",4,218,-25.000000,-350.000000,75.000000,-300.000000,0.000000,"Achou" \n "Perto"}; item2[] = {"Verdadeiro",4,218,-250.000000,-325.000000,-150.000000,-275.000000,0.000000,"Verdadeiro"}; item3[] = {"Procura_um_Human",2,4346,-150.000000,-250.000000,-50.000000,-200.000000,0.000000,"Procura" \n "um Humano"}; item4[] = {"Procura_de_novo",4,218,-250.000000,-175.000000,-150.000000,-125.000000,0.000000,"Procura" \n "de novo?"}; item5[] = {"Andar_at__Humano",2,250,100.000000,-300.000000,200.000000,-250.000000,0.000000,"Andar até" \n "Humano!"}; item6[] = {"Update_posi__o_",4,218,225.000000,-350.000000,325.000000,-300.000000,0.000000,"Update" \n "posição?"}; item7[] = {"Perdeu_de_Vista",4,218,-25.000000,25.000000,75.000000,75.000000,0.000000,"Perdeu" \n "de Vista?"}; item8[] = {"Humano_Morto_",4,218,-25.000000,-75.000000,75.000000,-25.000000,0.000000,"Humano" \n "Morto?"}; item9[] = {"",7,210,-104.000000,-4.000001,-95.999992,4.000001,0.000000,""}; item10[] = {"",7,210,-104.000000,96.000000,-96.000000,104.000008,0.000000,""}; item11[] = {"Explodir_",2,250,400.000000,-425.000000,500.000000,-375.000000,0.000000,"Explodir!"}; item12[] = {"Recuperado_",4,218,400.000000,75.000000,500.000000,125.000000,0.000000,"Recuperado?"}; item13[] = {"Perto_Humano_",4,218,100.000000,-425.000000,200.000000,-375.000000,0.000000,"Perto" \n "Humano?"}; item14[] = {"",7,210,-104.000000,-404.000000,-96.000000,-396.000000,0.000000,""}; item15[] = {"Achou_Longe",4,218,-25.000000,-150.000000,75.000000,-100.000000,0.000000,"Achou" \n "Longe"}; item16[] = {"Correr_para_mais",2,250,100.000000,-200.000000,200.000000,-150.000000,0.000000,"Correr para" \n "mais perto"}; item17[] = {"Update_posi__o_",4,218,225.000000,-150.000000,325.000000,-100.000000,0.000000,"Update" \n "posição?"}; item18[] = {"Chegou_Perto_",4,218,225.000000,-250.000000,325.000000,-200.000000,0.000000,"Chegou" \n "Perto?"}; item19[] = {"",7,210,371.000000,-279.000000,379.000000,-271.000000,0.000000,""}; item20[] = {"",7,210,371.000000,-179.000000,379.000000,-171.000000,0.000000,""}; item21[] = {"",7,210,371.000000,46.000000,379.000000,54.000004,0.000000,""}; item22[] = {"",7,210,371.000000,-54.000000,379.000000,-46.000000,0.000000,""}; item23[] = {"Humano_Longe_",4,218,-25.000000,-250.000000,75.000000,-200.000000,0.000000,"Humano" \n "Longe?"}; link0[] = {0,2}; link1[] = {1,5}; link2[] = {2,3}; link3[] = {3,1}; link4[] = {3,4}; link5[] = {3,14}; link6[] = {3,15}; link7[] = {4,3}; link8[] = {5,6}; link9[] = {5,13}; link10[] = {5,19}; link11[] = {5,23}; link12[] = {6,5}; link13[] = {7,9}; link14[] = {8,9}; link15[] = {9,3}; link16[] = {10,9}; link17[] = {11,12}; link18[] = {12,10}; link19[] = {13,11}; link20[] = {14,13}; link21[] = {15,16}; link22[] = {16,13}; link23[] = {16,17}; link24[] = {16,18}; link25[] = {16,20}; link26[] = {17,16}; link27[] = {18,5}; link28[] = {19,20}; link29[] = {20,22}; link30[] = {21,7}; link31[] = {22,8}; link32[] = {22,21}; link33[] = {23,16}; globals[] = {25.000000,1,0,0,0,640,480,1,174,6316128,1,-488.040009,633.607056,150.522751,-478.192963,983,551,1}; window[] = {2,-1,-1,-1,-1,805,125,1333,125,3,1001}; *//*%FSM</HEAD>*/ class FSM { fsmName = "DayZ Zombie Agent"; class States { /*%FSM<STATE "Inicia">*/ class Inicia { name = "Inicia"; init = /*%FSM<STATEINIT""">*/"private [""_choosenEyePos"",""_agentOriPos"",""_timeLost"",""_choosenDead"",""_viewDistance"",""_grenade"",""_playersCanSee"",""_agent"",""_found"",""_choosen"",""_players"",""_start"",""_newPos""];" \n "" \n "_viewDistance = _this select 0;" \n "_agent = _this select 1;" \n "_varString = _this select 2;" \n "_ZdistToWalk = _this select 3;" \n "_Zspecial = _this select 4;" \n "_ZinconTime = _this select 5;" \n "" \n "_agentOriPos = getPosATL _agent;" \n "" \n "_agent disableAI ""FSM"";" \n "_agent setBehaviour ""CARELESS"";" \n "_agent setCombatMode ""RED"";" \n "_agent setSkill 0;" \n "" \n "_agentFugitiveQty = 0;"/*%FSM</STATEINIT""">*/; precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/; class Links { /*%FSM<LINK "Verdadeiro">*/ class Verdadeiro { priority = 0.000000; to="Procura_um_Human"; precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/; condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/; action=/*%FSM<ACTION""">*/"_found = false;" \n "_away = false;" \n "_newPos = getPosATL _agent;"/*%FSM</ACTION""">*/; }; /*%FSM</LINK>*/ }; }; /*%FSM</STATE>*/ /*%FSM<STATE "Procura_um_Human">*/ class Procura_um_Human { name = "Procura_um_Human"; init = /*%FSM<STATEINIT""">*/"_start = diag_tickTime;" \n "if (call compile format[""donn_terror_trigger_%1"",_varString]) then {" \n " _choosen = [_agent,_viewDistance] call donn_terror_getTarget;" \n " if !(isNull _choosen) then {" \n " _found = true;" \n " " \n " _choosenPos = _choosen getVariable [""donn_pos"",getPosATL _agent];" \n " if (isNil ""_choosenPos"") then {_choosenPos = getPosATL _agent;};" \n " " \n " if ((_agent distance _newPos) + (_newPos distance _choosenPos) > 20) then {" \n " _away = true;" \n " } else {" \n " _away = false;" \n " };" \n " };" \n "};"/*%FSM</STATEINIT""">*/; precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/; class Links { /*%FSM<LINK "Procura_de_novo">*/ class Procura_de_novo { priority = 0.000000; to="Procura_um_Human"; precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/; condition=/*%FSM<CONDITION""">*/"(diag_tickTime - _start) > 5"/*%FSM</CONDITION""">*/; action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/; }; /*%FSM</LINK>*/ /*%FSM<LINK "Achou_Longe">*/ class Achou_Longe { priority = 0.000000; to="Correr_para_mais"; precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/; condition=/*%FSM<CONDITION""">*/"_found && _away"/*%FSM</CONDITION""">*/; action=/*%FSM<ACTION""">*/"_choosenDead = false;" \n "_distance_ZP_ok = true;"/*%FSM</ACTION""">*/; }; /*%FSM</LINK>*/ /*%FSM<LINK "Perto_Humano_">*/ class Perto_Humano_ { priority = 0.000000; to="Explodir_"; precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/; condition=/*%FSM<CONDITION""">*/"damage _agent >= 0.5"/*%FSM</CONDITION""">*/; action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/; }; /*%FSM</LINK>*/ /*%FSM<LINK "Achou_Perto">*/ class Achou_Perto { priority = 0.000000; to="Andar_at__Humano"; precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/; condition=/*%FSM<CONDITION""">*/"_found && !_away" \n ""/*%FSM</CONDITION""">*/; action=/*%FSM<ACTION""">*/"_choosenDead = false;" \n "_distance_ZP_ok = true;"/*%FSM</ACTION""">*/; }; /*%FSM</LINK>*/ }; }; /*%FSM</STATE>*/ /*%FSM<STATE "Andar_at__Humano">*/ class Andar_at__Humano { name = "Andar_at__Humano"; init = /*%FSM<STATEINIT""">*/"_start = diag_tickTime;" \n "" \n "_choosenPos = _choosen getVariable [""donn_pos"",getPosATL _agent];" \n "if (isNil ""_choosenPos"") then {_choosenPos = getPosATL _agent;};" \n "" \n "_distance_ZP_ok = _agent distance _choosenPos < _viewDistance && (_choosenPos select 2) < 4.5;" \n "" \n "if (_distance_ZP_ok) then {" \n " if (alive _choosen) then {" \n " _newPos = _choosenPos;" \n " _agent moveTo _newPos;" \n " _agent forceSpeed 2;" \n " } else {" \n " _choosenDead = true;" \n " };" \n "};"/*%FSM</STATEINIT""">*/; precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/; class Links { /*%FSM<LINK "Perto_Humano_">*/ class Perto_Humano_ { priority = 0.000000; to="Explodir_"; precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/; condition=/*%FSM<CONDITION""">*/"damage _agent >= 0.5"/*%FSM</CONDITION""">*/; action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/; }; /*%FSM</LINK>*/ /*%FSM<LINK "Humano_Longe_">*/ class Humano_Longe_ { priority = 0.000000; to="Correr_para_mais"; precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/; condition=/*%FSM<CONDITION""">*/"(_agent distance _newPos) + (_newPos distance (_choosen getVariable [""donn_pos"",getPosATL _agent])) > _ZdistToWalk"/*%FSM</CONDITION""">*/; action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/; }; /*%FSM</LINK>*/ /*%FSM<LINK "Humano_Morto_">*/ class Humano_Morto_ { priority = 0.000000; to="Procura_um_Human"; precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/; condition=/*%FSM<CONDITION""">*/"_choosenDead"/*%FSM</CONDITION""">*/; action=/*%FSM<ACTION""">*/"_newPos = _agentOriPos;" \n "_agent moveTo _newPos;" \n "_agent forceSpeed 10;" \n "_found = false;" \n "_away = false;"/*%FSM</ACTION""">*/; }; /*%FSM</LINK>*/ /*%FSM<LINK "Perdeu_de_Vista">*/ class Perdeu_de_Vista { priority = 0.000000; to="Procura_um_Human"; precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/; condition=/*%FSM<CONDITION""">*/"!_distance_ZP_ok"/*%FSM</CONDITION""">*/; action=/*%FSM<ACTION""">*/"_newPos = _agentOriPos;" \n "_agent moveTo _newPos;" \n "_agent forceSpeed 10;" \n "_found = false;" \n "_away = false;"/*%FSM</ACTION""">*/; }; /*%FSM</LINK>*/ /*%FSM<LINK "Update_posi__o_">*/ class Update_posi__o_ { priority = 0.000000; to="Andar_at__Humano"; precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/; condition=/*%FSM<CONDITION""">*/"moveToCompleted _agent || moveToFailed _agent"/*%FSM</CONDITION""">*/; action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/; }; /*%FSM</LINK>*/ }; }; /*%FSM</STATE>*/ /*%FSM<STATE "Explodir_">*/ class Explodir_ { name = "Explodir_"; init = /*%FSM<STATEINIT""">*/"_agent forceSpeed 0;" \n "_agent setUnitPos ""DOWN"";" \n "_start = diag_tickTime;" \n """SmallSecondary"" createVehicle (getPosATL _agent);" \n "if (_Zspecial == 1) then {" \n " ""G_Camel_HE"" createVehicle (getPosATL _agent);" \n "};" \n "if (_Zspecial == 2) then {" \n " ""Bo_GBU12_LGB"" createVehicle (getPosATL _agent);" \n "};" \n "if (damage _agent > 0.7) then {" \n " ""G_Camel_HE"" createVehicle (getPosATL _agent);" \n " _agent setDamage 0.6;" \n "};"/*%FSM</STATEINIT""">*/; precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/; class Links { /*%FSM<LINK "Recuperado_">*/ class Recuperado_ { priority = 0.000000; to="Procura_um_Human"; precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/; condition=/*%FSM<CONDITION""">*/"diag_tickTime-_start > _ZinconTime"/*%FSM</CONDITION""">*/; action=/*%FSM<ACTION""">*/"_agent setDamage 0;" \n "_agent setUnitPos ""UP"";" \n "" \n "_newPos = _agentOriPos;" \n "_agent moveTo _newPos;" \n "_agent forceSpeed 10;" \n "" \n "donn_terror_deadZombies = donn_terror_deadZombies - [_agent];" \n "" \n "_found = false;" \n "_away = false;"/*%FSM</ACTION""">*/; }; /*%FSM</LINK>*/ }; }; /*%FSM</STATE>*/ /*%FSM<STATE "Correr_para_mais">*/ class Correr_para_mais { name = "Correr_para_mais"; init = /*%FSM<STATEINIT""">*/"_start = diag_tickTime;" \n "" \n "_agP = getPosATL _agent;" \n "_agPX =_agP select 0;" \n "_agPY =_agP select 1;" \n "" \n "_choosenPos = _choosen getVariable [""donn_pos"",getPosATL _agent];" \n "if (isNil ""_choosenPos"") then {_choosenPos = getPosATL _agent;};" \n "" \n "_distance_ZP_ok = _agent distance _choosenPos < _viewDistance && (_choosenPos select 2) < 4.5;" \n "" \n "if (_distance_ZP_ok) then {" \n " if (alive _choosen) then {" \n " _cP = _choosenPos;" \n " _cPX = _cP select 0;" \n " _cPY = _cP select 1;" \n "" \n " _nPX = (_agPX+_cPX)/2;" \n " _nPY = (_agPY+_cPY)/2;" \n " _newPos = [_nPX,_nPY,0];" \n " " \n " _agent moveTo _newPos;" \n " _agent forceSpeed 8;" \n " } else {" \n " _choosenDead = true;" \n " };" \n "};"/*%FSM</STATEINIT""">*/; precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/; class Links { /*%FSM<LINK "Update_posi__o_">*/ class Update_posi__o_ { priority = 0.000000; to="Correr_para_mais"; precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/; condition=/*%FSM<CONDITION""">*/"moveToCompleted _agent || moveToFailed _agent"/*%FSM</CONDITION""">*/; action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/; }; /*%FSM</LINK>*/ /*%FSM<LINK "Chegou_Perto_">*/ class Chegou_Perto_ { priority = 0.000000; to="Andar_at__Humano"; precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/; condition=/*%FSM<CONDITION""">*/"(_agent distance _newPos) + (_newPos distance (_choosen getVariable [""donn_pos"",getPosATL _agent])) < _ZdistToWalk"/*%FSM</CONDITION""">*/; action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/; }; /*%FSM</LINK>*/ /*%FSM<LINK "Humano_Morto_">*/ class Humano_Morto_ { priority = 0.000000; to="Procura_um_Human"; precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/; condition=/*%FSM<CONDITION""">*/"_choosenDead"/*%FSM</CONDITION""">*/; action=/*%FSM<ACTION""">*/"_newPos = _agentOriPos;" \n "_agent moveTo _newPos;" \n "_agent forceSpeed 10;" \n "_found = false;" \n "_away = false;"/*%FSM</ACTION""">*/; }; /*%FSM</LINK>*/ /*%FSM<LINK "Perdeu_de_Vista">*/ class Perdeu_de_Vista { priority = 0.000000; to="Procura_um_Human"; precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/; condition=/*%FSM<CONDITION""">*/"!_distance_ZP_ok"/*%FSM</CONDITION""">*/; action=/*%FSM<ACTION""">*/"_newPos = _agentOriPos;" \n "_agent moveTo _newPos;" \n "_agent forceSpeed 10;" \n "_found = false;" \n "_away = false;"/*%FSM</ACTION""">*/; }; /*%FSM</LINK>*/ /*%FSM<LINK "Perto_Humano_">*/ class Perto_Humano_ { priority = 0.000000; to="Explodir_"; precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/; condition=/*%FSM<CONDITION""">*/"damage _agent >= 0.5"/*%FSM</CONDITION""">*/; action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/; }; /*%FSM</LINK>*/ }; }; /*%FSM</STATE>*/ }; initState="Inicia"; finalStates[] = { }; }; /*%FSM</COMPILE>*/ OBS: fsm files are created by FSM Creator, but since they are text files, they can be provided like above. More help: Where to put the files? - Script 1 runs on server (i run it at the end of the file server_functions.sqf). - Script 2 runs on client (i run it in init.sqf). - Script 3 does not need to run, but you need to put it in the correct place in the mission file: \terror_zombies\zombie_agent_terror.fsm.
  23. axeman

    Read Me First

    Welcome to the AI Mission forum. Yes, we all want to make missions and put our mark on the game, give our players what they ask for and add our own ideas to the mod. Well, we welcome it and here is the place. Here we talk about .sqf and .fsm, configs, init.sqf, whatever is involved in creating a mission. Ask it, Code it, Post it ! Rules: 1) No Politics, long debates - Talking about how something, somewhere on the internet is not fair, or who said what ! Debate the merits of coding methods by all means. 2) No Breaking Epoch Code - Do not break our code, leave it be please until we release the final version. For a good reason, do you want to support changes in your mission every time we update the mod ? 3) Work with us, not against us. If it is in the Mod, we have done it that way for a reason, that reason is usually performance or for a better player experience. For example, don't try to 'find ways around' our server clean-up.The next update will almost certainly break your fix. We are always striving to improve and are open to suggestions. 4) All are welcome, respect others please. 5) Mission files etc. - Give credit for sources of your work. Guidelines: 1) DO NOT pander to your players - This is a survival experience ! Before giving in and making it easy for them, think how you can make them earn it and want it, and please make it painful, maybe a sea of sappers, just a suggestion. 2) Keep it clientside as much as you can. Not sure ? See Rule 3
  24. So, currently I have a perfectly clean (minus AdminTools) MPMissions folder for Napf, and I'm attempting to use a custom loot table using the lines: DZE_MissionLootTable #include "customloot\CfgBuildingLoot.hpp" //Overpoch Custom Loot problem is, when I load into my server, I get to the admin login/mission start screen. As soon as I hit "OK", the DayZ Epoch logo comes up, the loading bar loads fully, then it pauses at that screen indefinitely, like this: http://tinypic.com/r/3355dep/8 that's a photoshopped image, but you get the idea. My server RPT then says this: 18:45:06 Error in expression <nd (((_itemChances select _l) select 1) * 100); for "_k" from 0 to (_weight - 1)> 18:45:06 Error position: <* 100); for "_k" from 0 to (_weight - 1)> 18:45:06 Error *: Type String, expected Number 18:45:06 File z\addons\dayz_code\init\loot_init.sqf, line 85 So, i do some programming, I get the error, but is there a way to fix at that is more simple than commenting out the code or anything? Or a way of changing the variable that is a string but should be a number? I'll try commenting it out and report back, but I don't think it'll help... Thanks, all! FIXED: wangtangnoodle, on 27 Jun 2014 - 10:21 PM, said: found this quote from: Cheers!
  25. Hi guys, First post here. I've got my server up and running with a bunch of addons (scripts) and all this fancy loot table stuff, very happy with it! But I'm sick of Sauerland, and I couldn't seem to get the server to change the Mission it loads... When I changed all the .sqm's and used DayZ_Epoch_24.Napf it still loads in as Sauerland!!! My server_log says "19:59:42 Mission DayZ Epoch Napf read from directory." but in Arma 2 Multiplayer it says "Mission: Sauerland" at the bottom... So confused! :angry: Any help? Thanks! *FIXED* by trial and error
×
×
  • Create New...