Jump to content

Recommended Posts

13 hours ago, TacticalKaos said:

It works like a charm!.

Thank you for the help Vandeanson.

 

I've got kind of an off topic question maybe you could answer, if not no problem.

I'm using this to spawn a map marker once a camp activates the trigger area, but once it moves to the next location the previous marker stays..

I'd like for the previous marker to always be deleted when the camp moves locations and just keep cycling. if that makes sense.

 

CampLocations.Sqf

 

params[ "_trigger" ];

_marker = [ format["%1_area",vehicleVarName _trigger], _trigger ] call BIS_fnc_markerToTrigger;
_marker setMarkerBrush "SolidBorder";
_marker setMarkerAlpha 1;
_marker setMarkerColor "ColorOPFOR"

 

OnAct Trigger

null = [ thisTrigger ] execVM "CampLocations.sqf";

 

Cheers

Kaos

Happy to hear, very welcome;)

 

I would integrate this into the banditcamp.sqf script and just add a deleteVehicle _marker

 

Under item 5 of my script(refering to the CUP version of the script uploaded today) , you could add:

_marker = [ format["%1_area",vehicleVarName _trigger], _trigger ] call BIS_fnc_markerToTrigger; // change this so it refers to _mark and not to your trigger (this is the marker of the currently spawned camp)
_marker setMarkerBrush "SolidBorder";
_marker setMarkerAlpha 1;
_marker setMarkerColor "ColorOPFOR"

and then go to deletion part of my script (item 10)

and add:

deleteVehicle _marker;

The mapmarker should then cycle along with the script.

 

does this work?

br vandeanson

Share this post


Link to post
Share on other sites

HI, Vandeanson

Sorry for the late response been busy with work.

I finally have a few hours tonight to mess around with this, what exactly do I need to change in that line to get it to work?

and after that line is changed will I be able to completely remove the trigger locations around each camp I have in the mission?

Also, over the weekend I was running my mission with a buddy, killed all bandits at camp location, moved it to the loot crate and I could see the weapons in the crate but for some reason my buddy couldn't.. he was able to see all the other loot but he said no weapons were in there for him..Ideas? I'm running a locally hosted server currently but we'll be moving to a dedicated soon. 

Refering to this line.

_marker = [ format["%1_area",vehicleVarName _trigger], _trigger ] call BIS_fnc_markerToTrigger; // change this so it refers to _mark and not to your trigger (this is the marker of the currently spawned camp)

 

Thanks again for assistance

Kaos

Share this post


Link to post
Share on other sites

_marker = [ format["%1_area",vehicleVarName _marker], mrkrA_1,mrkrA_2,mrkrA_3 ];

 

Something like this.. or is that completely wrong?

I'm still pretty new to scripting.

 

Kaos

Share this post


Link to post
Share on other sites
5 hours ago, TacticalKaos said:

_marker = [ format["%1_area",vehicleVarName _mark], _mark ] call BIS_fnc_markerToTrigger;

@TacticalKaos i would try this (not tested). yes this replaces your former solution with triggers.

dont forget the deletevehicle _mark; in the end, but before the last "};".

with regards to your friend, did he see some items but no weapons?

 

its possible that he is missing the addons for those weapons (CUP).

 

cheers

Share this post


Link to post
Share on other sites

Hey @Vandeanson, really cool script!!!

I was having trouble making the vanilla version to work, so I tried the C.U.P. one and it worked in the same scenario without modifying anything.
I compared the 2 scripts and found

//3.2. STRUCTURES SUCH AS TENTS, HOUSES,...
_tents = ["Camp","Land_tent_west","CampEast"]];   <-- double ]]
_tents2 = ["Camp","Land_tent_west","CampEast"]];  <-- double ]]
_tents3 = ["Camp","Land_tent_west","CampEast"];
_tents4 = ["Camp","Land_tent_east","CampEast"];
_camonets = ["CamoNet_BLUFOR_big_F","Land_GarbageBarrel_01_F"];
_campfire = ["Campfire_burning_F","MetalBarrel_burning_F"];

After removing the intruders the vanilla script worked, but a minor thing

//4.4. EXAMPLE ARRAY OF WEAPONS YOU WANT TO SPAWN.
_WeaponArray = [

];    <-- Leaving this empty throws an error in the editor

After adding a few weapons classnames everything seemed golden.

Thanks for the scripts, man!!!

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

@gaverio Good Morning man, thank you for the feedback!

Great to hear that the script works for others=) I appreciate that you took the time to get back to me and pointing out the issue and your workaround!  I will update both issues as soon as I get a minute today or this weekend.

 

Cheers

Vandeanson

  • Thanks 1

Share this post


Link to post
Share on other sites
On 6/30/2018 at 7:49 PM, lv1234 said:

@Vandeanson

Is there a limit to how many markers we can place?

@lv1234

Hi Mate,

No limit, however, if you place new markers on the map make sure to add them to the markers array in the script.

Within the script you will find information on how to do that, but if you need additional help let me know.

 

In general I would make between 10-15 markers, this way it is harder for you to memorize all spawn positions when playing your own mission.

In the end, it should be exciting to discover such a camp right ;)

Also remember that all markers of the camp spawner should be within a 4000 radius from the first marker. (this function makes sure that the camp spawning is only happening when you are reasonably close to the camps, else it would just cost you FPS).

 

Let me know how the script works for you!

 

Cheers

Dave

Share this post


Link to post
Share on other sites
2 hours ago, Vandeanson said:

@lv1234

Hi Mate,

No limit, however, if you place new markers on the map make sure to add them to the markers array in the script.

Within the script you will find information on how to do that, but if you need additional help let me know.

 

In general I would make between 10-15 markers, this way it is harder for you to memorize all spawn positions when playing your own mission.

In the end, it should be exciting to discover such a camp right ;)

Also remember that all markers of the camp spawner should be within a 4000 radius from the first marker. (this function makes sure that the camp spawning is only happening when you are reasonably close to the camps, else it would just cost you FPS).

 

Let me know how the script works for you!

 

Cheers

Dave

I was able to put 20+ markers into my game and put it into your script. So far working well as expected.

  • Like 1

Share this post


Link to post
Share on other sites

Vandeanson, I have been trying to get this script to work for hours now and nothing, I do have Ravage activated as well as CBA, and CUP but nada. I also have the init.sqf and banditcamp.sqf with the code all in my missions directory, (the one for the Editor) what am I missing? also the markers in the editor are renamed via "variable names" of the empty markers, I have even done the exact things you showed in your video but nothing, I would Love to incorporate this into my mission as I am looking to add this into my next update. Thanks!

 

Also, Trying this script with ChernarusRedux map, Don't know if that could cause issues with the script?

Share this post


Link to post
Share on other sites

@MuRaZorWitchKING

 

Hola! 

We will get it to work;)

 

can you please paste your init.sqf code and the banditcamp.sqf code here for me to review and test?

 

I have not played arma lately and hence have not used the script for a while so maybe there is a problem with arma/ravage version changes.

 

The map should not be the problem, I alwas use the script on the CHR map too.

 

thanks!

Vandeanson

Share this post


Link to post
Share on other sites

@MuRaZorWitchKING

 

also, my instructions are not constent i just noticed. you will need all those cup addons:

 

CUP: Terrain - Core, Maps, Units, Weapons (can  be subscribed to in the Steam Workshop)

 

