GraveYard Posted September 25 Share Posted September 25 (edited) 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 September 25 by GraveYard Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.