Jump to content

Drunken Cheetah

Members
  • Content Count

    217
  • Joined

  • Last visited

  • Days Won

    20

Drunken Cheetah last won the day on January 6

Drunken Cheetah had the most liked content!

Community Reputation

75 Respected

4 Followers

About Drunken Cheetah

  • Rank
    Devoted Member

Personal Information

  • Country

PC Specs

  • CPU
    Kaby Lake i7
  • Memory
    32GB
  • Hard Drive
    250GB SSD, 2TB Sata,2TB Sata
  • Graphic Card
    GTX 1060 3GB OC
  • PSU
    Thermal Take Smart Series
  • Case
    Antec
  • Monitor
    Aoc 32"

Recent Profile Visitors

1,031 profile views
  1. Drunken Cheetah

    [Release] Airdrop Script V3

    To those of you who use this script. I would highly appreciate if you left all credits at the top of all the files. The scripts released here(not just ones I post), have been released out of generosity, I and anyone else who post script's post them and fix them voluntarily, and when people remove credits it's sort of disappointing to see. I was given a bunch of missions from people who use this script, who have removed ALL credits from the files posted. I don't appreciate it, and I am sure the original author(s) would not appreciate it. Please leave the credits in all the files.
  2. Drunken Cheetah

    Border Life Roleplay | Malden Life

    RIP. Didn't even see the post date, just replied cause the guy above me did haha
  3. Drunken Cheetah

    Border Life Roleplay | Malden Life

    Should probably fix your website before trying to run a game server.
  4. Drunken Cheetah

    [Release] Airdrop Script V3

    This script is also posted on my portfolio. I will be copy pasting everything I posted on there for the airdrop. You can view it at http://altislife-scripting.com Lets begin, DISCLAIMER: I've spent countless hours making this right, and making sure it works 100% before posting it. I have tested this, for 6 hours straight making sure each and every setting works the way it should. If it does not work for you. You've done something wrong! Go back and repeat the steps. THIS IS FOR VERSION 5.0 OF ALTIS LIFE FRAMEWORK. THIS HAS ONLY BEEN TESTED ON 5.0 VERSION Most airdrop scripts posted publicly don't work properly without modification. This script has been re-modified to the original script from RyanTT (OptiX) Script Settings Map settings - Choose between Tanoa, Altis or Stratis (Depending on your servers map.) Location Settings (Not currently in the Config_Master) Debug Settings - Absolutely useless to be honest. Player side Check Weapons Config All settings interchangeable in Config_Master Installation Guide Make sure you read this, and understand before you go editing your files. If you don't feel comfortable editing your files. Don't add this script! I am not responsible for your actions. Make backups before you continue as we utilize the life_server folder. Head over to your Config_Master file (MISSIONDIR/config/Config_Master.hpp) and add the following to that file /* ADDITIONS BY DRUNKEN CHEETAH AIR DROP STUFF Change value to true to use different locations depending on your chosen map. Change the locations below. !!! YOU MUST ONLY EVER USE 1 SETTING. DO NOT USE MULTIPLE VALUE SETTINGS AS TRUE FOR MAP LOCATIONS. !!! */ use_drop_debug = false; //Default: false - This just adds some things to the rpt file, was for debugging purposes. Check the fn_Airdrop.sqf file. tanoa_location = false; //Default: false - Using Tanoa? Change to true altis_location = true; //Default: true - Using Altis? Change to true stratis_location = false; //Default: false - Using Stratis? Change to true enable_airdrop = true; //Default: true - Enable Airdrop? airdrop_markerSize = 1500; //Default: 1500 - Change Size of radius of airdrop airdrop_time = 3; //Default: 3 - Time in hours for the airdrop to take place //ONLY SET ONE PLAYERSIDE TO TRUE. SCRIPT WILL NOT RUN IF BOTH ARE SET TO TRUE. playerside_check_civ = false; //Default: false - Choose wheather or not to do a player check for civs. If X amount of civs are on then the drop will occure, else it wont. playerside_check_cop = false; //Default: false - Choose wheather or not to do a player check for cops. If X amount of cops are on then the drop will occure, else it wont. playerside_check_num = 4; //Default: 4 - If 4 cops/civs are on, then airdrop will occure. If less then this amount are on then it wont drop. use_custom_weapons = false; //Default: false - RECOMMENDED TO USE THIS, FOR MORE RELIABLE WEAPONS. This is to tell the script, that you want to use your own weapons. If this is set to false, default weapons will be added to the drop airdrop_weapon_guns[] = { //Make sure to only use classnames here. More classnames at BI Wiki -> https://community.bistudio.com/wiki/Arma_3_CfgWeapons_Weapons "arifle_MX_GL_ACO_F", "arifle_MX_ACO_F", "arifle_MXC_SOS_point_snds_F", "arifle_MX_RCO_pointer_snds_F", "arifle_MX_SW_Black_Hamr_pointer_F", "MMG_02_black_RCO_BI_F", "arifle_MXC_khk_Holo_Pointer_F", "arifle_AK12_F" }; airdrop_weapon_magazines[] = { //Make sure to only use classnames here. More classnames at BI Wiki -> https://community.bistudio.com/wiki/Arma_3_CfgWeapons_Weapons "30Rnd_65x39_caseless_mag", "30Rnd_65x39_caseless_mag_Tracer", "130Rnd_338_Mag", "30Rnd_762x39_Mag_Tracer_Green_F" }; Once you've done that, save the file and head over to your life_server folder ATTENTION MAKE A BACKUP BEFORE YOU CONTINUE! I AM NOT RESPONSIBLE IF YOU BREAK SOMETHING Navigate to: life_server/Functions/Missions (If you don't have the missions folder, create it) Inside that folder, we are going to create 2 new files First file is called: fn_initAirdrop.sqf Inside that file, paste the following code; #include "\life_server\script_macros.hpp" /* File: fn_initDrop.sqf Author: Drunken Cheetah Description: Initializes the dynamic air drop. Set times for mission to reoccure after done. */ //Every X hours sleep (LIFE_SETTINGS(getNumber, "airdrop_time") * 3600); []spawn TON_fnc_airdrop; Save that file, and create a new file in the same folder called fn_Airdrop.sqf Inside that file paste the following; #include "\life_server\script_macros.hpp" /* author: Drunken Cheetah description: Dynamic Air Drop Original Airdrop Script by RTT. */ private [ "_enableDrop","_radius","_marker","_markerText", "_positions", "_bmb", "_box", "_flare", "_light", "_container", "_containerDummy", "_mygroup1", "_mygroup2", "_mygroup3", "_heli1", "_heli2", "_heli3", "_smoke", "_para", "_posContainer", "_var","_heli4","_mygroup4" ]; _enableDrop = LIFE_SETTINGS(getNumber, "enable_airdrop"); //Turn on the airdrop? if(_enableDrop != 1) exitWith {}; //If the option to 'Enable Drop' isn't true, then exit and don't run //Playerside Check Settings _civs = LIFE_SETTINGS(getNumber, "playerside_check_civ"); _cops = LIFE_SETTINGS(getNumber, "playerside_check_cop"); _num = LIFE_SETTINGS(getNumber, "playerside_check_num"); if(_civs isEqualTo 1 && civilian countSide playableUnits < _num) exitWith {diag_log "NOT ENOUGH CIVS ARE ON. AIRDROP SCRIPT CANT RUN!";}; //ONLY CIV CHECK if(_cops isEqualTo 1 && west countSide playableUnits < _num) exitWith{diag_log "NOT ENOUGH COPS ARE ON. AIRDROP SCRIPT CANT RUN!";}; //ONLY COP CHECK //Do some checks first(Configuation in Config_Master) _radius = LIFE_SETTINGS(getNumber, "airdrop_markerSize"); //Size of the KoS Zone, usually quiet large _terrainAltis = LIFE_SETTINGS(getNumber, "altis_location"); //Get the true, false statement from Config_Master _terrainTanoa = LIFE_SETTINGS(getNumber, "tanoa_location"); //Get the true, false statement from Config_Master _terrainStratis = LIFE_SETTINGS(getNumber, "stratis_location"); //Get the true, false statement from Config_Master //The below settings, are drop locations ONLY. The starting location is random! If you want to change the drop locations. Goto the editor for the new locations if(_terrainAltis isEqualTo 1 && _terrainTanoa isEqualTo 1 && _terrainStratis isEqualTo 1) exitWith {diag_log "AIRDROP CONFIG ERROR! ALL MAPS ARE SET TO ON. SCRIPT WILL NOT RUN! CHECK YOUR CONFIG_MASTER FILE";}; if(_terrainAltis isEqualTo 1) then {positions = selectRandom[[24146.2,21618.4,0],[17070.6,12524.3,0],[11158.6,8752.99,0],[4038.37,12867.9,0],[8888.03,19459.4,0]];}; //ALTIS if(_terrainTanoa isEqualTo 1) then {positions = selectRandom[[12087.2,3766.09,0],[4809.03,3774.09,0],[9959.91,12097.9,0],[6340.12,10566.9,0],[2418.31,12585.3,0]];}; //TANOA if(_terrainStratis isEqualTo 1) then {positions = selectRandom[[5019.67,5905.58,0],[3889.79,3959.15,0],[1788.78,5556.1,0],[2416.62,1600.21,0],[6559.68,5191.21,0]];}; //STRATIS //All locations are random drop locations i've chosen on each map. //Start Airdrop [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>A helicopter is going to drop a Supplycrate in 15 minutes! The drop-location will be transmitted soon!</t>"] remoteExec ["life_fnc_broadcast",0]; sleep (5*60); //This is for debug purposes. Change settings in Config_Master if (LIFE_SETTINGS(getNumber,"use_drop_debug") isEqualTo 1) then { private _sPos = switch(worldName) do { case "Altis": { diag_log format ["AIRDROP::: %1 Map Used. Location is set to %2", worldName, positions];//debug }; case "Tanoa": { diag_log format ["AIRDROP::: %1 Map Used. Location is set to %2", worldName,positions];//debug }; case "Stratis": { diag_log format ["AIRDROP::: %1 Map Used. Location is set to %2", worldName,positions]; //debug }; }; }; _marker = createMarker ["AirdropMarker",positions]; "AirdropMarker" setMarkerColor "ColorRed"; "AirdropMarker" setMarkerType "Empty"; "AirdropMarker" setMarkerShape "ELLIPSE"; "AirdropMarker" setMarkerSize [_radius,_radius]; _markerText = createMarker ["Airdropmarkertext", positions]; "Airdropmarkertext" setMarkerColor "ColorBlack"; "Airdropmarkertext" setMarkerText "Airdrop-Mission"; "Airdropmarkertext" setMarkerType "mil_warning"; //-- BROADCAST IT [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>10 minutes until the helicopter will drop the supplies! Check your map for the drop-location!</t>"] remoteExec ["life_fnc_broadcast",0]; sleep 300; [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>5 minutes until the helicopter will drop the supplies!</t>"] remoteExec ["life_fnc_broadcast",0]; sleep 60; [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>4 minutes until the helicopter will drop the supplies!</t>"] remoteExec ["life_fnc_broadcast",0]; sleep 60; [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>3 minutes until the helicopter will drop the supplies!</t>"] remoteExec ["life_fnc_broadcast",0]; sleep 60; [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>2 minutes until the helicopter will drop the supplies!</t>"] remoteExec ["life_fnc_broadcast",0]; sleep 60; [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>1 minute until the helicopter will drop the supplies!</t>"] remoteExec ["life_fnc_broadcast",0]; sleep 60; _heli1 = createVehicle ["B_Heli_Transport_03_unarmed_F", [7950, 9667, 0], [], 0, "FLY"]; _heli2 = createVehicle ["B_Heli_Attack_01_F", [7950, 9700, 0], [], 0, "FLY"]; _heli3 = createVehicle ["B_Heli_Attack_01_F", [7950, 9630, 0], [], 0, "FLY"]; _heli1 allowDamage false; _heli2 allowDamage false; _heli3 allowDamage false; //Lock the vehicles incase a player some how can access them _heli1 lock 2; _heli2 lock 2; _heli3 lock 2; _mygroup1 = [[7950, 9667, 0], civilian, ["O_G_Soldier_SL_F"],[],[],[],[],[],180] call BIS_fnc_spawnGroup; _mygroup2 = [[7950, 9667, 0], civilian, ["O_G_Soldier_SL_F"],[],[],[],[],[],180] call BIS_fnc_spawnGroup; _mygroup3 = [[7950, 9667, 0], civilian, ["O_G_Soldier_SL_F"],[],[],[],[],[],180] call BIS_fnc_spawnGroup; {_x moveInDriver _heli1}forEach units _mygroup1; {_x moveInDriver _heli2}forEach units _mygroup2; {_x moveInDriver _heli3}forEach units _mygroup3; _mygroup1 addWaypoint [positions, 0]; _mygroup1 addWaypoint [[2380.47,22267.8,0], 0]; _mygroup2 addWaypoint [positions, 0]; _mygroup2 addWaypoint [[2380.47,22267.8,0], 0]; _mygroup3 addWaypoint [positions, 0]; _mygroup3 addWaypoint [[2380.47,22267.8,0], 0]; _markerText = createMarker ["airbox_marker", [14028.5,18719.7,0.0014267]]; "airbox_marker" setMarkerColor "ColorBlue"; "airbox_marker" setMarkerText " Airdrop-Box"; "airbox_marker" setMarkerType "mil_destroy"; _containerDummy = createVehicle ["Land_Cargo20_blue_F", [3450.7363, 16708.432, 90], [], 0, "CAN_COLLIDE"]; _containerDummy attachTo [_heli1, [0,0,-3.5]]; _containerDummy setDir 90; while {positions distance _heli1 > 150} do {"airbox_marker" setMarkerPos getPos _heli1; sleep 1;}; [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>The supplies have been dropped! 20 minutes until self destruction!</t>"] remoteExec ["life_fnc_broadcast",0]; sleep 10; [3,"<t size='1.2'><t color='#ADD8E6'>Attention Officers</t></t><br/><br/><t size='1'>Stop the rebels from stealing the airdrop contents!</t>"] remoteExec ["life_fnc_broadcast",west]; //-- DROP CONTAINER, ADD PARACHUTE, FLARE & LIGHT deleteVehicle _containerDummy; sleep 0.1; _container = createVehicle ["Land_Cargo20_blue_F", [3450.7363, 16708.432, 90], [], 0, "CAN_COLLIDE"]; _para = createVehicle ["O_Parachute_02_F", [getPos _heli1 select 0, getPos _heli1 select 1, getPos _heli1 select 2], [], 0, ""]; _para setPosATL (_heli1 modelToWorld[0,0,100]); _para attachTo [_heli1, [0,0,-10]]; detach _para; _container attachTo [_para, [0,0,-2]]; _container setDir 90; playSound3D ["a3\sounds_f\weapons\Flare_Gun\flaregun_1_shoot.wss", _container]; _smoke = "SmokeShellRed" createVehicle [getPos _container select 0, getPos _container select 1,0]; _smoke attachTo [_container, [0,0,0]]; _light = "Chemlight_green" createVehicle getPos _container; _light attachTo [_container,[0,0,0]]; _flare = "SmokeShellYellow" createVehicle getPos _container; _flare attachTo [_container,[0,0,0]]; sleep 0.1; //-- while { (getPos _container select 2) > 2 } do { "airbox_marker" setMarkerPos getPos _container;sleep 1; }; detach _container; _container setPos [getPos _container select 0, getPos _container select 1, (getPos _container select 2)+0.5]; playSound3D ["A3\Sounds_F\sfx\alarm_independent.wss", _container]; sleep 6; "M_NLAW_AT_F" createVehicle [getPos _container select 0, getPos _container select 1, 0]; _posContainer = getPos _container; deleteVehicle _container; sleep 0.5; _box = createVehicle ["CargoNet_01_box_F", _posContainer, [], 0, "CAN_COLLIDE"]; _box allowDamage false; _smoke = "SmokeShellGreen" createVehicle [getPos _box select 0,getPos _box select 1,0]; _flare = "SmokeShellYellow" createVehicle getPos _container; _light attachTo [_box,[0,0,0]]; _flare attachTo [_box,[0,0,0]]; // Fill box clearWeaponCargoGlobal _box; clearMagazineCargoGlobal _box; clearItemCargoGlobal _box; sleep 3; if(LIFE_SETTINGS(getNumber, "use_custom_weapons") isEqualTo 1) then { _randomAmount = floor(random 40); _airdrop_contents = LIFE_SETTINGS(getArray,"airdrop_weapon_guns"); _airdrop_magazines = LIFE_SETTINGS(getArray, "airdrop_weapon_magazines"); //Weapons _box addWeaponCargoGlobal [selectRandom _airdrop_contents,_randomAmount]; _box addWeaponCargoGlobal [selectRandom _airdrop_contents,_randomAmount]; _box addWeaponCargoGlobal [selectRandom _airdrop_contents,_randomAmount]; _box addWeaponCargoGlobal [selectRandom _airdrop_contents,_randomAmount]; _box addWeaponCargoGlobal [selectRandom _airdrop_contents,_randomAmount]; _box addWeaponCargoGlobal [selectRandom _airdrop_contents,_randomAmount]; //magazines _box addMagazineCargoGlobal [selectRandom _airdrop_magazines,_randomAmount]; _box addMagazineCargoGlobal [selectRandom _airdrop_magazines,_randomAmount]; _box addMagazineCargoGlobal [selectRandom _airdrop_magazines,_randomAmount]; _box addMagazineCargoGlobal [selectRandom _airdrop_magazines,_randomAmount]; _box addMagazineCargoGlobal [selectRandom _airdrop_magazines,_randomAmount]; _box addMagazineCargoGlobal [selectRandom _airdrop_magazines,_randomAmount]; }else { _var=floor(random 6); if (_var==0) then { _box addWeaponCargoGlobal ["LMG_Zafir_F", 5]; }; if (_var==1) then { _box addWeaponCargoGlobal ["arifle_TRG20_F", 5]; }; if (_var==2) then { _box addWeaponCargoGlobal ["LMG_Mk200_F", 5]; }; if (_var==3) then { _box addWeaponCargoGlobal ["SMG_01_F", 25]; }; if (_var==4) then { _box addWeaponCargoGlobal ["srifle_GM6_F", 5]; }; if (_var==5) then { _box addWeaponCargoGlobal ["SatchelCharge_Remote_Mag", 10]; }; }; sleep 0.1; // Fill box end sleep 300; deleteVehicle _heli1; deleteVehicle _heli2; deleteVehicle _heli3; sleep 600; [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>5 minutes until self destruction</t>"] remoteExec ["life_fnc_broadcast",0]; sleep 240; [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>1 minute until self destruction</t>"] remoteExec ["life_fnc_broadcast",0]; sleep 50; [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>10 seconds until self destruction</t>"] remoteExec ["life_fnc_broadcast",0]; sleep 10; [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>The AirDrop-Mission has ended! The zone will remain for a further 10 minutes.</t>"] remoteExec ["life_fnc_broadcast",0]; deleteVehicle _box; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)-21,(getPos _box select 1)+21,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)-1,(getPos _box select 1)+56,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)+23,(getPos _box select 1)-75,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)-50,(getPos _box select 1)+1,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)+87,(getPos _box select 1)-22,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)+0,(getPos _box select 1)-0,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)+20,(getPos _box select 1)-20,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)-100,(getPos _box select 1)+56,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)+100,(getPos _box select 1)-100,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)-55,(getPos _box select 1)+123,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)+577,(getPos _box select 1)-83,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)+35,(getPos _box select 1)-99,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)+100,(getPos _box select 1)-100,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)-431,(getPos _box select 1)-431,0]; deleteMarker "airbox_marker"; sleep (10 * 60); [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>The airdrop zone has now self destructed. You must manually declare on other players.</t>"] remoteExec ["life_fnc_broadcast",0]; "Airdropmarker" setMarkerAlpha 0; "Airdropmarkertext" setMarkerAlpha 0; deleteMarker "Airdropmarker"; deleteMarker "Airdropmarkertext"; [] spawn TON_fnc_initAirdrop; Now save that file, and head back to your life_server folder Open the file life_server/config.cpp and add the following under class housing class Missions { file = "\life_server\Functions\Missions"; class Airdrop {}; class initAirdrop {}; }; Save that file, and head to life_server/init.sqf somewhere at the bottom, add the following; [] execVM "\life_server\Functions\Missions\fn_initAirdrop.sqf"; Now save that file, and save the rest of the files. Make sure to re-pbo your life_server folder Once that is all complete, head back to your MISSIONDIR/config/Config_Master.hpp to edit the airdrop settings accordingly. If its all done correctly, good job! You now have a working airdrop script, with extra settings. THINGS TO NOTE: If the drop zone is smaller than 550 the airdrop box will be dropped outside the KOS (Most cases) If you want to change your drop locations, do so in the fn_Airdrop.sqf at line 35 for altis. You don't need to use the debug settings at all. These were added for testing! Keep them if you want. I recommend as stated in Config_Master to use the use_custom_weapons to get more of a reliable box filling. NEVER set your player side check to TRUE for both CIV and COP NEVER set your map settings to true for all 3. The script wont run! Only use the map which is on your server. I don't think I missed anything, I apologize in advanced if I did! To stay up-to date on my scripts, and scripts I've edited for the 5.0 version. Visit my portfolio. Most things will be posted there, before here. http://altislife-scripting.com If you need help, don't hesitate to ask for it! If it does not work for you, post the RPT logs, if you don't get a reply within a couple hours. Go back to the beginning, and re-read everything step by step.
  5. Drunken Cheetah

    [Release] Auto Safezones

    I can do the notification of safezone, and no shooting in another version. Ahh ok no worries, thanks haha
  6. Drunken Cheetah

    [Release] Auto Safezones

    Not sure what the error was to be honest, I tested this before clicking post, and nothing came up in my log.. Unless I missed it?
  7. Drunken Cheetah

    [Release] Auto Safezones

    You add the "kavala_safezone" as the marker's name. It doesn't pop up with a message, but it wouldn't be hard to add it.
  8. Drunken Cheetah

    Dynamic Airdrop 100% working 5.0

    For those of you who have issues, I am revising this script, and adding extra features. Not yet completed, but you can stay upto date on my portfolio web. It will be posted there before here. https://altislife-scripting.com/wp/2018/26/95/airdrop-v2/altis-life-v5-0/drunken-cheetah/ (Admin/Mod delete link if not allowed)
  9. Drunken Cheetah

    [Release] Auto Safezones

    Script Details: Release Version: 1 Difficulty: EASY FEATURES: Enable/Disable Change Safezones every X minutes Change Safezones time change Size of the Safezone Installation Instructions Head to the folder MISSIONDIR/config and open Config_Master.hpp Anywhere in there, above or below anything else add the following //Auto Safezones by Drunken Cheetah aka Pril use_autosafezone = true; //Enable or Disable Safezones timer_safezones = true; //Timer Safezones means every X amount of minutes, the safezone will change. 'use_autosafezone' must be true if this line is true. Adjust time below time_to_change = 30; // In minutes. size_of_zone = 450; After that, goto your mission.sqm in the Arma 3 Editor, and add 5 new empty markers, place them(for altis) at Pyrgos, Kavala, Athira, Sofia and Zaros (or place them anywhere you would like a safezone automatically) Name the markers; pyrgos_safezone kavala_safezone athira_safezone sofia_safezone zaros_safezone If you want to rename them that is fine, but make sure to update your script details below. Save the mission, and copy&paste it back into your mission file, and head over to your life_server folder. Goto life_server/Functions/Missions If you do not have a missions folder, create it. Create a new file in that folder called fn_autosafeZone.sqf and place the following code inside of it #include "\life_server\script_macros.hpp" /* File: fn_autosafeZone.sqf Author: Drunken Cheetah aka Pril Description: Automatic Safezones */ private["_safe","_zone","_timeCheck","_turnOn","_timer","_size"]; _turnOn = if (!(LIFE_SETTINGS(getNumber, "use_autosafezone") isEqualTo 1)) exitWith {diag_log "SAFEZONE NOT SET! OPTION TURNED OFF";}; //IF YOU RENAMED YOUR MARKERS, CHANGE THEM HERE TO REFLECT YOUR RENAMED ONES. _safe = (getMarkerPos (selectRandom["pyrgos_safezone","kavala_safezone","athira_safezone","sofia_safezone","zaros_safezone"])); _timer = (LIFE_SETTINGS(getNumber, "time_to_change")); _size = (LIFE_SETTINGS(getNumber, "size_of_zone")); _timeCheck = if (!(LIFE_SETTINGS(getNumber, "timer_safezones") isEqualTo 1)) then { _markZone = createMarker["safeZone",_safe]; "safeZone" setMarkerColor "ColorGreen"; "safeZone" setMarkerType "Empty"; "safeZone" setMarkerShape "ELLIPSE"; "safeZone" setMarkerBrush "DIAGGRID"; "safeZone" setMarkerSize [_size,_size]; "safeZone" setMarkerDir 0; diag_log "SAFEZONE MARKER SET - TIME TO CHANGE: OFF"; } else { _markZone = createMarker["safeZone",_safe]; "safeZone" setMarkerColor "ColorGreen"; "safeZone" setMarkerType "Empty"; "safeZone" setMarkerShape "ELLIPSE"; "safeZone" setMarkerBrush "DIAGGRID"; "safeZone" setMarkerSize [_size,_size]; "safeZone" setMarkerDir 0; //FEEL FREE TO REMOVE THIS LINE BELOW. IT WAS FOR TESTING diag_log format["SAFEZONE MARKER SET FOR %1 minutes", [_timer] call life_fnc_numberText]; sleep (_timer * 60); deleteMarker "safeZone"; [] spawn TON_fnc_autosafeZone; }; Safe the file, and goto the file life_server/config.cpp Inside that file add the following underneath class PlayTime { class Missions { file = "\life_server\Functions\Missions"; class vDrugdealer {}; class autosafeZone {}; }; If you already have the above line in your file, just add class autosafeZone {}; Save the file, and open life_server/init.sqf Add the following line somewhere down the bottom // 2. Automatic SafeZones [] execVM "\life_server\Functions\Missions\fn_autosafeZone.sqf"; Save the file, and re-pbo your life_server folder. You are all done. Now you have automatic safezones. Adjust the options in your Config_Master file.
  10. Drunken Cheetah

    [Release] Dynamic Drug Dealer

    Hey all, been a while since I last posted a release thread. Anyway, the title of this pretty much sums up what this script does, but none the less.. Here is an explanation I played a server a while ago, which had a basic drug dealer that changed spots every restart.. I liked it, but not the fact that its in 1 spot for 6-8 hours etc. So i decided to whip up my own, which I think is better.. The drug dealer changes spots X amount of minutes.. So when you start your server, it initialises it starts after 10 minutes of the server being up & running. Once the drug dealer has spawned in, it stays in the one place for 45 minutes (its what I chose for the server I made this for) So, wheres the script? Lets get started. First of all... Go edit your map, and delete all the drug dealers on the map.(NPC, Label Txt, Marker etc) Second of all... Go into life_server/init.sqf and delete this entire line of code from that file around line 165 ish. [] spawn { for "_i" from 0 to 1 step 0 do { uiSleep (30 * 60); { _x setVariable ["sellers",[],true]; } forEach [Dealer_1,Dealer_2,Dealer_3]; }; }; Save the file. Don't close it for now.. Open your preferred text editor (Notepad++ recommended) and add this code into it; Save the file as fn_initDD.sqf /* Author:Drunken Cheetah aka Pril File: fn_initDD.sqf Description: Initializes drug dealer before changing spots begins. */ sleep (10*60); []spawn TON_fnc_vDrugdealer; Save that file in the folder life_server/Functions/Systems Go back to life_server/Functions folder and create a new folder called Missions. In that folder create a new .sqf file called fn_vDrugdealer.sqf and add the following to that; #include "\life_server\script_macros.hpp" /* File Name: fn_initDrugD.sqf Author: Drunken Cheetah aka Pril Desc: Dynamic drug dealer, moves position every X minutes. Version: 2.1 */ private ["_drug1","_positions","_drugdealer","_spawnPos"]; _drugdealer = "C_Man_casual_1_F"; //The positions below are random locations on Altis. private _positions = [[11729.6,18285.8,0],[8087.36,14434.5,0],[20644.8,5913.31,-7.62939e-006],[27034.4,23007.9,0.391939]]; private _spawnPos = _positions select floor random count _positions; diag_log "..:: DRUNKEN CHEETAHS DRUG DEALER SCRIPT - STARTING ::.."; [3, "<t size='1.2'><t color='#FF0000'>Drug Dealer</t></t><br/><br/>The drug dealer has found a new place to deal from!"] remoteExec ["life_fnc_broadcast",civilian]; [3, "<t size='1.2'><t color='#000000'>Drug Dealer</t></t><br/><br/>Attention Officers. <br/> We have received a tip from a local resident regarding a class A drug dealer. <br/><br/> His last known location has been marked on your map."] remoteExec ["life_fnc_broadcast",west]; sleep 0.3; _drug1 = createMarker ["drug_dealer",_spawnPos]; "drug_dealer" setMarkerColor "ColorEAST"; "drug_dealer" setMarkerType "mil_dot"; "drug_dealer" setMarkerText "Drug Dealer"; dd = createVehicle ["C_Man_casual_1_F",_spawnPos, [], 0, "CAN_COLLIDE"]; [dd,[localize "STR_MAR_Question_Dealer",life_fnc_questionDealer,"",0,false,false,"",'isNull objectParent player && player distance _target < 5 && playerSide isEqualTo west && !life_action_inUse']] remoteExec ["addAction",0,dd]; [dd,["Drug Dealer",life_fnc_virt_menu,"drugdealer",0,false,false,"",'playerSide isEqualTo civilian']] remoteExec ["addAction",0,dd]; dd allowDamage false; /* Stay in 1 place for 45 minutes, then move spots again Change the number below for how long the drug dealer will stay in 1 place for, before moving again. Its preferred to leave the *60 there as that represents minutes. E.g: 45*60 is 45 minutes. */ sleep (45*60); [3, "<t size='1.2'><t color='#FF0000'>Drug Dealer</t></t><br/><br/>The drug dealer is packing up and moving to a new location. When he arrives, his new location will be marked on map!"] remoteExec ["life_fnc_broadcast",civilian]; deleteMarker "drug_dealer"; deleteVehicle dd; //You don't really need to have this, it was more for testing. Same as above diag_log "..:: DRUNKEN CHEETAHS DRUG DEALER SCRIPT - FINISHED, WAITING... ::.."; sleep 2; []spawn TON_fnc_initdd; Now that's all the scripts we need to create. Make sure to save the file in the Missions folder we created earlier. Now go back to life_server/ folder and edit the config.cpp file Underneath class Playtime add the following under it; class Missions { file = "\life_server\Functions\Missions"; class vDrugdealer {}; }; Scroll up the file a little and find Class Systems Add the following underneath terrainsort class initDD {}; Save the file, and re-open the file life_server/init.sqf For the initialisation to work correctly, we need to make sure it starts with the server. So where you deleted the first section of code from add the following; //Custom Missions // 1. Dynamic Drug Dealer [] execVM "\life_server\Functions\Systems\fn_initDD.sqf"; Thats it! Now save all the files, and re-pbo your life_server folder. OPTIONAL FOR THOSE WHO DON'T USE VERSION 5 OF THE FRAMEWORK. For some people you may not have the correct broadcast line, to fix this.. Replace the following code in your \core\functions\network\fn_broadcast.sqf /* File: fn_broadcast.sqf Author: Bryan "Tonic" Boardwine Description: Broadcast system used in the life mission for multi-notification purposes. */ params [ ["_type", 0, [0, []]], ["_message", "", [""]], ["_localize", false, [false]], ["_arr", [], [[]]] ]; if (_message isEqualTo "") exitWith {}; if (_localize) exitWith { private _msg = switch (count _arr) do { case 0: {localize _message;}; case 1: {format [localize _message,_arr select 0];}; case 2: {format [localize _message,_arr select 0, _arr select 1];}; case 3: {format [localize _message,_arr select 0, _arr select 1, _arr select 2];}; case 4: {format [localize _message,_arr select 0, _arr select 1, _arr select 2, _arr select 3];}; }; if (_type isEqualType []) then { { switch (_x) do { case 0: {systemChat _msg;}; case 1: {hint _msg;}; case 2: {titleText[_msg,"PLAIN"];}; }; true } count _type; } else { switch (_type) do { case 0: {systemChat _msg;}; case 1: {hint _msg;}; case 2: {titleText[_msg,"PLAIN"];}; }; }; }; if (_type isEqualType []) then { { switch (_x) do { case 0: {systemChat _message}; case 1: {hint format ["%1", _message]}; case 2: {titleText[format ["%1",_message],"PLAIN"];}; case 3: {hint parseText format ["%1", _message]}; }; true } count _type; } else { switch (_type) do { case 0: {systemChat _message}; case 1: {hint format ["%1", _message]}; case 2: {titleText[format ["%1",_message],"PLAIN"];}; case 3: {hint parseText format ["%1", _message]}; }; }; In our drug dealer script, we use case 3. If your file already looks like this, please disregard the file edit. This is only for the broadcasting to the players when the dealer is moving, and when the dealer has found his place to deal from. I dont think I missed anything. Just make sure you re-pbo your life_server folder. IF YOU DON'T USE ALTIS AS YOUR MAP, PLEASE MAKE SURE TO CHANGE THE LOCATIONS.
  11. Drunken Cheetah

    [Tutorial] Purge [Server Event] 4.4 R3

    The way he has setup his "crash server" script, is the server needs to have 10+ players on it for it to act. Its more an anti theft script in all his assets etc. As for the death problem, I never experienced that, so I am unable to help you there.
  12. Drunken Cheetah

    [Tutorial] Purge [Server Event] 4.4 R3

    Just for the record, unless you paid PKE for them Metropolis V2 files, addons etc.. You are gonna have some maaaajor issues. Corrupt server files etc. I brought them from PKE himself, and he forgot to tell me all about his secrets embedded in the addons.
  13. Drunken Cheetah

    Problem with Airdrop

    Link me to the airdrop script you are using, and also post the entire script where you're trying to call the airdrop, Thanks
  14. Drunken Cheetah

    Problem with Airdrop

    life_fnc_MP is part of an older framework, not 5.0
  15. Drunken Cheetah

    Problem with Airdrop

    What version of the framework are you using? Judging from this; life_fnc_MP You are using an older version. Please advise.
×