earlier in the script i do not list all of those properly:(

Share this post


Link to post
Share on other sites

@Vandeanson  (before looking into this I have Hints on the next lines down from the execVM code, don't know if that would cause an issue? They are spaced apart though.) here's the init.sqf: 

 

[] execVM "banditcamp.sqf";

 

And here's the banditcamp.sqf:

Spoiler

////////////////////////////////////////
//LOOPER////////
////////////////////////////////////////
while {true} do {// THIS LOOPS THE SCRIPT

  /////////////////////////////////////////////////////////////////////
  //1. ARRAY OF MARKERS THAT NEED TO BE PLACED ON THE MAP. ///////////
  //EACH MARKER STANDS FOR A POSSIBLE CAMP LOCATION//
  //THE MARKERS HERE AND THE MARKERS ON THE MAP INGAME NEED TO CORRESPOND//
  //E.G. IF YOU ADD A MARKER HERE, ADD IT IN THE EDITOR INGAME AS WELL AND VICE VERCA////////////
  /////////////////////////////////////////////////////////////////////
_mark = ["mrkrA_1","mrkrA_2","mrkrA_3","mrkrA_4","mrkrA_5"] call BIS_fnc_selectRandom; // THIS SELECTS ONE OF THE MARKER. GOING FORWARD, _mark WILL REFER TO THE MARKER SELECTED HERE

//1.1 SOME DETAILS THAT CAN BE CONFIGURED:
_activationRadius = 4000; // (REFERENCE FOR CODE UNDER ITEM 2) SETS THE RADIUS AROUND THE FIRST MARKER, WHERE THE SCRIPT IS ACTIVE. WHEN THE PLAYER IS OUTSIDE THIS RADIUS, THE SCRIPT WILL PAUSE TO SAVE FPS
_despawnSleepRnd = 3600; // (REFERENCE FOR CODE UNDER ITEM 8)SETS THE TIMER IN SECONDS FOR THE CAMPT TO DESPAWN, WILL SELECT A RANDOM NUMBER (E.G. 3600: IT WILL SELECT A RANDOM NUMBER BETWEEN 1 AND 3600)
_despawnSleepFix = 1000;// (REFERENCE FOR CODE UNDER ITEM 8)SETS A FIX TIMER IN SECONDS THAT WILL RUN AFTER THE RANDOM TIMER
_despanPauseProxy = 200;// (REFERENCE FOR CODE UNDER ITEM 9)SETS A RADIUS AROUND THE CAMP POSITION.WHEN THE PLAYER IS WITHIN THIS RADIUS, DESPAWNING IS PAUSED
//////////////////////
//2 PROXIMITY CHECK///
//- CHECKS IF THE PLAYER IS CLOSE ENOUGH TO THE MAIN MARKER.//
/////////////////////////////////////////////////////////
WaitUntil {player distance (GetMarkerPos "mrkrA_1") < _activationRadius}; ///THE MARKER, IN THIS CASE "mrkrA_1" MUST ALWAYS BE IN THE CENTER OF A 4000 METERS RADIOS AND ALL ADDITIONAL MARKERS MUST BE WITHIN THIS RADIUS. CHANGE THE NUMBER TO INCREASE OR DECREASE THE RADIUS

/////////////////////////////////////////////////////////////////////
//3. ARRAYS OF OBJECTS, STRUCTURES AND ITEMS THAT WILL SPAWN/////////
/////////////////////////////////////////////////////////////////////
//3.1. LOOTABLE OBJECTS AND WRECKS
_lootableObjectArray = ["Land_Sack_F","Land_BarrelTrash_F","Land_Sacks_goods_F"];
_objectsArray = ["Land_Sack_F","Land_BarrelTrash_F","Land_Sacks_goods_F","Land_CratesWooden_F","Land_Cages_F","Land_GarbagePallet_F","Land_GarbageBarrel_01_F","Land_Pallets_F","Land_Garbage_square5_F","Land_CratesShabby_F","Land_CanisterPlastic_F","Land_Garbage_line_F","Land_WoodenBox_F","Land_Sacks_heap_F","Land_PaperBox_closed_F","Land_GarbageBags_F"];
_objectsArray1 = ["TargetP_Zom_F","Land_Sack_F","Land_BarrelTrash_F","Land_Sacks_goods_F","Land_CratesWooden_F","Land_Cages_F","Land_GarbagePallet_F","Land_GarbageBarrel_01_F","Land_Pallets_F","Land_Garbage_square5_F","Land_CratesShabby_F","Land_CanisterPlastic_F","Land_Garbage_line_F","Land_WoodenBox_F","Land_Sacks_heap_F","Land_PaperBox_closed_F","Land_GarbageBags_F"];
_objectsArray2 = ["Land_WoodPile_large_F","Land_WoodPile_F","Land_Sack_F","Land_BarrelTrash_F","Land_Sacks_goods_F","Land_CratesWooden_F","Land_Cages_F","Land_GarbagePallet_F","Land_GarbageBarrel_01_F","Land_Pallets_F","Land_Garbage_square5_F","Land_CratesShabby_F","Land_CanisterPlastic_F","Land_Garbage_line_F","Land_WoodenBox_F","Land_Sacks_heap_F","Land_PaperBox_closed_F","Land_GarbageBags_F"];
_objectsArray3 = ["Land_TentA_F","Land_TentDome_F","Land_Sack_F","Land_BarrelTrash_F","Land_Sacks_goods_F","Land_CratesWooden_F","Land_Cages_F","Land_GarbagePallet_F","Land_GarbageBarrel_01_F","Land_Pallets_F","Land_Garbage_square5_F","Land_CratesShabby_F","Land_CanisterPlastic_F","Land_Garbage_line_F","Land_WoodenBox_F","Land_Sacks_heap_F","Land_PaperBox_closed_F","Land_GarbageBags_F"];
_objectsArray4 = ["CamoNet_OPFOR_open_F","CamoNet_INDP_open_F","CamoNet_BLUFOR_open_F","CamoNet_OPFOR_open_F","CamoNet_INDP_open_F","CamoNet_BLUFOR_open_F","CamoNet_OPFOR_open_F","CamoNet_INDP_open_F","CamoNet_BLUFOR_open_F","Land_Sack_F","Land_BarrelTrash_F","Land_Sacks_goods_F","Land_CratesWooden_F","Land_Cages_F","Land_GarbagePallet_F","Land_GarbageBarrel_01_F","Land_Pallets_F","Land_Garbage_square5_F","Land_CratesShabby_F","Land_CanisterPlastic_F","Land_Garbage_line_F","Land_WoodenBox_F","Land_Sacks_heap_F","Land_PaperBox_closed_F"];
_wreckArray = ["Mi8Wreck","BlackhawkWreck","Land_Wreck_Heli_Attack_01_F","Land_ScrapHeap_1_F","Land_ScrapHeap_2_F","Land_Scrap_MRAP_01_F","Land_WoodenCart_F","Land_Wreck_Car2_F","Land_Wreck_Truck_dropside_F","Land_Wreck_Ural_F","Land_Wreck_Heli_Attack_02_F","Land_Wreck_HMMWV_F"];

//3.2. STRUCTURES SUCH AS TENTS, HOUSES,...
_tents = ["Camp","Land_tent_west","CampEast"]];
_tents2 = ["Camp","Land_tent_west","CampEast"]];
_tents3 = ["Camp","Land_tent_west","CampEast"];
_tents4 = ["Camp","Land_tent_east","CampEast"];
_camonets = ["CamoNet_BLUFOR_big_F","Land_GarbageBarrel_01_F"];
_campfire = ["Campfire_burning_F","MetalBarrel_burning_F"];

/////////////////////////////////////////////////////////////////////
//4. ARRAYS OF ITEMS THAT WILL SPAWN/////////
/////////////////////////////////////////////////////////////////////
//TIP: THE MORE OFTEN AN ITEM APPEARS IN AN ARRAY, THE MORE LIKELY IT IS THAT THIS ITEM WILL SPAWN. HENCE, YOU COULD ENTER COMMON ITEMS 4 TIMES AND RARE ITEMS ONLY ONCE
//4.1 EXAMPLE, PUT IN SOMETHING THAT YOU WANT TO SPAWN MULTIPLE TIME AND WHERE YOU WANT TO BE SURE ONLY THIS ITEM DROPS
_itemArray = ["rvg_money"];
//4.2. EXAMPLE, PUT IN COMMON ITEMS THAT YOU WANT TO SPAWN
_itemArray2 =[
"rvg_canOpener",
"rvg_plasticBottlePurified",
"rvg_spirit",
"rvg_franta",
"rvg_milk",
"rvg_rice",
"rvg_hose",
"rvg_guttingKnife",
"rvg_tire",
"rvg_purificationTablets",
"rvg_flare",
"rvg_matches",
"rvg_Geiger",
"rvg_toolkit",
"rvg_antiRad",
"muzzle_snds_B",
"muzzle_snds_L",
"acc_flashlight_pistol",
"optic_DMS"
];

//4.3. EXAMPLE, PUT IN COMMON ITEMS THAT YOU WANT TO SPAWN
_itemArray3 =[
"muzzle_snds_B",
"muzzle_snds_L",
"acc_flashlight_pistol",
"optic_DMS"
];

//4.4. EXAMPLE ARRAY OF WEAPONS YOU WANT TO SPAWN.
_WeaponArray = [

];

// EXAMPLE: HERE I SPAWN MEDICAL ITEMS OR FOOD
_mediclootArray =[
"FirstAidKit",
"rvg_spirit",
"rvg_franta",
"rvg_beans",
"rvg_bacon",
"rvg_milk",
"rvg_rice",
"rvg_hose",
"rvg_purificationTablets"];

// EXPLOSIVES YOU WANT TO SPAWN, EXPLOSIVES AND MAGAZINES CAN NOT BE SPAWNED TOGETHER WITH WEAPONS OR ITEMS FYI
_explosivesArray = [
"HandGrenade",
"SmokeShellBlue",
"SmokeShellGreen",
"SmokeShellOrange",
"SmokeShellPurple",
"SmokeShellRed",
"SmokeShell",
"SmokeShellYellow",
"DemoCharge_Remote_Mag",
"ClaymoreDirectionalMine_Remote_Mag",
"SatchelCharge_Remote_Mag",
"APERSTripMine_Wire_Mag",
"APERSMine_Range_Mag"
];

/////////////////////////////////////////////////////////////////////
//5. SPAWNER:
//THIS PART;
//-  SELECTS RANDOM ITEMS, OBJECTS, STRUCTURES FROM POINT 4. ABOVE
//-  CREATES A SPAWNPOINT RELATIVE TO THE MARKER RANDOMLY SELECTED UNDER POINT 3. ABOVE
//-  SPAWNS STRUCTURES, OBJECTS AND THE LOOTBOX
//-  DISABLE DAMAGE OF SPAWNED STRUCTURES, OBJECTS OR LOOTBOX
//-  SET THE DIRECTION THE OBJECT OR STRUCTURE IS HEADING/////////
/////////////////////////////////////////////////////////////////////
//5.1 FIREPLACE, TENTS, CAMONETS SPAWNER
_fireplace = _campfire call BIS_fnc_selectRandom createVehicle getMarkerPos _mark; //SELECTS SPAWN POSITION RELATIVE TO _MARK AND SPAWNS A STRUCTURES FROM THE RESPECTIVE ARRAY
_fireplace allowDamage false; // DISABLE DAMANGE FOR THE OBJECT
_fireplace setDir 180; // SET DIRECTION
_tent = _tents call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 18*sin(0), (getMarkerPos _mark select 1) + 18*cos(0), 0];
_tent allowDamage false;
_tent setDir 190;
_camonet = _camonets call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 18*sin(0), (getMarkerPos _mark select 1) + 18*cos(0), 0];
_camonet allowDamage false;
_camonet setDir 10;
_tent2 = _tents2 call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 15*sin(90), (getMarkerPos _mark select 1) + 15*cos(90), 0];
_tent2 allowDamage false;
_tent2 setDir 85;
_camonet2 = _camonets call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 15*sin(90), (getMarkerPos _mark select 1) + 15*cos(90), 0];
_camonet2 allowDamage false;
_camonet2 setDir 85;
_tent3 = _tents3 call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 15*sin(180), (getMarkerPos _mark select 1) + 15*cos(180), 0];
_tent3 allowDamage false;
_tent3 setDir 250;
_tent4 = _tents4 call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) +15*sin(270), (getMarkerPos _mark select 1) +10*cos(270), 0];
_tent4 allowDamage false;
_tent4 setDir 320;

