Jump to content

Donnovan

Member
  • Posts

    840
  • Joined

  • Last visited

  • Days Won

    12

Reputation Activity

  1. Like
    Donnovan got a reaction from SWAT_BigBear in Epoch 0.3.9 - which mods work with it?   
    I'm also coming back to Epoch, and hope to release nice scripts.
  2. Like
    Donnovan got a reaction from AltisTales in Epoch 0.3.9 - which mods work with it?   
    I'm also coming back to Epoch, and hope to release nice scripts.
  3. Like
    Donnovan reacted to AltisTales in Epoch 0.3.9 - which mods work with it?   
    Hi everyone
    After a long absence from Epoch (it was missed!), we are reopening an Epoch server, in fact it's just come online today. 
    I'm not the technical admin of it, but our server guru who is has said that many of the mods that used to work don't anymore, or haven't been updated in months.
    Does anyone have a list of the currently supported and up to date mods that we could pick and choose from, to customise the server a bit?
     
    Thanks very much. Good to be back in Epoch! :)
     
    P.S. Is there any way of changing your profile name, our community is called "Element 83 Gaming" instead of Altis Tales now. Thank you!
  4. Like
    Donnovan reacted to defused in New Zombies not spawning ?   
    AHHH, was hidden thank you
    Found it now, let me try 
  5. Like
    Donnovan got a reaction from Ghostis in Lootos - My Personal Loot System   
    This is my personal Loot System i share with you now.
    Hope you enjoy.
    You must allow this public variable in your BE filters: mtdr_lootActiveAdd.
    Installation: Run it at the end of your init.sqf with: execVM "script_path/script_name.sqf";
    Buildings in _mtdr_loot_buildings_class are from DayZ Mod.
    I have a tool to help you to fill the _mtdr_loot_buildings_spawnPos array. To share with you later if needed.
    private ["_mtdr_loot_buildings_class","_mtdr_loot_buildings_spawnPos","_mtdr_loot_items","_renewTime","_spawnAgain"]; //MTDR LOOT SYSTEM _map_size = 15360; _map_center = [_map_size/2,_map_size/2,0]; _map_rad = (_map_size * sqrt(2))/2; //Time after a spawned loot will try to be removed and //triggered to spawn again accordingly to _spawnAgain _renewTime = 1800; _spawnAgain = true; //Buildings that i want to have Loot Piles _mtdr_loot_buildings_class = [ "Land_A_Hospital", "Land_Mil_Barracks_i", "Land_a_stationhouse", "Land_A_GeneralStore_01", "Land_A_GeneralStore_01a", "Land_A_Pub_01", "Land_HouseV_1I4", "Land_Church_03", "Land_Church_01", "Land_HouseV2_02_Interier" ]; //Loot Pile Positions of Buildings in _mtdr_loot_buildings_class //[[Pile Pos in building Coords,Loot lie on ground?],[Another pos,Another f/t],...] _mtdr_loot_buildings_spawnPos = [ [[[-07.00,-04.00,-07.33],false]], [[[ 05.00, 02.00,-01.10],false]], [[[-01.20,-07.90,-09.47],false]], [[[-01.14, 01.37,-01.20],false]], [[[ 00.50, 05.00,-01.20],false]], [[[ 06.16, 05.46,-01.43],false]], [[[ 00.00, 03.70,-02.72],false]], [[[ 04.70,-00.10,-14.29],false],[[-17.50, 00.00,-14.29],true]], [[[-06.90, 00.29,-04.21],false]], [[[-00.14,-02.45,-05.53],false]] ]; //Items To place on the buildings. Array: //Items, //quantity*, //buildings in _mtdr_loot_buildings_class, //building preference. The higher the relative value the greater is the preference //true for quantity* overall / false for quantity* per building _mtdr_loot_items = [ [["ItemBandage"],1,[0,1,2,3,4,5,6,7,8,9],[10,10,10,10,10,10,10,10,10,10],false], [["ItemWatch"],12,[7,8],[10,10],true], [["DMR"],1,[2,5],[2,10],true], [["Makarov"],0.50,[5],[10],false] ]; if (isServer) then { private ["_mtdr_loot_buildings_objs","_mtdr_lootTable_bobj","_mtdr_lootTable_item","_mtdr_lootActive","_MTDR_fnc_selectRandom"]; waitUntil {!isNil "BIS_fnc_selectRandom"}; //Wait do give the chance to all mod and server custom buildings to spawn sleep 10; //Predefine loot locations _mtdr_loot_buildings_objs = []; _mtdr_loot_buildings_objs_count = []; { _class = _x; _objs = []; {if (typeOf _x == _class) then {_objs = _objs + [_x];};} forEach (_map_center nearObjects [_class,_map_rad]); _mtdr_loot_buildings_objs = _mtdr_loot_buildings_objs + [_objs]; } forEach _mtdr_loot_buildings_class; { _qtt = count _x; _mtdr_loot_buildings_objs_count = _mtdr_loot_buildings_objs_count + [_qtt]; } forEach _mtdr_loot_buildings_objs; _mtdr_lootTable_bobj = []; _mtdr_lootTable_item = []; _MTDR_fnc_selectRandom = {_index = round (random count _this - 0.5);_index}; { _prefArray = _x select 3; _perBuild = true; _total = 0; _totalB = 0; _mult = 1; if (_perBuild) then {_mult = 0;}; { _total = _total + (_mtdr_loot_buildings_objs_count select _x) * ((_prefArray select _forEachIndex) * _mult + (1 - _mult)); _totalB = _totalB + (_mtdr_loot_buildings_objs_count select _x); } forEach (_x select 2); { _qttB = (_mtdr_loot_buildings_objs_count select _x) * ((_prefArray select _forEachIndex) * _mult + (1 - _mult)); _prefArray set [_forEachIndex,(_qttB/_total) * 100]; } forEach (_x select 2); diag_log ("[MTDR LOOT] " + str (_x select 0) + ": _prefArray = " + str _prefArray); _qtt = _x select 1; if !(_x select 4) then {_qtt = round (_qtt * _totalB);}; for "_i" from 1 to _qtt do { _bTypeIndex = 0; while {true} do { _idx = (_x select 2) call _MTDR_fnc_selectRandom; if (random 100 < _prefArray select _idx) exitWith { _bTypeIndex = (_x select 2) select _idx; }; }; _buildObj = (_mtdr_loot_buildings_objs select _bTypeIndex) call BIS_fnc_selectRandom; _buildPos = getPosATL _buildObj; _item = (_x select 0) call BIS_fnc_selectRandom; _bIndex = _mtdr_lootTable_bobj find _buildObj; if (_bIndex == -1) then { _mtdr_lootTable_bobj = _mtdr_lootTable_bobj + [_buildObj]; _mtdr_lootTable_item = _mtdr_lootTable_item + [_item]; } else { _items = _mtdr_lootTable_item select _bIndex; if (typeName _items == "Array") then { _newPile = _items + [_item]; _mtdr_lootTable_item set [_bIndex,_newPile]; } else { _newPile = [_items] + [_item]; _mtdr_lootTable_item set [_bIndex,_newPile]; }; }; }; } forEach _mtdr_loot_items; mtdr_lootSystemMain = [_mtdr_lootTable_bobj,_mtdr_lootTable_item]; publicVariable "mtdr_lootSystemMain"; //Monitor for Abandoned Loot Deletion _mtdr_lootActive = []; "mtdr_lootActiveAdd" addPublicVariableEventHandler {_mtdr_lootActive = _mtdr_lootActive + [_this select 1];}; while {true} do { { _build = _x; _time = _build getVariable ["ml_used",0]; if (time - _time > _renewTime) then { _bPos = getPosATL _build; _nearP = false; {if (_bPos distance _x < 200) exitWith {_nearP = true;};} forEach playableUnits; if (!_nearP) then { _idx1 = _mtdr_loot_buildings_class find typeOf _build; _spawnPosAll = _mtdr_loot_buildings_spawnPos select _idx1; { _spawnPos = _build modelToWorld (_x select 0); _holders = _spawnPos nearObjects ["WeaponHolder",5]; _holder = objNull; if (count _holders > 0) then { { if (_x getVariable ["ml_hld",false]) exitWith {_holder = _x;}; } forEach _holders; }; if (!isNull _holder) then {deleteVehicle _holder;}; } forEach _spawnPosAll; _mtdr_lootActive = _mtdr_lootActive - [_build]; if (_spawnAgain) then { _build setVariable ["ml_used",-1,true]; }; }; }; uiSleep 0.001; } forEach _mtdr_lootActive; uiSleep 180; }; }; if (hasInterface) then { private ["_mtdr_lootTable_bobj","_mtdr_lootTable_item","_mtdr_pPosMain","_mtdr_calc_newBuilds","_mtdr_spawnLoot","_mtdr_lootTable_bobj_local","_mtdr_lootTable_item_local"]; waitUntil {!isNil "mtdr_lootSystemMain"}; _mtdr_lootTable_bobj = mtdr_lootSystemMain select 0; _mtdr_lootTable_item = mtdr_lootSystemMain select 1; _mtdr_pPosMain = getPosATL player; //Function to Find Loot buildings near the player //They are the ones that will be monitored in the loop _mtdr_calc_newBuilds = { _mtdr_lootTable_bobj_local = []; _mtdr_lootTable_item_local = []; { _bSize = (sizeOf typeOf _x) * 2; _dist = ((_mtdr_pPosMain distance _x) - _bSize) max 0; _items = _mtdr_lootTable_item select _forEachIndex; if (_dist < 300) then { _mtdr_lootTable_bobj_local = _mtdr_lootTable_bobj_local + [_x]; _mtdr_lootTable_item_local = _mtdr_lootTable_item_local + [_items]; }; } forEach _mtdr_lootTable_bobj; }; //Function to Spawn Loot _mtdr_spawnLoot = { _obj = _this select 0; _items = _this select 1; if (typeName _items != "Array") then {_items = [_items];}; _idx1 = _mtdr_loot_buildings_class find typeOf _obj; _spawnPosAll = _mtdr_loot_buildings_spawnPos select _idx1; { _spawnPosArray = _spawnPosAll call BIS_fnc_selectRandom; _spawnPos = _obj modelToWorld (_spawnPosArray select 0); _onGround = _spawnPosArray select 1; if (_onGround) then {_spawnPos = [_spawnPos select 0,_spawnPos select 1,0];}; _holders = _spawnPos nearObjects ["WeaponHolder",5]; _holder = objNull; if (count _holders > 0 && {_x getVariable ["ml_hld",false]} count _holders > 0) then { { if (_x getVariable ["ml_hld",false]) exitWith { _holder = _x; }; } forEach _holders; } else { _holder = createVehicle ["WeaponHolder",_spawnPos,[],0,"CAN_COLLIDE"]; _holder setPosATL _spawnPos; _holder setVariable ["ml_hld",true,true]; }; _isM = isClass (configFile >> "CfgMagazines" >> _x); if (_isM) then { _holder addMagazineCargoGlobal [_x,1]; } else { _isW = isClass (configFile >> "CfgWeapons" >> _x); if (_isW) then { _holder addWeaponCargoGlobal [_x,1]; } else { _isV = isClass (configFile >> "CfgVehicles" >> _x); if (_isV) then { _holder addBackpackCargoGlobal [_x,1]; } else { diag_log "[MTDR LOOT] TIPO DE LOOT NAO IDENTIFICADO!"; }; }; }; } forEach _items; mtdr_lootActiveAdd = _obj; publicVariableServer "mtdr_lootActiveAdd"; }; call _mtdr_calc_newBuilds; //Monitore for Loot Buildings to activate for player while {true} do { _pOnFoot = vehicle player == player; if (_pOnFoot) then { _pPos = getPosATL player; _walked = _mtdr_pPosMain distance _pPos; if (_walked > 280) then { _mtdr_pPosMain = _pPos; call _mtdr_calc_newBuilds; _walked = 0; }; { _bSize = sizeOf typeOf _x; _dist = ((_pPos distance _x) - _bSize) max 0; if (_dist == 0) then { _bUsed = _x getVariable ["ml_used",-1]; if (_bUsed == -1) then { _x setVariable ["ml_used",time,true]; _items = _mtdr_lootTable_item_local select _forEachIndex; [_x,_items] call _mtdr_spawnLoot; //systemChat "Loot Especial Matadouro...!"; }; }; } forEach _mtdr_lootTable_bobj_local; }; uiSleep 2; }; };
  6. Like
    Donnovan reacted to vbawol in Epoch 0.3.9 Release Changelog   
    TLDR
    Starting on Apex Expansion support with Tanoa map support. New Task based Mission System. Zombies! Simply enable Ryan's Zombies and Demons mod: http://steamcommunity.com/sharedfiles/filedetails/?id=501966277 along side @Epoch Mod to get custom Epoch Zombie AI. * Base building and item interaction configs now available to change via mission file. Fixed custom Gestures not working since 1.60 Many other fixes and improvements. Change Log:
    [New] Epoch Mod configs and some community pbo's are now released under APL-SA license here: https://github.com/EpochModTeam/EpochCore [Added-WIP] Tanoa map support. [Added] New Task based Mission System. [Added] (Optional) Support for Ryan's Zombies and Demons mod: http://steamcommunity.com/sharedfiles/filedetails/?id=501966277 with custom Epoch implementation. [Added] New custom variable EPOCH_playerNuisance that increases based on the type of weapon fired and decreases at a rate of 1 per 10 seconds. This is used to track how active a shooter the player is. [Added] Player option to Morph into a random antagonist (from deathMorphClass) after death. The array 'deathMorphClass' found in CfgEpochClient can be used to specify what antagonists to randomly spawn. [Added] Player option to detonate body after death. Sacrifice yourself by generating a runaway thermal cascade using the nano bots within your body. Nothing left to revive. [Changed] Increased loot bias 10% overall and increased loot density for military and other larger buildings. [Changed] new function Epoch_message, replaces Epoch_dynamicText. [Changed] Object Interaction and EPOCH_client_bitePlayer settings in now config CfgObjectInteractions. [Changed] Moved all Base Building variables to gamemode config CfgBaseBuilding. [Changed] Moved all Item Interaction to new gamemode config CfgItemInteractions. [Changed] Sapper groan or detonate can be triggered by setting a variable on the target or sapper. [Changed] Server can be asked by a client / server to trigger an antagonist on another client. Antagonist is then run on target PC, independent from caller of function. [Changed] Epoch Unit Spawn code. Now can be called specifying the target of the antagonist. Antagonist will run on target client PC. [Changed] Sapper defaults tweaked to make them more responsive. [Changed] New Sapper antagonist config options: reflexSpeed - Set the loop pause. Defaults have been lowered to make sapper more responsive. nestChance - A percentage chance, at each sapper spawn, that he will create a nest. hideLevel - (Fear Emotion) Set level at which sapper will go into hiding based on fear of armed players, being shot near etc. chargeLevel - (Anger Emotion) Set level at which sapper will trigger 'charge the player' mode. [Changed] New UAV Support Troops antagonist config options: unitTypes - an array of soldier classes to randomly choose from. Custom weapons to-do, use soldiers with default weapon loadout or handle weapons with custom script. maxUnitNum - Maximum number of units to spawn per UAV. minAISkill - Minimum value for any AI skill. maxAimingAccuracy -> maxGeneral - Set the maximum value for each available AI skill. A random number between minAISkill and the value for each will be set as that skill. [Fixed] To prevent A3 dupe issues Epoch Militia Solders when taking uniforms, they no longer have uniforms. [Fixed] To prevent animation glitch with weapon switching on the move and holstering. You now must be standing still to holster your weapon. [Fixed] Custom Epoch Gestures not working since 1.60. [Fixed] Issue with animals not returning raw meat. [Fixed] Getting wet and cold on standing on pier. Thanks to umfufu for the report! http://epochmod.com/forum/topic/41929-getting-10-points-of-wetness/ [Fixed] Missing texture issues with some base building objects since 0.3.8. [Info] A big thanks to Isaac, Axeman's chief tester! **Server Only** [Added] Improved plant spawner by Redbeard Actual and [VB]AWOL. [Added] Allow Epoch Events to accept full file path if 4th variable in the EpochEvents array is set to 0. Default is 1. [Added] Function to effect a players Crypto server side: EPOCH_server_effectCrypto [Added] New experimental PBO packing tool found in Epoch/Tools/PowerShell/ [Added] Server function to allow remote exec of setVariable on client - Allows client to ask another client to set a local variable, via the server. Server can run same function. [Added] Epoch AH: Added ability to kick, instead of just log or ban. [Changed] Reworked vehicle load function and made vehicles immune to damage for 120 seconds after startup. [Changed] cfgpatches check now kicks by default with message a message. [Changed] Vehicle persistence texture configs are now found in server settings pbo. https://github.com/EpochModTeam/Epoch/blob/experimental/Sources/epoch_server_settings/configs/CfgEpochVehicles.h [Changed] Use new disableChannels syntax in 1.60 and enable text chat on side chat and not voice. Thanks to @morgoth0 for the heads up! https://github.com/EpochModTeam/Epoch/issues/544 [Changed] ForceRestart option should now restart as soon as all players disconnect and server is locked. [Changed] Epoch Events can now self initialize on server startup (if third events[] array element is 1). Fixes issue with weather not changing till first event run. [Removed] Epoch AH removed whitelisted variable check system. [Removed] STEAMAPI Vac ban check as it needs reworked in the extension. [Fixed] Take into account trader stored per class vehicle limits when spawning new vehicles. [Fixed] Disappearing Mags on login / revive. Thanks to He-Man for the fix: http://epochmod.com/forum/topic/42178-disappearing-mags-on-login-revive-fix/#comment-277194 [Fixed] CUP mods enabled check logic typo. Thanks to @morgoth0 for the report: https://github.com/EpochModTeam/Epoch/issues/543 [Fixed] BE kick when player opened stock A3 dialog (Game > Options > Layout). [Fixed] BE kick with Spawn Loot admin panel option. Thanks to @jostster for the report: https://github.com/EpochModTeam/Epoch/issues/540 [Updated] Loot position tool: Epoch/Tools/SQF/saveLootPositionsVector.sqf [Updated] World config tool: Epoch/Tools/SQF/getTreesAndTrash.sqf [Info] Changed name of a3_epoch_server.pbo to epoch_server.pbo. Also changed path from \x\addons\a3_epoch_server to \epoch_server [Info] Changed name of a3_epoch_server_settings.pbo to epoch_server_settings.pbo. [Info] RConPort 2306 added to example-beserver.cfg for changes since A3 1.58. [Info] Removed old .bikey and added new one for 0390. [Info] Requires Arma 3 1.60 or higher. Additional Notes: 
    * Ryans Zombies support is disabled by default, you must set this variable ( https://github.com/EpochModTeam/Epoch/blob/release/Sources/epoch_config/Configs/CfgEpochClient.hpp#L28 ) to true and add "Ryanzombies" cfgPatches classname to your missions addOns[] array ( https://github.com/EpochModTeam/Epoch/blob/release/Sources/mpmissions/epoch.Tanoa/mission.sqm#L22-L25 ) to prevent players from joining without the mod enabled. 
  7. Like
    Donnovan got a reaction from Linux in Remove infiStar Antihack properties (keep admin stuff)   
    Hi,
    I still have a Epoch server :)
    I'm having some problems with infiStar antihack. To say true it's not helping as a antihack, but the admin tools are quite nice.
    Any of you know about a nice admin tools?
    Thankyou a lot!
  8. Like
    Donnovan reacted to ElDubya in [AdminTool] (I'm back) Working on it!   
    Fantastic news man, glad you are better. Can't wait for the release :)
  9. Like
    Donnovan reacted to CordIAsis in [AdminTool] (I'm back) Working on it!   
    I'm back! :) I was really poorly for a while but pigs do fly and now I'm fixed :P
    I've actually been working on CSAT over the past 3-4 days and got quite a few nice extra features implemented, one of which I just
    I'll get a new set of files out in the next few days.
  10. Like
    Donnovan reacted to Linux in Remove infiStar Antihack properties (keep admin stuff)   
    you can try:
    CSAT: Admin-Tool & Anti-Hack
    Epoch Admin Tools V1.10.0
    But infiStar is best admin tools, if delete anti-cheat part it will be amazing
     
  11. Like
    Donnovan reacted to vbawol in Whats happened to EPOCH ??   
    Work started on Arma 3 Epoch in late 2013, and today there are now AAA game titles and other mods with odd and sometimes striking similarities to Epoch. If we had as much of an impact as it seems we did, I am glad to have had some effect regardless of how insignificant.
    I think what most people don't realize, is just how much time it takes to make something new and creative as well as to support it. When the popularity of a mod increases so does the required workload as do expectations and hype. This often actually demands more time than is possible for any mere hobby. 
    This is where the "Official Servers" thing came from. As I needed a way to deal with the ever growing workload by attempting to isolate a few communities I could more closely engage to find and fix issues faster. Given what happened it actually seemed to work against us.
    More servers does not necessarily equal a healthy mod. Since we don't have a vested interest in the server counts it really makes no difference how many servers there are at any given time. EpochMod.com generates just about enough ad revenue to pay for the web hosting and all donations go towards supporting the project long term and other development costs are currently covered thanks to: (Vilayer, GTX, Survival Servers, and Nitrado) providing us with dedicated servers for free.
    What is needed is, more players. Any game or mod needs a constant influx of new players to be considered healthy. With more and more work going into the project the hope is to attract more players from making the project better. Then when others think the time is right, we need their help to spread the word and by then hopefully the media will do an article about us (cough "PC Gamer"). 
    I have been releasing mods since 2003, starting with Battlefield 1942 series and have spent almost 4 years developing mods for Arma 2 and 3. Over the years I have seen similar patterns repeat in regards to this topic with every game (yes even AAA titles) or mod that has ever been created. Some games or mods "hype train" don't even last two weeks and as they say, everything good must come to an end. I still think we have been a success considering we are just a mod for a game. 
    Hopefully this post will help clear up some questions as this is starting to feel like ground hogs day. 
  12. Like
    Donnovan got a reaction from oldmatechoc in Joelma's Time Control   
    A battleEye restriction have nothing to do with a script work or not work.
    You don't know how to deal with a battleEye restriction. And i don't have the time to teach you. So...
    Good luck.
  13. Like
    Donnovan reacted to ckto in Best Safe Zone Script?   
    I am using andre's safe zones, its the best for me cause the god mod does't ends right when you leave the zone,
  14. Like
    Donnovan got a reaction from RiMMON in Epoch - No lobby after death - How To   
    This is how i make no-lobby after death:
    Files to change:
    1 - Client side: compile\player_death.sqf
    use this custom player_death.sqf: https://www.dropbox.com/s/4yaijzuj1ieegiq/player_death.sqf?dl=0
    2 - Client side: description.ext (on the root of the mission file)
    Change this:
    respawndelay = 5; to this: respawndelay = 0; 3 - Server side: compile\server_playerSetup.sqf Look for this line:
    _playerObj addMPEventHandler ["MPHit", {_this spawn fnc_plyrHit;}]; Add above it, this line: _playerObj removeAllMPEventHandlers "MPHit"; Create new file: 1 - Put this file in the root of the mission: https://www.dropbox.com/s/omb7n23bxcky2gl/player_monitor.fsm?dl=0
    It's a custom player_monitor.fsm to run everytime the player dies.
    2 - Create reinit.sqf, in root of the mission file, and add inside it this content:
    dayz_originalPlayer = player; _id = player addEventHandler ["Respawn", {_id = [] spawn player_death;}]; if (isServer) then {     waitUntil{dayz_preloadFinished}; }; mtdr_reinitOk = false; _id = [] execFSM "player_monitor.fsm"; waitUntil {mtdr_reinitOk}; //If you use ESS, uncomment the line bellow: //sorry, i dont know the start line for it //If you use ESS2, uncomment the line bellow: //execVM "spawn\start.sqf"; Anti Hack Problems
    I believe antihack kill the player if he goes to the debug area (respawn_west marker set in mission.sqm) after first respawn, so if you use antihack, the player will enter in a die/respawn/die/respaw cicle and probabily crash the game. Without antihack, it seens to work ok, but tell me if you find a problem.
    Thankyou.
  15. Like
    Donnovan got a reaction from Corpulio_Hun in [WIP] Small Bases God Mode   
    THE IDEA:
    Have god mode only on small bases.
     
    WHAT WAS REACHED:
    Small bases still dies, but it is not removed from the data base, so it back on the next restart.
     
    THE CODE TO DO THAT:
    One server function need to be changed on the file init\server_functions.sqf.
    Function object_handleServerKilled changes from:
    object_handleServerKilled = { private["_unit","_objectID","_objectUID","_killer"]; _unit = _this select 0; _killer = _this select 1; _objectID = _unit getVariable ["ObjectID","0"]; _objectUID = _unit getVariable ["ObjectUID","0"]; [_objectID,_objectUID,_killer] call server_deleteObj; _unit removeAllMPEventHandlers "MPKilled"; _unit removeAllEventHandlers "Killed"; _unit removeAllEventHandlers "HandleDamage"; _unit removeAllEventHandlers "GetIn"; _unit removeAllEventHandlers "GetOut"; }; To:
    object_handleServerKilled = { private["_unit","_objectID","_objectUID","_killer"]; _unit = _this select 0; _killer = _this select 1; _objectID = _unit getVariable ["ObjectID","0"]; _objectUID = _unit getVariable ["ObjectUID","0"]; //=============================================================== //DONN Small Bases God Mode - Begin ============================= //=============================================================== _limitToGod = 30; //Max Limite for God Mode Base _radSearch = (DZE_PlotPole select 0) + 2; _plots = nearestObjects [_unit,"Plastic_Pole_EP1_DZ",_radSearch]; _delOnDb = false; if (count _plots > 0) then { _plot = _plots select 0; _plotRad = DZE_PlotPole select 0; _modules = nearestObjects [_plot,DZE_maintainClasses,_plotRad]; _numModules = count _modules; if (_numModules > _limitToGod) then { _delOnDb = true; }; } else { _delOnDb = true; }; if (_delOnDb) then {[_objectID,_objectUID,_killer] call server_deleteObj;}; //=============================================================== //DONN Small Bases God Mode - End =============================== //=============================================================== //[_objectID,_objectUID,_killer] call server_deleteObj; _unit removeAllMPEventHandlers "MPKilled"; _unit removeAllEventHandlers "Killed"; _unit removeAllEventHandlers "HandleDamage"; _unit removeAllEventHandlers "GetIn"; _unit removeAllEventHandlers "GetOut"; }; IT WORKS?
    It was not tested, but if you have interest in that, and want to help testing it, i apreciate and we can have something nice fastely.
     
    INFISTAR COMPATIBLE?
    This is something to test too.
  16. Like
    Donnovan got a reaction from Linux in Epoch - No lobby after death - How To   
    I would love to have only the Admin Tools of infiStar.
  17. Like
    Donnovan reacted to Linux in Epoch - No lobby after death - How To   
    Get it working, but infiStar killing player all the time, without infi is working nice
  18. Like
    Donnovan reacted to Richie in player body parts in Arma 3   
    Finally, woo hoo :)
  19. Like
    Donnovan reacted to He-Man in player body parts in Arma 3   
    https://community.bistudio.com/wiki/getAllHitPointsDamage
  20. Like
    Donnovan reacted to T.LEE in MOSTWA - Andre most Wanted Script   
    del
  21. Like
    Donnovan reacted to Thug in Andre Aerial Patrol - [Coconut Release] - Any Map   
    Here is some information that I use for different maps, if anyone wants to use it.
    if (isServer) then {
        _gridN = 20; // Default Was 15
        //_mapSize = 15360; //CHERNARUS
        //_mapSize = 12750; //Namalsk
        _mapSize = 10240; //Fallujah, Takistan, FATA and  Panthera2
  22. Like
    Donnovan reacted to T.LEE in MOSTWA - Andre most Wanted Script   
    del
  23. Like
    Donnovan reacted to ElDubya in Andre Aerial Patrol - [Coconut Release] - Any Map   
    Thanks man. I think I was having trouble matching heli's with crew and ammo. I'll use a couple of yours in my config, cheers.
  24. Like
    Donnovan reacted to Tang0 in Andre Aerial Patrol - [Coconut Release] - Any Map   
    this is what i use in mine for a bit more power
        donn_heliConvy = [
            /*0*/["UH1H_DZ",0,["100Rnd_762x51_M240","100Rnd_762x51_M240"],3],
            /*1*/["UH1H_DZ",4,[],4],
            /*2*/["Mi17_UN_CDF_EP1",5,["100Rnd_762x54_PK","100Rnd_762x54_PK"],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)
            /*5*/["UH60M_EP1_DZE",0,["2000Rnd_762x51_M134","2000Rnd_762x51_M134"],3],
            /*6*/["UH1Y_DZE",0,["2000Rnd_762x51_M134","2000Rnd_762x51_M134"],3],
            /*7*/["UH1H_TK_EP1",0,["100Rnd_762x51_M240","100Rnd_762x51_M240"],3],
            /*8*/["BAF_Merlin_DZE",4,[],4],
            /*9*/["Mi24_V",4,[],4],        //ARMED (PILOT)    
            /*10*/["pook_H13_amphib_CIV",1,[],1],
            /*11*/["pook_H13_transport_UNO",2,["100Rnd_762x51_M240"],2],
            /*12*/["AH64D",1,[],1],        //ARMED (PILOT)        
            /*13*/["Mi17_rockets_RU",5,["100Rnd_762x54_PK","100Rnd_762x54_PK","100Rnd_762x54_PK"],5]        
        ];
  25. Like
    Donnovan got a reaction from Linux in Andre Aerial Patrol - [Coconut Release] - Any Map   
    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:

×
×
  • Create New...