Jump to content

Dyn Drug Fields


GraveYard

Recommended Posts

A simple script that will automatically move your drug fields around.

* Client Side *

1.) Inside Altis_Life.Altis\config folder create a file Config_DrugFields.hpp add inside:

/*
    Master settings for various features and functionality
*/
class CfgDynMarkers {
    class DynMarkers_Settings {
        fields_position_time = 10; // Time in minutes between field position changes
        weed_locations[] = {
            {11556.4,7048.07,0},
            {4219.25,20464.5,0},
            {15880.5,18843.8,0},
            {2735.36,10018.5,0.00145149}
        };
        heroin_locations[] = {
            {19879,17006.7,0},
            {8331.38,20787.2,0},
            {9659.47,8852.26,9.53674e-007}
        };
        cocaine_locations[] = {
            {13462.2,20630.8,0},
            {5188.2,20872.7,0},
            {25915.7,20678,0}
        };
    };
};

 

2.)Inside Altis_Life.Altis\config\Config_Master.hpp Add at the bottom: 

#include "Config_DrugFields.hpp"

3.) Now open your mission.sqm in the editor and remove all drug field markers

 

4.) Now open your Config_Gather.hpp 

Replace:

class heroin_unprocessed {
            amount = 3;
            zones[] = { "heroin_1" };
            item = "";
            zoneSize = 30;
        };

        class cocaine_unprocessed {
            amount = 3;
            zones[] = { "cocaine_1" };
            item = "";
            zoneSize = 30;
        };

        class cannabis {
            amount = 3;
            zones[] = { "weed_1" };
            item = "";
            zoneSize = 30;
        };

 

With:

class heroin_unprocessed {
            amount = 3;
            zones[] = { "heroin_field" };
            item = "";
            zoneSize = 30;
        };

        class cocaine_unprocessed {
            amount = 3;
            zones[] = { "cocaine_field" };
            item = "";
            zoneSize = 30;
        };

        class cannabis {
            amount = 3;
            zones[] = { "weed_field" };
            item = "";
            zoneSize = 30;
        };

* Server Side *

1.) Inside life_server\Functions\Systems make a new file fn_dynDrugFields.sqf add inside:

/*
    File: fn_dynDrugFields.sqf
    Author: Your Mom /(.)(.)\
*/

diag_log "--------------------------------------";
diag_log "Drug Fields Init: Initializing...";
diag_log "--------------------------------------";

// Lets Make them waite
sleep(1*60);


diag_log "--------------------------------------";
diag_log "Dyn Drug Fields: Initializing...";
diag_log "--------------------------------------";

private _drugLocations = [
    ["weed", "Weed Field", "ColorRed", "mil_dot"],
    ["heroin", "Heroin Field", "ColorRed", "mil_dot"],
    ["cocaine", "Cocaine Field", "ColorRed", "mil_dot"]
];

private _stayTime = getNumber(missionConfigFile >> "CfgDynMarkers" >> "DynMarkers_Settings" >> "fields_position_time");
if (_stayTime == 0) exitWith {
    diag_log "--------------------------------------";
    diag_log "Error: fields_position_time is set to 0!";
    diag_log "--------------------------------------";
};

private ["_createDrugFieldMarker", "_createDrugFieldAreaMarker"];

//Used for marking Field on the Map
_createDrugFieldMarker = {
    private ["_drugType", "_drugName", "_color", "_markerType", "_location", "_markerName", "_drugFieldMarker", "_locationArray"];

    _params = params [
        ["_drugType", "", [""]],
        ["_drugName", "", [""]],
        ["_color", "", [""]],
        ["_markerType", "", [""]]
    ];

    _locationArray = getArray(missionConfigFile >> "CfgDynMarkers" >> "DynMarkers_Settings" >> format ["%1_locations", _drugType]);
    if (count _locationArray == 0) exitWith {
        diag_log format ["Error: No %1 locations defined!", _drugType];
    };

    _location = selectRandom _locationArray;

    _markerName = format ["%1_field", _drugType];
    _drugFieldMarker = createMarker [_markerName, _location];
    _drugFieldMarker setMarkerColor _color;
    _drugFieldMarker setMarkerType _markerType;
    _drugFieldMarker setMarkerText _drugName;

    format ["%1_field", _drugType] setMarkerPos _location;

    diag_log format ["Server Created %1 Map Marker At: %2", _drugType, _location];
};

//Main Marker Used for Config_Gather.hpp
_createDrugFieldAreaMarker = {
    private ["_drugType", "_areaMarkerName", "_areaMarkerPos", "_drugFieldAreaMarker","_zoneMarkerName"];

    _params = params [
        ["_drugType", "", [""]]
    ];

    _areaMarkerName = format ["%1_field", _drugType];
    _zoneMarkerName = format ["%1_zone", _drugType];
    _areaMarkerPos = getMarkerPos _areaMarkerName;
    _drugFieldAreaMarker = createMarker [_zoneMarkerName, _areaMarkerPos];
    _drugFieldAreaMarker setMarkerColor "ColorWhite";
    _drugFieldAreaMarker setMarkerType "empty";
    _drugFieldAreaMarker setMarkerShape "ELLIPSE";
    _drugFieldAreaMarker setMarkerSize [30, 30];

    format ["%1_zone", _drugType] setMarkerPos _areaMarkerPos;

    if(_areaMarkerName in allMapMarkers)then{
        diag_log format ["Server Created %1 Gather Zone At: %2", _drugType, _areaMarkerPos];
    };
};

{
    _x call _createDrugFieldMarker;
    _x call _createDrugFieldAreaMarker;
} forEach _drugLocations;

sleep (_stayTime * 60);

{
    private _drugType = _x select 0;
    private _markerName = format ["%1_field", _drugType];
    private _areaMarkerName = format ["%1_zone", _drugType];
    deleteMarker _markerName;
    deleteMarker _areaMarkerName;

    diag_log format ["Server Removed %1 field marker and area marker", _drugType];
} forEach _drugLocations;

diag_log "---------------------------";
diag_log "Dyn Drug Fields: Removed...";
diag_log "---------------------------";

//Repsawn the drug fields
{
    _x call _createDrugFieldMarker;
    _x call _createDrugFieldAreaMarker;
} forEach _drugLocations;

diag_log "--------------------------------------";
diag_log "Dyn Drug Fields: Respawning...";
diag_log "--------------------------------------";

 

2.) Inside life_server\config.cpp add inside class Systems

class dynDrugFields {};

 

3.) Inside life_server\init.sqf at the end of file:

/* Spawn The Drug Fields */
[] spawn TON_fnc_dynDrugFields;

 

Edited by GraveYard
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.