//5.2 Ambient or lootable props (if ravage mod is active) selection and spawn point relative to _mark
_object1 = _objectsArray call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 10*sin(0), (getMarkerPos _mark select 1) + 10*cos(0), 0]; //SELECTS SPAWN POSITION RELATIVE TO _MARK
_object1 allowDamage false; // DISABLE DAMANGE FOR THE OBJECT
_object1 setDir (random 359); // SET DIRECTION
_object2 = _objectsArray1 call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 10*sin(75), (getMarkerPos _mark select 1) + 10*cos(75), 0];
_object2 allowDamage false;
_object2 setDir (60);
_object3 = _wreckArray call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 30*sin(130), (getMarkerPos _mark select 1) + 30*cos(130), 0];
_object3 allowDamage false;
_object3 setDir (random 359);
_object4 = _objectsArray2 call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 11*sin(135), (getMarkerPos _mark select 1) + 11*cos(135), 0];
_object4 allowDamage false;
_object4 setDir (random 359);
_object5 = _objectsArray3 call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 8*sin(225), (getMarkerPos _mark select 1) + 8*cos(225), 0];
_object5 allowDamage false;
_object5 setDir (random 359);
_object6 = _objectsArray3 call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 16*sin(225), (getMarkerPos _mark select 1) + 16*cos(225), 0];
_object6 allowDamage false;
_object6 setDir (random 359);
_object7 = _objectsArray4 call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 13*sin(225), (getMarkerPos _mark select 1) + 13*cos(225), 0];
_object7 allowDamage false;
_object7 setDir (180);

//5.3 LOOTSPAWNS
//5.3.1 LOOTBOX THAT YOU WANT TO LOOT FOR FANCY STUFF! NOTES BELOW:
        _item = _itemArray select (floor (random (count _itemArray))); // SELECTS AN ITEM OUT OF THE RESPECTIVE ARRAY FOR THE FIRST LOOT POSITION IN ITEMBOX
    _item2 = _itemArray2 select (floor (random (count _itemArray2)));// SELECTS AN ITEM OUT OF THE RESPECTIVE ARRAY FOR NEXT LOOT POSITION IN ITEMBOX
    _item3 = _itemArray2 select (floor (random (count _itemArray2)));// SAME FOR NEXT LOOT POSITION
    _item4 = _itemArray2 select (floor (random (count _itemArray2)));// SAME FOR NEXT LOOT POSITION
    _item5 = _itemArray3 select (floor (random (count _itemArray3)));// SAME FOR NEXT LOOT POSITION
    _explo = _explosivesArray select (floor (random (count _explosivesArray))); //SAME FOR NEXT LOOT POSITION BUT SELECTS AN EXPLOSIVE FROM EXLOSIVES ARRAY
    _weapon = _weaponArray select (floor (random (count _weaponArray))); // SELECTS A RANDOM WEAPON FROM THE WEAPON ARRAY FOR THE FIRST WEAPON LOOT POSITION OF THE LOOTBOX
    _weapon1 = _weaponArray select (floor (random (count _weaponArray)));// SELECTS A RANDOM WEAPON FROM THE WEAPON ARRAY FOR THE NEXT WEAPON LOOT POSITION OF THE LOOTBOX
        _itemBox = "Box_FIA_Wps_F" createVehicle [0,0,0]; // SPAWNS THE LOOT BOX
        _itemBox allowDamage false; // DISABLE DAMAGE FOR LOOTBOX
    _itemBox setDir (90); // ORIENTATION OF THE LOOTBOX
        clearMagazineCargoGlobal _itembox; // CLEAR CONTENT OF LOOTBOX
        clearWeaponCargoGlobal _itembox;
        clearItemCargoGlobal _itembox;
        clearBackpackCargoGlobal _itembox;
        _itemBox setPos [(getMarkerPos _mark select 0) +8*sin(270), (getMarkerPos _mark select 1) +8*cos(270), 0]; // SETS THE POSITION OF THE LOOTBOX RELATIVE TO THE RANDOM SELECTED MARKER _MARK
        _itemBox additemCargoGlobal [_item, 50 +random 50]; // SPAWNS THE ITEMS THAT WHERE RANDOMLY SELECTED FOR THIS LOOT POSITION. IN THIS EXAMPLE THE ARRAY ONLY CONTAINS RVG_MONEY, HENCE IT WILL SPAWN 50 X RVG_MONEY + A RANDOM AMOUNT OF 0-50 IN ADDITION
    _itemBox additemCargoGlobal [_item2, 1 +random 1];// SPAWNS THE ITEMS THAT WHERE RANDOMLY SELECTED FOR THIS LOOT POSITION. 1 FOR SURE AND WITH A CHANCE TO SPAWN 1 ADDITIONAL ITEM
    _itemBox additemCargoGlobal [_item5, 1 +random 1];// SPAWNS THE ITEMS THAT WHERE RANDOMLY SELECTED FOR THIS LOOT POSITION.1 FOR SURE AND WITH A CHANCE TO SPAWN 1 ADDITIONAL ITEM
    _itemBox addMagazineCargoGlobal [_explo, 1 +random 2];// SPAWNS THE EXPLOSIVES THAT WHERE RANDOMLY SELECTED FOR THIS LOOT POSITION. NOTE THAT MAGAZINES AND EXPLOSIVES NEED TO BE SPAWNED USING "ADDMAGAZINECARGOGLOBAL" 1 FOR SURE AND WITH A CHANCE TO SPAWN 2 ADDITIONAL ITEM
    _itemBox additemCargoGlobal [_item3, 1 +random 1];// SPAWNS THE ITEMS THAT WHERE RANDOMLY SELECTED FOR THIS LOOT POSITION.1 FOR SURE AND WITH A CHANCE TO SPAWN 1 ADDITIONAL ITEM
    _itemBox additemCargoGlobal [_item4, 1 +random 1];// SPAWNS THE ITEMS THAT WHERE RANDOMLY SELECTED FOR THIS LOOT POSITION.1 FOR SURE AND WITH A CHANCE TO SPAWN 1 ADDITIONAL ITEM
    _itemBox addWeaponCargo [_weapon,1 +random 1];// SPAWNS THE WEAPON THAT WHERE RANDOMLY SELECTED FOR THIS LOOT POSITION.1 FOR SURE AND WITH A CHANCE TO SPAWN 1 ADDITIONAL ITEM
    _magazines = getArray (configFile >> "CfgWeapons" >> _weapon >> "magazines"); // SELECTS MATCHING MAGAZINES FOR THE WEAPON SPAWNED
    _mag = _magazines select (floor (random (count _magazines)));// SELECTS MATCHING MAGAZINES FOR THE WEAPON SPAWNED
    _itemBox addMagazineCargoGlobal [_mag, 2 +random 4];// SPAWNS 2 MATCHING MAGAZINES PLUS RANDOM AMOUNT OF 4 IN ADDITION
    _itemBox addWeaponCargo [_weapon1,1 +random 1]; // SAME AS ABOVE
    _magazines = getArray (configFile >> "CfgWeapons" >> _weapon1 >> "magazines");// SAME AS ABOVE
    _mag = _magazines select (floor (random (count _magazines)));// SAME AS ABOVE
    _itemBox addMagazineCargoGlobal [_mag, 2 +random 4];// SAME AS ABOVE

//////////////////////////////////////////////////////////
//6. LOOT SPAWNERS FOR STRUCTURES SUCH AS HOUSES OR TENTS
/////////////////////////////////////////////////////////
//6.1 FILLS HOUSES, WORKS WELL ON ALL VANILLA AND DLC STRUCTURES, NOT SO WELL WITH TENTS
// THIS PLACES LOOTABLE OBJECTS FOR RAVAGE
_itemBoxArray1 = [];
_houseArray1 = getMarkerPos _mark nearObjects ["camp",50]; //SEARCHES FOR HOUSES NEAR THE MAIN MARKER OF THE CAMP (50 METERS RADIUS)
{
    _buildingPositions1 = [_x] call BIS_fnc_buildingPositions; // FINDS THE BUILDING POSITIONS OF THE HOUSES IN THE AREA
    {
        if (30 > random 100) then { //30% OF THE BUILDING POSITIONS ARE FILLED - NOTE: NOT 100% SURE IF IT WORKS THIS WAY, BUT HERE YOU CAN LOWER THE AMOUNT OF ITEMS/OBJECTS THAT SPAWN IN HOUSES
        _lootobject = _lootableObjectArray select (floor (random (count _lootableObjectArray))); //SELECTS RANDOM OBJECTS FROM ARRAY
        _itemBox1 = _lootobject createVehicle [0,0,0]; // CREATE THE SELECTED OBJECT
        _itemBox1 allowDamage false; //DISABLES DAMAGE
        _itemBox1 setPos _x; // NOT 100% SURE BUT THIS MEMORIZES THE LOTO POSITIONS
        _itemBoxArray1 = _itemBoxArray1 + [_itemBox1]; //WHATEVER THIS DOES..
    };
    } forEach _buildingPositions1; // EXECUTES THE SPAWN CODE FOR EACH BUILDINGPOSITION IN A HOUSE
} forEach _houseArray1; // EXECUTES THE SPAWN CODE FOR EACH HOUSE IN THE AREA

//6.2. THIS SPAWNS ACTUAL ITEMS ON THE GROUND (VIA "GROUNDEWWAPONHOLDER"), IN THIS CASE, MEDICAL AND SURVIVAL (RAVAGE) ITEMS.
_itemBoxArray2 = [];
_houseArray2 = getMarkerPos _mark nearObjects ["house",50];
{
    _buildingPositions2 = [_x] call BIS_fnc_buildingPositions;
    {
        if (20 > random 100) then {
        _medicloot2 = _mediclootArray select (floor (random (count _mediclootArray)));
        _itemBox2 = "GroundWeaponHolder" createVehicle [0,0,0];
        _itemBox2 allowDamage false;
        _itemBox2 setPos _x;
    _itemBox2 addItemCargoGlobal [_medicloot2, 1 +random 0]; // THIS WILL SELECT RANDOM LOOT FROM THE RESPECTIVE ARRAY AND SPAWNS 1 + 0 RANDOM ITEMS. HERE, 0 COULD BE UPDATED TO 6 FOR A CHANCE TO SPAWN 6 ADDITIONA ITEMS, AS AN EXAMPLE
        _itemBoxArray2 = _itemBoxArray2 + [_itemBox2];
    };
    } forEach _buildingPositions2;
} forEach _houseArray2;

//6.3 SAME AS ABOVE BUT "CAMP" WILL CAPTURE SOME OF THE CUP AND VANILLA TENTS YOU MIGHT WANNA SPAWN, NOT ALL HOWEVER.
_itemBoxArray3 = [];
_houseArray3 = getMarkerPos _mark nearObjects ["camp",50];
{
    _buildingPositions3 = [_x] call BIS_fnc_buildingPositions;
    {
        if (20 > random 100) then {
        _medicloot3 = _mediclootArray select (floor (random (count _mediclootArray)));
        _itemBox3 = "GroundWeaponHolder" createVehicle [0,0,0];
        _itemBox3 allowDamage false;
        _itemBox3 setPos _x;
    _itemBox3 addItemCargoGlobal [_medicloot3, 1];
        _itemBoxArray3 = _itemBoxArray3 + [_itemBox3];
    };
    } forEach _buildingPositions3;
} forEach _houseArray3;

//////////////////
//7. AI SPAWNER//
////////////////
//7.1 FIRST GROUP
_bandits = createGroup east; // CREATES A GROUP CALLED _bandits
"O_G_Survivor_F" createUnit [getMarkerPos _mark, _bandits, "[this] call rvg_fnc_equip;", 1, "corporal"]; // SPAWNS A SURVIVOR WITHOUT GEAR ON THE MAIN MARKER INTO THE _bandits GROUP WITH RAVAGE GEAR, MAXIMUM SKILLS AND WITH RANK CORPORAL. BELOW REPEATS BUT WITH LOWER RANKS.
"O_G_Survivor_F" createUnit [getMarkerPos _mark, _bandits, "[this] call rvg_fnc_equip;", 1, "private"]; // REPLACE "[this] call rvg_fnc_equip; [_unit] call HG_fnc_aiUnitSetup;" WITH "" IF YOU DO NOT WANT THIS CODE TO BE INITIALISED FOR EACH UNIT.
if (40 > random 100) then { // % CHANCE THAT THIS AI IS SPAWNED
"O_G_Survivor_F" createUnit [getMarkerPos _mark, _bandits, "[this] call rvg_fnc_equip;", 1, "private"];};
if (30 > random 100) then { // % CHANCE THAT THIS AI IS SPAWNED
"O_G_Survivor_F" createUnit [getMarkerPos _mark, _bandits, "[this] call rvg_fnc_equip;", 1, "private"];};
if (20 > random 100) then { // % CHANCE THAT THIS AI IS SPAWNED
"O_G_Survivor_F" createUnit [getMarkerPos _mark, _bandits, "[this] call rvg_fnc_equip;", 1, "private"];};

//7.2 SECOND GROUP
// SAME AS ABOVE BUT A DIFFERENT GROUP, THIS WAY NOT ALL AI MOVE THE SAME WAYPOINTS
_bandits2 = createGroup east;
"O_G_Survivor_F" createUnit [getMarkerPos _mark, _bandits2, "[this] call rvg_fnc_equip;", 1, "corporal"];
"O_G_Survivor_F" createUnit [getMarkerPos _mark, _bandits2, "[this] call rvg_fnc_equip;", 1, "private"];
if (40 > random 100) then {
"O_G_Survivor_F" createUnit [getMarkerPos _mark, _bandits2, "[this] call rvg_fnc_equip;", 1, "private"];};
if (30 > random 100) then {
"O_G_Survivor_F" createUnit [getMarkerPos _mark, _bandits2, "[this] call rvg_fnc_equip;", 1, "private"];};
if (20 > random 100) then {
"O_G_Survivor_F" createUnit [getMarkerPos _mark, _bandits2, "[this] call rvg_fnc_equip;", 1, "private"];};

//7.3 WAYPOINTS - THIS IS VERY BASIC AND JUST MAKES THE BANDITS MOVE AROUND CLOSE TO THE CAMP
// THE BELOW SETS A "SEARCH AND DESTROY" WAYPOINT THAT MAKES THE AI WANDER THE CAMP AND LOOK FOR ENEMIES
_wp1 = _bandits addWaypoint [getmarkerpos _mark, 0];
    _wp1 setWaypointType "SAD"; //SETS THE WAYPOINT AS SEARCH AND DESTROY
    _wp1 setWaypointSpeed "Limited"; //SETS THE SPEED
    _wp1 setWaypointBehaviour "AWARE"; // SETS THE COMBAT STANCE
    _wp1 setWaypointFormation "COLUMN"; // SETS THE FORMATION

_wp1 = _bandits2 addWaypoint [getmarkerpos _mark, 0];
    _wp1 setWaypointType "SAD";
    _wp1 setWaypointSpeed "Limited";
    _wp1 setWaypointBehaviour "COMBAT";
    _wp1 setWaypointFormation "LINE";

////////////////////////////////////////
//8. TIMER IN SECONDS UNTIL THE CAMP DESPAWNS AND RESPAWNS AGAIN
///////////////////////////////////////////////////////
Sleep (random _despawnSleepRnd);Sleep _despawnSleepFix; // (CHANGE FIGURES UNDER ITEM 1.1)FIRST NUMBER STES A RANDOM AMOUNT OF SECONDS BETWEEN 1-3600 AND THE SECOND NUMBER SETS A DEFINITE TIMER OF 1000 SECODS. SO THE CAMP WILL RESPAWN EARLIEST AFTER 1000 SECONDS AND AT MAXIMUM AFTER 4600 SECONDS OR IF POINT 9. BELOW IS THE CASE.

////////////////////
//9. PAUSE DESPAWN, IF PLAYER IS TOO CLOSE TO THE CAMP
//////////////////////
WaitUntil {player distance (GetMarkerPos _mark) > _despanPauseProxy}; // (CHANGE FIGURES UNDER ITEM 1.1)IF THE PLAYER IS WITHIN xyz METERS CLOSE TO THE MAIN MARKER, THE SCRIPT WILL PAUSE AND WILL NOT DESPAWN. THE SCRIPT WILL PROCEED ONCE THE PLAYER IS FURTHER AWAY THAN 200 METERS.

///////////////////////////
//10. DESPAWN/DELETION/////
///////////////////////////
//- ANY SPAWNED OBJECT RECEIVES A REFERENCE (EG. _FIREPLACE) AND NEEDS TO BE DELETED AS SHOWN BELOW
deleteVehicle _fireplace;
deleteVehicle _itembox;
deleteVehicle _tent;
deleteVehicle _tent2;
deleteVehicle _tent3;
deleteVehicle _tent4;
deleteVehicle _Object1;
deleteVehicle _camonet;
deleteVehicle _camonet2;
deleteVehicle _Object2;
deleteVehicle _Object3;
deleteVehicle _Object4;
deleteVehicle _Object5;
deleteVehicle _Object6;
deleteVehicle _Object7;

//10.1 DELETES ITEMS THAT WHERE SPAWNED IN MULTIPLE BUILDING POSITIONS
{    deleteVehicle _x; } forEach _itemBoxArray1;
{    deleteVehicle _x; } forEach _itemBoxArray2;
{    deleteVehicle _x; } forEach _itemBoxArray3;

//10.1 DELEETES ALIVE AI FROM GROUP _bandits (NEEDS TO BE SET UP FOR ALL GROUPS OF AI)
if(isNil("_bandits"))exitWith{};
{
    if(vehicle _x != _x)then{deleteVehicle (vehicle _x);};
    deleteVehicle _x;
}forEach units _bandits; //EXECUTES DELETION FOR ALL UNITS OF SAID GROUP

//10.1 DELEETES ALIVE AI FROM GROUP _bandits
if(isNil("_bandits2"))exitWith{};
{
    if(vehicle _x != _x)then{deleteVehicle (vehicle _x);};
    deleteVehicle _x;
}forEach units _bandits2;

//10.2 DELETES DEAD AI
{ deleteVehicle _x; } forEach allDead;
//10.3 DELETS OBJECTS THAT MAY HAVE BEEN SPAWNED INTO SPAWNED STRUCTURES VIA RAVAGE LOOT MODULE
{ deleteVehicle _x; } forEach nearestObjects [getMarkerPos _mark,["WeaponHolder","GroundWeaponHolder"],550];
}; 

 

  • Like 1

Share this post


Link to post
Share on other sites
9 hours ago, Vandeanson said:

@MuRaZorWitchKING

 

also, my instructions are not constent i just noticed. you will need all those cup addons:

 

CUP: Terrain - Core, Maps, Units, Weapons (can  be subscribed to in the Steam Workshop)

 

earlier in the script i do not list all of those properly:(

@Vandeanson I'll look into this as I only have a few CUP addons, We'll see!  [update] I don't think that was the issue, I added all CUP addons CORE, Maps, etc... nada... Still no spawning, Thanks for the help btw!  

  • Like 1

Share this post


Link to post
Share on other sites
52 minutes ago, MuRaZorWitchKING said:

here's the init.sqf: 

 

Hello there MuRaZorWitchKING !

 

Welcome to the BIS forums !

 

Just a TIP , use a spoiler and write your code , using the buttons above .

example:

Spoiler

 


code<>

 

Thanks !

Share this post


Link to post
Share on other sites

alright, I think that @gaverio has alread a (or part of the) solution in his post here:

 

General question, have you changed anything in the script or are you just trying to get the basic version to work?

I will keep checking but let me know if it works with correcting the code errors pointed out by gaverio.

 

cheers

vandeanson

 

Share this post


Link to post
Share on other sites
9 minutes ago, Vandeanson said:

alright, I think that @gaverio has alread a (or part of the) solution in his post here:

 

General question, have you changed anything in the script or are you just trying to get the basic version to work?

I will keep checking but let me know if it works with correcting the code errors pointed out by gaverio.

 

cheers

vandeanson

 

@Vandeanson So do I delete the copied line? And yeah, I'm trying to get the Vanilla version to work. And no, I have not touched the script at all, all is copied and thrown in my banditcamp.sqf 

 

 

Share this post


Link to post
Share on other sites
5 minutes ago, MuRaZorWitchKING said:

@Vandeanson So do I delete the copied line? And yeah, I'm trying to get the Vanilla version to work. 

 

 

I have updated the main code in my first post, can you please try to replace your banditcamp.sqf code with the following code in the below spoiler?:

(This is the CUP code that seemed to work. The Vanilla code, using only vanilla arma, CBA and Ravage assets, had mistake in the code. (it seems that you have used this one actually).)

 

Spoiler

////////////////////////////////////////
//LOOPER////////
////////////////////////////////////////
while {true} do {// THIS LOOPS THE SCRIPT

  /////////////////////////////////////////////////////////////////////
  //1. ARRAY OF MARKERS THAT NEED TO BE PLACED ON THE MAP. ///////////
  //EACH MARKER STANDS FOR A POSSIBLE CAMP LOCATION//
  //THE MARKERS HERE AND THE MARKERS ON THE MAP INGAME NEED TO CORRESPOND//
  //E.G. IF YOU ADD A MARKER HERE, ADD IT IN THE EDITOR INGAME AS WELL AND VICE VERCA////////////
  /////////////////////////////////////////////////////////////////////
_mark = ["mrkrA_1","mrkrA_2","mrkrA_3","mrkrA_4","mrkrA_5"] call BIS_fnc_selectRandom; // THIS SELECTS ONE OF THE MARKER. GOING FORWARD, _mark WILL REFER TO THE MARKER SELECTED HERE

//1.1 SOME DETAILS THAT CAN BE CONFIGURED:
_activationRadius = 4000; // (REFERENCE FOR CODE UNDER ITEM 2) SETS THE RADIUS AROUND THE FIRST MARKER, WHERE THE SCRIPT IS ACTIVE. WHEN THE PLAYER IS OUTSIDE THIS RADIUS, THE SCRIPT WILL PAUSE TO SAVE FPS
_despawnSleepRnd = 3600; // (REFERENCE FOR CODE UNDER ITEM 8)SETS THE TIMER IN SECONDS FOR THE CAMPT TO DESPAWN, WILL SELECT A RANDOM NUMBER (E.G. 3600: IT WILL SELECT A RANDOM NUMBER BETWEEN 1 AND 3600)
_despawnSleepFix = 1000;// (REFERENCE FOR CODE UNDER ITEM 8)SETS A FIX TIMER IN SECONDS THAT WILL RUN AFTER THE RANDOM TIMER
_despanPauseProxy = 200;// (REFERENCE FOR CODE UNDER ITEM 9)SETS A RADIUS AROUND THE CAMP POSITION.WHEN THE PLAYER IS WITHIN THIS RADIUS, DESPAWNING IS PAUSED
//////////////////////
//2 PROXIMITY CHECK///
//- CHECKS IF THE PLAYER IS CLOSE ENOUGH TO THE MAIN MARKER.//
/////////////////////////////////////////////////////////
WaitUntil {player distance (GetMarkerPos "mrkrA_1") < _activationRadius}; ///THE MARKER, IN THIS CASE "mrkrA_1" MUST ALWAYS BE IN THE CENTER OF A 4000 METERS RADIOS AND ALL ADDITIONAL MARKERS MUST BE WITHIN THIS RADIUS. CHANGE THE NUMBER TO INCREASE OR DECREASE THE RADIUS

/////////////////////////////////////////////////////////////////////
//3. ARRAYS OF OBJECTS, STRUCTURES AND ITEMS THAT WILL SPAWN/////////
/////////////////////////////////////////////////////////////////////
//3.1. LOOTABLE OBJECTS AND WRECKS
_lootableObjectArray = ["Land_Sack_F","Land_BarrelTrash_F","Land_Sacks_goods_F"];
_objectsArray = ["Land_Sack_F","Land_BarrelTrash_F","Land_Sacks_goods_F","Land_CratesWooden_F","Land_Cages_F","Land_GarbagePallet_F","Land_GarbageBarrel_01_F","Land_Pallets_F","Land_Garbage_square5_F","Land_CratesShabby_F","Land_CanisterPlastic_F","Land_Garbage_line_F","Land_WoodenBox_F","Land_Sacks_heap_F","Land_PaperBox_closed_F","Land_GarbageBags_F"];
_objectsArray1 = ["TargetP_Zom_F","Land_Sack_F","Land_BarrelTrash_F","Land_Sacks_goods_F","Land_CratesWooden_F","Land_Cages_F","Land_GarbagePallet_F","Land_GarbageBarrel_01_F","Land_Pallets_F","Land_Garbage_square5_F","Land_CratesShabby_F","Land_CanisterPlastic_F","Land_Garbage_line_F","Land_WoodenBox_F","Land_Sacks_heap_F","Land_PaperBox_closed_F","Land_GarbageBags_F"];
_objectsArray2 = ["Land_WoodPile_large_F","Land_WoodPile_F","Land_Sack_F","Land_BarrelTrash_F","Land_Sacks_goods_F","Land_CratesWooden_F","Land_Cages_F","Land_GarbagePallet_F","Land_GarbageBarrel_01_F","Land_Pallets_F","Land_Garbage_square5_F","Land_CratesShabby_F","Land_CanisterPlastic_F","Land_Garbage_line_F","Land_WoodenBox_F","Land_Sacks_heap_F","Land_PaperBox_closed_F","Land_GarbageBags_F"];
_objectsArray3 = ["Land_TentA_F","Land_TentDome_F","Land_Sack_F","Land_BarrelTrash_F","Land_Sacks_goods_F","Land_CratesWooden_F","Land_Cages_F","Land_GarbagePallet_F","Land_GarbageBarrel_01_F","Land_Pallets_F","Land_Garbage_square5_F","Land_CratesShabby_F","Land_CanisterPlastic_F","Land_Garbage_line_F","Land_WoodenBox_F","Land_Sacks_heap_F","Land_PaperBox_closed_F","Land_GarbageBags_F"];
_objectsArray4 = ["CamoNet_OPFOR_open_F","CamoNet_INDP_open_F","CamoNet_BLUFOR_open_F","CamoNet_OPFOR_open_F","CamoNet_INDP_open_F","CamoNet_BLUFOR_open_F","CamoNet_OPFOR_open_F","CamoNet_INDP_open_F","CamoNet_BLUFOR_open_F","Land_Sack_F","Land_BarrelTrash_F","Land_Sacks_goods_F","Land_CratesWooden_F","Land_Cages_F","Land_GarbagePallet_F","Land_GarbageBarrel_01_F","Land_Pallets_F","Land_Garbage_square5_F","Land_CratesShabby_F","Land_CanisterPlastic_F","Land_Garbage_line_F","Land_WoodenBox_F","Land_Sacks_heap_F","Land_PaperBox_closed_F"];
_wreckArray = ["Mi8Wreck","BlackhawkWreck","Land_Wreck_Heli_Attack_01_F","Land_ScrapHeap_1_F","Land_ScrapHeap_2_F","Land_Scrap_MRAP_01_F","Land_WoodenCart_F","Land_Wreck_Car2_F","Land_Wreck_Truck_dropside_F","Land_Wreck_Ural_F","Land_Wreck_Heli_Attack_02_F","Land_Wreck_HMMWV_F"];

//3.2. STRUCTURES SUCH AS TENTS, HOUSES,...
_tents = ["Camp","Land_tent_east"];
_tents2 = ["Land_tent_east","Land_tent2_west"];
_tents3 = ["Land_tent_west","CampEast"];
_tents4 = ["Camp","Land_tent_east","CampEast"];
_camonets = ["CamoNet_BLUFOR_big_F","Land_GarbageBarrel_01_F"];
_campfire = ["Campfire_burning_F","MetalBarrel_burning_F"];

/////////////////////////////////////////////////////////////////////
//4. ARRAYS OF ITEMS THAT WILL SPAWN/////////
/////////////////////////////////////////////////////////////////////
//TIP: THE MORE OFTEN AN ITEM APPEARS IN AN ARRAY, THE MORE LIKELY IT IS THAT THIS ITEM WILL SPAWN. HENCE, YOU COULD ENTER COMMON ITEMS 4 TIMES AND RARE ITEMS ONLY ONCE
//4.1 EXAMPLE, PUT IN SOMETHING THAT YOU WANT TO SPAWN MULTIPLE TIME AND WHERE YOU WANT TO BE SURE ONLY THIS ITEM DROPS
_itemArray = ["rvg_money"];
//4.2. EXAMPLE, PUT IN COMMON ITEMS THAT YOU WANT TO SPAWN
_itemArray2 =[
"rvg_canOpener",
"rvg_plasticBottlePurified",
"rvg_spirit",
"rvg_franta",
"rvg_milk",
"rvg_rice",
"rvg_hose",
"rvg_guttingKnife",
"rvg_tire",
"rvg_purificationTablets",
"rvg_flare",
"rvg_matches",
"rvg_Geiger",
"rvg_toolkit",
"rvg_antiRad",
"CUP_NVG_PVS7",
"muzzle_snds_B",
"muzzle_snds_L",
"acc_flashlight_pistol",
"CUP_optic_CompM4",
"optic_DMS",
"CUP_H_RUS_6B27_olive",
"CUP_V_CDF_6B3_3_FST",
"CUP_U_B_CDF_FST_2",
"CUP_V_CDF_6B3_3_FST"
];

//4.3. EXAMPLE, PUT IN COMMON ITEMS THAT YOU WANT TO SPAWN
_itemArray3 =[
"CUP_NVG_PVS7",
"muzzle_snds_B",
"muzzle_snds_L",
"acc_flashlight_pistol",
"CUP_optic_CompM4",
"optic_DMS",
"CUP_H_RUS_6B27_olive",
"CUP_V_CDF_6B3_3_FST",
"CUP_U_B_CDF_FST_2",
"CUP_V_CDF_6B3_3_FST"
];

//4.4. EXAMPLE ARRAY OF WEAPONS YOU WANT TO SPAWN.
_WeaponArray = [
"CUP_hgun_Makarov",
"CUP_hgun_TaurusTracker455",
"CUP_hgun_Colt1911",
"CUP_srifle_CZ550",
"CUP_srifle_LeeEnfield_rail",
"CUP_hgun_Makarov",
"CUP_hgun_TaurusTracker455",
"CUP_hgun_Colt1911",
"CUP_srifle_CZ550",
"CUP_srifle_LeeEnfield_rail",
"CUP_hgun_Makarov",
"CUP_hgun_TaurusTracker455",
"CUP_hgun_Colt1911",
"CUP_srifle_CZ550",
"CUP_srifle_LeeEnfield_rail",
"CUP_arifle_M4A1_camo",
"CUP_arifle_G36C_camo",
"CUP_sgun_AA12",
"CUP_lmg_minimi_railed",
"CUP_arifle_M16A4_GL",
"CUP_srifle_AWM_wdl",
"CUP_hgun_BallisticShield_Armed",
"CUP_arifle_AK74",
"CUP_srifle_CZ550_rail",
"CUP_sgun_Saiga12K",
"CUP_launch_RPG7V",
"CUP_arifle_AKS74U"
];

// EXAMPLE: HERE I SPAWN MEDICAL ITEMS OR FOOD
_mediclootArray =[
"FirstAidKit",
"rvg_spirit",
"rvg_franta",
"rvg_beans",
"rvg_bacon",
"rvg_milk",
"rvg_rice",
"rvg_hose",
"rvg_purificationTablets"];

// EXPLOSIVES YOU WANT TO SPAWN, EXPLOSIVES AND MAGAZINES CAN NOT BE SPAWNED TOGETHER WITH WEAPONS OR ITEMS FYI
_explosivesArray = [
"CUP_HandGrenade_RGO",
"HandGrenade",
"SmokeShellBlue",
"SmokeShellGreen",
"SmokeShellOrange",
"SmokeShellPurple",
"SmokeShellRed",
"SmokeShell",
"SmokeShellYellow",
"DemoCharge_Remote_Mag",
"ClaymoreDirectionalMine_Remote_Mag",
"SatchelCharge_Remote_Mag",
"APERSTripMine_Wire_Mag",
"APERSMine_Range_Mag"
];

/////////////////////////////////////////////////////////////////////
//5. SPAWNER:
//THIS PART;
//-  SELECTS RANDOM ITEMS, OBJECTS, STRUCTURES FROM POINT 4. ABOVE
//-  CREATES A SPAWNPOINT RELATIVE TO THE MARKER RANDOMLY SELECTED UNDER POINT 3. ABOVE
//-  SPAWNS STRUCTURES, OBJECTS AND THE LOOTBOX
//-  DISABLE DAMAGE OF SPAWNED STRUCTURES, OBJECTS OR LOOTBOX
//-  SET THE DIRECTION THE OBJECT OR STRUCTURE IS HEADING/////////
/////////////////////////////////////////////////////////////////////
//5.1 FIREPLACE, TENTS, CAMONETS SPAWNER
_fireplace = _campfire call BIS_fnc_selectRandom createVehicle getMarkerPos _mark; //SELECTS SPAWN POSITION RELATIVE TO _MARK AND SPAWNS A STRUCTURES FROM THE RESPECTIVE ARRAY
_fireplace allowDamage false; // DISABLE DAMANGE FOR THE OBJECT
_fireplace setDir 180; // SET DIRECTION
_tent = _tents call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 18*sin(0), (getMarkerPos _mark select 1) + 18*cos(0), 0];
_tent allowDamage false;
_tent setDir 190;
_camonet = _camonets call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 18*sin(0), (getMarkerPos _mark select 1) + 18*cos(0), 0];
_camonet allowDamage false;
_camonet setDir 10;
_tent2 = _tents2 call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 15*sin(90), (getMarkerPos _mark select 1) + 15*cos(90), 0];
_tent2 allowDamage false;
_tent2 setDir 85;
_camonet2 = _camonets call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 15*sin(90), (getMarkerPos _mark select 1) + 15*cos(90), 0];
_camonet2 allowDamage false;
_camonet2 setDir 85;
_tent3 = _tents3 call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 15*sin(180), (getMarkerPos _mark select 1) + 15*cos(180), 0];
_tent3 allowDamage false;
_tent3 setDir 250;
_tent4 = _tents4 call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) +15*sin(270), (getMarkerPos _mark select 1) +10*cos(270), 0];
_tent4 allowDamage false;
_tent4 setDir 320;

//5.2 Ambient or lootable props (if ravage mod is active) selection and spawn point relative to _mark
_object1 = _objectsArray call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 10*sin(0), (getMarkerPos _mark select 1) + 10*cos(0), 0]; //SELECTS SPAWN POSITION RELATIVE TO _MARK
_object1 allowDamage false; // DISABLE DAMANGE FOR THE OBJECT
_object1 setDir (random 359); // SET DIRECTION
_object2 = _objectsArray1 call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 10*sin(75), (getMarkerPos _mark select 1) + 10*cos(75), 0];
_object2 allowDamage false;
_object2 setDir (60);
_object3 = _wreckArray call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 30*sin(130), (getMarkerPos _mark select 1) + 30*cos(130), 0];
_object3 allowDamage false;
_object3 setDir (random 359);
_object4 = _objectsArray2 call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 11*sin(135), (getMarkerPos _mark select 1) + 11*cos(135), 0];
_object4 allowDamage false;
_object4 setDir (random 359);
_object5 = _objectsArray3 call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 8*sin(225), (getMarkerPos _mark select 1) + 8*cos(225), 0];
_object5 allowDamage false;
_object5 setDir (random 359);
_object6 = _objectsArray3 call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 16*sin(225), (getMarkerPos _mark select 1) + 16*cos(225), 0];
_object6 allowDamage false;
_object6 setDir (random 359);
_object7 = _objectsArray4 call BIS_fnc_selectRandom createVehicle [(getMarkerPos _mark select 0) + 13*sin(225), (getMarkerPos _mark select 1) + 13*cos(225), 0];
_object7 allowDamage false;
_object7 setDir (180);

//5.3 LOOTSPAWNS
//5.3.1 LOOTBOX THAT YOU WANT TO LOOT FOR FANCY STUFF! NOTES BELOW:
		_item = _itemArray select (floor (random (count _itemArray))); // SELECTS AN ITEM OUT OF THE RESPECTIVE ARRAY FOR THE FIRST LOOT POSITION IN ITEMBOX
    _item2 = _itemArray2 select (floor (random (count _itemArray2)));// SELECTS AN ITEM OUT OF THE RESPECTIVE ARRAY FOR NEXT LOOT POSITION IN ITEMBOX
    _item3 = _itemArray2 select (floor (random (count _itemArray2)));// SAME FOR NEXT LOOT POSITION
    _item4 = _itemArray2 select (floor (random (count _itemArray2)));// SAME FOR NEXT LOOT POSITION
    _item5 = _itemArray3 select (floor (random (count _itemArray3)));// SAME FOR NEXT LOOT POSITION
    _explo = _explosivesArray select (floor (random (count _explosivesArray))); //SAME FOR NEXT LOOT POSITION BUT SELECTS AN EXPLOSIVE FROM EXLOSIVES ARRAY
    _weapon = _weaponArray select (floor (random (count _weaponArray))); // SELECTS A RANDOM WEAPON FROM THE WEAPON ARRAY FOR THE FIRST WEAPON LOOT POSITION OF THE LOOTBOX
    _weapon1 = _weaponArray select (floor (random (count _weaponArray)));// SELECTS A RANDOM WEAPON FROM THE WEAPON ARRAY FOR THE NEXT WEAPON LOOT POSITION OF THE LOOTBOX
		_itemBox = "Box_FIA_Wps_F" createVehicle [0,0,0]; // SPAWNS THE LOOT BOX
		_itemBox allowDamage false; // DISABLE DAMAGE FOR LOOTBOX
    _itemBox setDir (90); // ORIENTATION OF THE LOOTBOX
		clearMagazineCargoGlobal _itembox; // CLEAR CONTENT OF LOOTBOX
		clearWeaponCargoGlobal _itembox;
		clearItemCargoGlobal _itembox;
		clearBackpackCargoGlobal _itembox;
		_itemBox setPos [(getMarkerPos _mark select 0) +8*sin(270), (getMarkerPos _mark select 1) +8*cos(270), 0]; // SETS THE POSITION OF THE LOOTBOX RELATIVE TO THE RANDOM SELECTED MARKER _MARK
		_itemBox additemCargoGlobal [_item, 50 +random 50]; // SPAWNS THE ITEMS THAT WHERE RANDOMLY SELECTED FOR THIS LOOT POSITION. IN THIS EXAMPLE THE ARRAY ONLY CONTAINS RVG_MONEY, HENCE IT WILL SPAWN 50 X RVG_MONEY + A RANDOM AMOUNT OF 0-50 IN ADDITION
    _itemBox additemCargoGlobal [_item2, 1 +random 1];// SPAWNS THE ITEMS THAT WHERE RANDOMLY SELECTED FOR THIS LOOT POSITION. 1 FOR SURE AND WITH A CHANCE TO SPAWN 1 ADDITIONAL ITEM
    _itemBox additemCargoGlobal [_item5, 1 +random 1];// SPAWNS THE ITEMS THAT WHERE RANDOMLY SELECTED FOR THIS LOOT POSITION.1 FOR SURE AND WITH A CHANCE TO SPAWN 1 ADDITIONAL ITEM
    _itemBox addMagazineCargoGlobal [_explo, 1 +random 2];// SPAWNS THE EXPLOSIVES THAT WHERE RANDOMLY SELECTED FOR THIS LOOT POSITION. NOTE THAT MAGAZINES AND EXPLOSIVES NEED TO BE SPAWNED USING "ADDMAGAZINECARGOGLOBAL" 1 FOR SURE AND WITH A CHANCE TO SPAWN 2 ADDITIONAL ITEM
    _itemBox additemCargoGlobal [_item3, 1 +random 1];// SPAWNS THE ITEMS THAT WHERE RANDOMLY SELECTED FOR THIS LOOT POSITION.1 FOR SURE AND WITH A CHANCE TO SPAWN 1 ADDITIONAL ITEM
    _itemBox additemCargoGlobal [_item4, 1 +random 1];// SPAWNS THE ITEMS THAT WHERE RANDOMLY SELECTED FOR THIS LOOT POSITION.1 FOR SURE AND WITH A CHANCE TO SPAWN 1 ADDITIONAL ITEM
    _itemBox addWeaponCargo [_weapon,1 +random 1];// SPAWNS THE WEAPON THAT WHERE RANDOMLY SELECTED FOR THIS LOOT POSITION.1 FOR SURE AND WITH A CHANCE TO SPAWN 1 ADDITIONAL ITEM
    _magazines = getArray (configFile >> "CfgWeapons" >> _weapon >> "magazines"); // SELECTS MATCHING MAGAZINES FOR THE WEAPON SPAWNED
    _mag = _magazines select (floor (random (count _magazines)));// SELECTS MATCHING MAGAZINES FOR THE WEAPON SPAWNED
    _itemBox addMagazineCargoGlobal [_mag, 2 +random 4];// SPAWNS 2 MATCHING MAGAZINES PLUS RANDOM AMOUNT OF 4 IN ADDITION
    _itemBox addWeaponCargo [_weapon1,1 +random 1]; // SAME AS ABOVE
    _magazines = getArray (configFile >> "CfgWeapons" >> _weapon1 >> "magazines");// SAME AS ABOVE
    _mag = _magazines select (floor (random (count _magazines)));// SAME AS ABOVE
    _itemBox addMagazineCargoGlobal [_mag, 2 +random 4];// SAME AS ABOVE

//////////////////////////////////////////////////////////
//6. LOOT SPAWNERS FOR STRUCTURES SUCH AS HOUSES OR TENTS
/////////////////////////////////////////////////////////
//6.1 FILLS HOUSES, WORKS WELL ON ALL VANILLA AND DLC STRUCTURES, NOT SO WELL WITH TENTS
// THIS PLACES LOOTABLE OBJECTS FOR RAVAGE
_itemBoxArray1 = [];
_houseArray1 = getMarkerPos _mark nearObjects ["camp",50]; //SEARCHES FOR HOUSES NEAR THE MAIN MARKER OF THE CAMP (50 METERS RADIUS)
{
	_buildingPositions1 = [_x] call BIS_fnc_buildingPositions; // FINDS THE BUILDING POSITIONS OF THE HOUSES IN THE AREA
	{
		if (30 > random 100) then { //30% OF THE BUILDING POSITIONS ARE FILLED - NOTE: NOT 100% SURE IF IT WORKS THIS WAY, BUT HERE YOU CAN LOWER THE AMOUNT OF ITEMS/OBJECTS THAT SPAWN IN HOUSES
		_lootobject = _lootableObjectArray select (floor (random (count _lootableObjectArray))); //SELECTS RANDOM OBJECTS FROM ARRAY
		_itemBox1 = _lootobject createVehicle [0,0,0]; // CREATE THE SELECTED OBJECT
		_itemBox1 allowDamage false; //DISABLES DAMAGE
		_itemBox1 setPos _x; // NOT 100% SURE BUT THIS MEMORIZES THE LOTO POSITIONS
		_itemBoxArray1 = _itemBoxArray1 + [_itemBox1]; //WHATEVER THIS DOES..
	};
	} forEach _buildingPositions1; // EXECUTES THE SPAWN CODE FOR EACH BUILDINGPOSITION IN A HOUSE
} forEach _houseArray1; // EXECUTES THE SPAWN CODE FOR EACH HOUSE IN THE AREA

//6.2. THIS SPAWNS ACTUAL ITEMS ON THE GROUND (VIA "GROUNDEWWAPONHOLDER"), IN THIS CASE, MEDICAL AND SURVIVAL (RAVAGE) ITEMS.
_itemBoxArray2 = [];
_houseArray2 = getMarkerPos _mark nearObjects ["house",50];
{
	_buildingPositions2 = [_x] call BIS_fnc_buildingPositions;
	{
		if (20 > random 100) then {
		_medicloot2 = _mediclootArray select (floor (random (count _mediclootArray)));
		_itemBox2 = "GroundWeaponHolder" createVehicle [0,0,0];
		_itemBox2 allowDamage false;
		_itemBox2 setPos _x;
    _itemBox2 addItemCargoGlobal [_medicloot2, 1 +random 0]; // THIS WILL SELECT RANDOM LOOT FROM THE RESPECTIVE ARRAY AND SPAWNS 1 + 0 RANDOM ITEMS. HERE, 0 COULD BE UPDATED TO 6 FOR A CHANCE TO SPAWN 6 ADDITIONA ITEMS, AS AN EXAMPLE
		_itemBoxArray2 = _itemBoxArray2 + [_itemBox2];
	};
	} forEach _buildingPositions2;
} forEach _houseArray2;

//6.3 SAME AS ABOVE BUT "CAMP" WILL CAPTURE SOME OF THE CUP AND VANILLA TENTS YOU MIGHT WANNA SPAWN, NOT ALL HOWEVER.
_itemBoxArray3 = [];
_houseArray3 = getMarkerPos _mark nearObjects ["camp",50];
{
	_buildingPositions3 = [_x] call BIS_fnc_buildingPositions;
	{
		if (20 > random 100) then {
		_medicloot3 = _mediclootArray select (floor (random (count _mediclootArray)));
		_itemBox3 = "GroundWeaponHolder" createVehicle [0,0,0];
		_itemBox3 allowDamage false;
		_itemBox3 setPos _x;
    _itemBox3 addItemCargoGlobal [_medicloot3, 1];
		_itemBoxArray3 = _itemBoxArray3 + [_itemBox3];
	};
	} forEach _buildingPositions3;
} forEach _houseArray3;

//////////////////
//7. AI SPAWNER//
////////////////
//7.1 FIRST GROUP
_bandits = createGroup east; // CREATES A GROUP CALLED _bandits
"O_G_Survivor_F" createUnit [getMarkerPos _mark, _bandits, "[this] call rvg_fnc_equip;", 1, "corporal"]; // SPAWNS A SURVIVOR WITHOUT GEAR ON THE MAIN MARKER INTO THE _bandits GROUP WITH RAVAGE GEAR, MAXIMUM SKILLS AND WITH RANK CORPORAL. BELOW REPEATS BUT WITH LOWER RANKS.
"O_G_Survivor_F" createUnit [getMarkerPos _mark, _bandits, "[this] call rvg_fnc_equip;", 1, "private"]; // REPLACE "[this] call rvg_fnc_equip; [_unit] call HG_fnc_aiUnitSetup;" WITH "" IF YOU DO NOT WANT THIS CODE TO BE INITIALISED FOR EACH UNIT.
if (40 > random 100) then { // % CHANCE THAT THIS AI IS SPAWNED
"O_G_Survivor_F" createUnit [getMarkerPos _mark, _bandits, "[this] call rvg_fnc_equip;", 1, "private"];};
if (30 > random 100) then { // % CHANCE THAT THIS AI IS SPAWNED
"O_G_Survivor_F" createUnit [getMarkerPos _mark, _bandits, "[this] call rvg_fnc_equip;", 1, "private"];};
if (20 > random 100) then { // % CHANCE THAT THIS AI IS SPAWNED
"O_G_Survivor_F" createUnit [getMarkerPos _mark, _bandits, "[this] call rvg_fnc_equip;", 1, "private"];};

//7.2 SECOND GROUP
// SAME AS ABOVE BUT A DIFFERENT GROUP, THIS WAY NOT ALL AI MOVE THE SAME WAYPOINTS
_bandits2 = createGroup east;
"O_G_Survivor_F" createUnit [getMarkerPos _mark, _bandits2, "[this] call rvg_fnc_equip;", 1, "corporal"];
"O_G_Survivor_F" createUnit [getMarkerPos _mark, _bandits2, "[this] call rvg_fnc_equip;", 1, "private"];
if (40 > random 100) then {
"O_G_Survivor_F" createUnit [getMarkerPos _mark, _bandits2, "[this] call rvg_fnc_equip;", 1, "private"];};
if (30 > random 100) then {
"O_G_Survivor_F" createUnit [getMarkerPos _mark, _bandits2, "[this] call rvg_fnc_equip;", 1, "private"];};
if (20 > random 100) then {
"O_G_Survivor_F" createUnit [getMarkerPos _mark, _bandits2, "[this] call rvg_fnc_equip;", 1, "private"];};

//7.3 WAYPOINTS - THIS IS VERY BASIC AND JUST MAKES THE BANDITS MOVE AROUND CLOSE TO THE CAMP
// THE BELOW SETS A "SEARCH AND DESTROY" WAYPOINT THAT MAKES THE AI WANDER THE CAMP AND LOOK FOR ENEMIES
_wp1 = _bandits addWaypoint [getmarkerpos _mark, 0];
    _wp1 setWaypointType "SAD"; //SETS THE WAYPOINT AS SEARCH AND DESTROY
    _wp1 setWaypointSpeed "Limited"; //SETS THE SPEED
    _wp1 setWaypointBehaviour "AWARE"; // SETS THE COMBAT STANCE
    _wp1 setWaypointFormation "COLUMN"; // SETS THE FORMATION

_wp1 = _bandits2 addWaypoint [getmarkerpos _mark, 0];
    _wp1 setWaypointType "SAD";
    _wp1 setWaypointSpeed "Limited";
    _wp1 setWaypointBehaviour "COMBAT";
    _wp1 setWaypointFormation "LINE";

////////////////////////////////////////
//8. TIMER IN SECONDS UNTIL THE CAMP DESPAWNS AND RESPAWNS AGAIN
///////////////////////////////////////////////////////
Sleep (random _despawnSleepRnd);Sleep _despawnSleepFix; // (CHANGE FIGURES UNDER ITEM 1.1)FIRST NUMBER STES A RANDOM AMOUNT OF SECONDS BETWEEN 1-3600 AND THE SECOND NUMBER SETS A DEFINITE TIMER OF 1000 SECODS. SO THE CAMP WILL RESPAWN EARLIEST AFTER 1000 SECONDS AND AT MAXIMUM AFTER 4600 SECONDS OR IF POINT 9. BELOW IS THE CASE.

////////////////////
//9. PAUSE DESPAWN, IF PLAYER IS TOO CLOSE TO THE CAMP
//////////////////////
WaitUntil {player distance (GetMarkerPos _mark) > _despanPauseProxy}; // (CHANGE FIGURES UNDER ITEM 1.1)IF THE PLAYER IS WITHIN xyz METERS CLOSE TO THE MAIN MARKER, THE SCRIPT WILL PAUSE AND WILL NOT DESPAWN. THE SCRIPT WILL PROCEED ONCE THE PLAYER IS FURTHER AWAY THAN 200 METERS.

///////////////////////////
//10. DESPAWN/DELETION/////
///////////////////////////
//- ANY SPAWNED OBJECT RECEIVES A REFERENCE (EG. _FIREPLACE) AND NEEDS TO BE DELETED AS SHOWN BELOW
deleteVehicle _fireplace;
deleteVehicle _itembox;
deleteVehicle _tent;
deleteVehicle _tent2;
deleteVehicle _tent3;
deleteVehicle _tent4;
deleteVehicle _Object1;
deleteVehicle _camonet;
deleteVehicle _camonet2;
deleteVehicle _Object2;
deleteVehicle _Object3;
deleteVehicle _Object4;
deleteVehicle _Object5;
deleteVehicle _Object6;
deleteVehicle _Object7;

//10.1 DELETES ITEMS THAT WHERE SPAWNED IN MULTIPLE BUILDING POSITIONS
{	deleteVehicle _x; } forEach _itemBoxArray1;
{	deleteVehicle _x; } forEach _itemBoxArray2;
{	deleteVehicle _x; } forEach _itemBoxArray3;

//10.1 DELEETES ALIVE AI FROM GROUP _bandits (NEEDS TO BE SET UP FOR ALL GROUPS OF AI)
if(isNil("_bandits"))exitWith{};
{
	if(vehicle _x != _x)then{deleteVehicle (vehicle _x);};
	deleteVehicle _x;
}forEach units _bandits; //EXECUTES DELETION FOR ALL UNITS OF SAID GROUP

//10.1 DELEETES ALIVE AI FROM GROUP _bandits
if(isNil("_bandits2"))exitWith{};
{
	if(vehicle _x != _x)then{deleteVehicle (vehicle _x);};
	deleteVehicle _x;
}forEach units _bandits2;

//10.2 DELETES DEAD AI
{ deleteVehicle _x; } forEach allDead;
//10.3 DELETS OBJECTS THAT MAY HAVE BEEN SPAWNED INTO SPAWNED STRUCTURES VIA RAVAGE LOOT MODULE
{ deleteVehicle _x; } forEach nearestObjects [getMarkerPos _mark,["WeaponHolder","GroundWeaponHolder"],550];
};

 

Also, can you test the script by placing ALL your markers close to each other (e.g. 10 meters range) and place your caracter close to it? This way you should immediately see if one of the camps spawns. Note that your player needs to be within 4000meters proxymity of the first marker in order for the script to work.

 

I hope this makes sense, else let me know;)

 

cheers

  • Thanks 1

Share this post


Link to post
Share on other sites

@Vandeanson IT WORKSSSS!!!! Thank you so much, I was pulling my hair out as to why it wasn't working!!! You are the Script KING My friend, Thank you so much!!!

  • Like 1

Share this post


Link to post
Share on other sites
1 minute ago, MuRaZorWitchKING said:

@Vandeanson IT WORKSSSS!!!! Thank you so much, I was pulling my hair out as to why it wasn't working!!! You are the Script KING My friend, Thank you so much!!!

YAY! happy to hear! again, thanks to @gaverio, i should have updated my code according to his feedback a while ago;)

 

Have fun with the script and let me know if you see anything that doesn't work or is odd/could use improvements;)

Another hint/question, where do you edit your code in? just notepad? If so, get some program such as ATOM or notepad+++ (i think its called like that) it makes it much easier and more fun to edit code and it helps you a lot to find mistakes.

 

Note that I also made a simpler script that will spawn shipwrecks with loot (e.g. you can place the markers for it along the coast line)

 

 

cheers

vandeanson

  • Like 2

Share this post


Link to post
Share on other sites

Yes I just use notepad, all I'll probably get notepad+++ especially if it'll help in situations like this lol and I saw that shipwreck script, I'll likely check it out, very good additions to any map. :) Thanks again man!

Share this post


Link to post
Share on other sites

@Vandeanson The script is working wonders, and I even added in more markers to the script and all is well, I also updated my Scenario in the Workshop and added in Your name for well Deserved Credits, Thank you again! 

Share this post


Link to post
Share on other sites
9 hours ago, MuRaZorWitchKING said:

@Vandeanson The script is working wonders, and I even added in more markers to the script and all is well, I also updated my Scenario in the Workshop and added in Your name for well Deserved Credits, Thank you again! 

sweet, thanks for that;) can you link your mission? i would love to check it out!

Share this post


Link to post
Share on other sites
7 hours ago, Vandeanson said:

sweet, thanks for that;) can you link your mission? i would love to check it out!

Sure thing, Here's the link to the Scenario, I hope you and anyone else who tries it out Enjoys it! 

 

  • Like 2

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×