Jump to content

Recommended Posts

I execute Airdrops from an action menu, no matter where its called from, Its going to work. Notebooks are hard to get cursor target on, Maybe put it on a table and use table as well for the cursortarget.

Share this post


Link to post
Share on other sites

I execute Airdrops from an action menu, no matter where its called from, Its going to work. Notebooks are hard to get cursor target on, Maybe put it on a table and use table as well for the cursortarget.

hmm could be that.. what about just making it the ai I use as a banker?

Share this post


Link to post
Share on other sites

Is it a safezone ? Whats the point of looting the airdrops without any risk

no, my banks are not in safe zones.. that would be pointless yes.

 

The reason I dont want to use tables, is because a lot of my traders have tables in front of them and i only want people to be able to access these at banks which are not in safe zones.

Share this post


Link to post
Share on other sites

Alright, 2 small requests...
Perhaps a global or system chat message which notifies all players on the server that the carepackage will arrive in X amount of seconds and to check their map for the marker.. and then something that deletes the marker off the map either in X amount of time or once the carepackage has been captured, similar to a mission.

If anyone has any ideas please share, thanks!

Share this post


Link to post
Share on other sites

Alright, 2 small requests...

Perhaps a global or system chat message which notifies all players on the server that the carepackage will arrive in X amount of seconds and to check their map for the marker.. and then something that deletes the marker off the map either in X amount of time or once the carepackage has been captured, similar to a mission.

If anyone has any ideas please share, thanks!

 

I will try to work on that, Global notification should be easy.

Share this post


Link to post
Share on other sites

To add in Global Notification :

 

Find :

_positionM = [_getPos select 0, _getPos select 1];

Add this after :

_playerName = name player;
 
Find :
lastpack = time;
 
Add this before :
_message = format["%1 has called in an AirDrop, It is marked on your map, Go Capture it !",_playerName];
[nil,nil,rTitleText,_message, "PLAIN",6] call RE;
diag_log text format["[AirDrop]: Air Drop Called By a player Successfully"];

Share this post


Link to post
Share on other sites

excellent I'll make the necessary changes thanks a lot man.

 

Im having a look into DZMS to see if I can't figure out how to delete the marker when a player captures the crate.. should be pretty similar

cake. do a waituntil then check a distance for a player, if a player gets within 5 meters or so the crate is captured. obviously give 90 seconds or so before deleting the crate after its been captured

Share this post


Link to post
Share on other sites

I'll try :)

Oh also that message works but it doesn't take into account the cooldown. So even though you have to wait X amount of time before you can another one in, it notifies everyone that you've called another one in.

 

EDIT-
This appears to be how DZMS does it
 

DZMSWaitMissionComp = {
    private["_objective","_unitArrayName","_numSpawned","_numKillReq"];
	
    _objective = _this select 0;
    _unitArrayName = _this select 1;
	
    call compile format["_numSpawned = count %1;",_unitArrayName];
    _numKillReq = ceil(DZMSRequiredKillPercent * _numSpawned);
	
    diag_log text format["[DZMS]: (%3) Waiting for %1/%2 Units or Less to be Alive and a Player to be Near the Objective.",(_numSpawned - _numKillReq),_numSpawned,_unitArrayName];
	
    call compile format["waitUntil{sleep 1; ({isPlayer _x && _x distance _objective <= 30} count playableUnits > 0) && ({alive _x} count %1 <= (_numSpawned - _numKillReq));};",_unitArrayName];
	
    if (DZMSSceneryDespawnTimer > 0) then {_objective spawn DZMSCleanupThread;};
};

and this
 

//function to clean up mission objects
DZMSCleanupThread = {
    //sleep for the despawn timer length
    [DZMSSceneryDespawnTimer,20] call DZMSSleep;
	
    //delete flagged nearby objects
    {
        if (_x getVariable ["DZMSCleanup",false]) then {
            _x call DZMSPurgeObject;
        };
    } forEach (_this nearObjects 50);
};

Im having a bit of trouble adapting this

Share this post


Link to post
Share on other sites

I'll try :)

Oh also that message works but it doesn't take into account the cooldown. So even though you have to wait X amount of time before you can another one in, it notifies everyone that you've called another one in.

 

That shouldnt be happening, its after the cooldown check 

Share this post


Link to post
Share on other sites

That shouldnt be happening, its after the cooldown check 

you're right, my mistake I fixed it.

 

Trying to look at other scripts to get an example of what matt is talking about. DZMS is just using too many variables and it doesn't make it very clear to me.

Share this post


Link to post
Share on other sites

you're right, my mistake I fixed it.

 

Trying to look at other scripts to get an example of what matt is talking about. DZMS is just using too many variables and it doesn't make it very clear to me.

 

This is the line you can look at 

waitUntil{sleep 1; ({isPlayer _x && _x distance _objective <= 30} count playableUnits > 0) && ({alive _x} count %1 <= (_numSpawned - _numKillReq));};

Share this post


Link to post
Share on other sites

Add this at the end of the file :

waitUntil{
sleep 1;
(({isPlayer _x && _x distance _box <= 5} count playableUnits > 0));
};


sleep 90;
deleteMarker "MarkerDrop";


_message = format["Good Job Survivors. The Air Drop has been Captured",_playerName];
[nil,nil,rTitleText,_message, "PLAIN",6] call RE;
diag_log text format["[AirDrop]: Air Drop captured Successfully. Deleting Marker"];

Share this post


Link to post
Share on other sites

 

Add this at the end of the file :

waitUntil{
sleep 1;
(({isPlayer _x && _x distance _box <= 5} count playableUnits > 0));
};


sleep 90;
deleteMarker "MarkerDrop";


_message = format["Good Job Survivors. The Air Drop has been Captured",_playerName];
[nil,nil,rTitleText,_message, "PLAIN",6] call RE;
diag_log text format["[AirDrop]: Air Drop captured Successfully. Deleting Marker"];

 

Yea I had basically figured out how that waituntil line should look but then I didn't know where to go from that because that just tells it to wait for a player to be near it, but then it doesn't tell it what to do after that. Thanks for this I'll give it a shot

Share this post


Link to post
Share on other sites

can I then add

deleteVehicle _boxx;

like this

sleep 90;
deleteMarker "MarkerDrop";
deleteVehicle _boxx;

to delete the box as well?

 

Yes, You could do that as well. 

Share this post


Link to post
Share on other sites

no luck. Doesn't delete the marker or the box and I followed matt's advice and removed a block of code so the parachute moves freely in the wind and now it just falls from the sky haha.

I removed this block of code here

/*
while {getPos _box select 2 > 4} do
{
 _chute SetVelocity [0,0,_downspeed];
 uiSleep 0.1;
};
*/

and I added this bit to the end of the script.  No RPT errors in client or server.

waitUntil{
sleep 1;
(({isPlayer _x && _x distance _box <= 5} count playableUnits > 0));
};


sleep 90;
deleteMarker "MarkerDrop";
deleteVehicle _boxx;


_message = format["The Air Drop has been Captured",_playerName];
[nil,nil,rTitleText,_message, "PLAIN",6] call RE;
diag_log text format["[AirDrop]: Air Drop captured Successfully. Deleting Marker"];

gonna try commenting that part back in and see if that changes anything.

 

Ultimately my goal is to get it to work similarly to the An2 mission on DZMS.. I want a marker to be placed when you call the carepackage, and that marker to be deleted and another one placed where the carepackage lands. I want the carepackage to travel freely in the wind so it doesn't land directly on top of where you called it. Im using notebooks inside the ATC's to call the carepackage so I dont want it landing on the building.

 

DZMS does something like this
 

_wp = _aiGrp addWaypoint [[(_coords select 0), (_coords select 1),150], 0];
_wp setWaypointType "MOVE";
_wp setWaypointBehaviour "CARELESS";
_wp_pos = waypointPosition [_aiGrp,1];
deleteWaypoint [_aiGrp, 1];
_wp2 = _aiGrp addWaypoint [[0,0,150], 0];
_wp2 setWaypointType "MOVE";
_wp2 setWaypointBehaviour "CARELESS";

Share this post


Link to post
Share on other sites

Ok so Ive got this script running basically how I want it. I'd like to try and change up the way the loot spawns in it a bit, because as it is now it will pick only one weapon from the array. I'd like it to select a few weapons at random from the array.  Once I get that working this will be perfect. But here it is so far...

Quick explanation.... player calls in crate, makes a marker on the map at players position. A message notifies the server that a player has called in a carepackage and it will land in X amount of time. Crate falls in parachute, blown by the wind. When it lands, the original marker is deleted and a new one is created on the boxes position. A message notifies the server that the box has landed.  When a player gets close to the box, a message notifies the server that a player has reached the box and it will delete the box in X amount of time. After that time has passed the box and the map marker are deleted.

private ["_cost","_positionM","_Marker","_LastUsedTime","_height","_downspeed","_wealth","_distance","_boxtype","_unit","_getPos","_position","_box","_chute","_smoke","_var","_textt","_tools","_items","_walls","_supplies","_weapon","_weapon2","_weapon3","_weapon4","_weapon5","_weapon6","_giveWep","_possibleMags","_mag","_whichBuild","_crateItems","_text","_getPos2","_positionB"];

_cost = 1000;
_wealth = player getVariable["cashMoney",0];
_distance = 500;
_boxtype = "USVehicleBox_EP1";
_LastUsedTime = 900;
_height = 100;
_downspeed = -3;
_OnlineLimit = 1;
_unit = player;
_getPos = getPos _unit;
_position = [_getPos select 0, (_getPos select 1) - 5, _height];
_positionM = [_getPos select 0, _getPos select 1];

//System Chat Message
_playerName = name player;
//System Chat Message

//item lists
_tools = ["ItemEtool","ItemKnife","ItemGPS","ItemFishingPole","ItemHatchet_DZE","ItemMatchbox_DZE","ItemCrowbar"];
_items = ["ItemSodaPepsi","FoodCanCorn","FoodNutmix","ItemSodaClays","FoodCanSardines","ItemKiloHemp"];
_walls = ["ItemWoodWallGarageDoor","ItemWoodWallWithDoorLg","ItemWoodWallLg","ItemWoodWallGarageDoor","ItemWoodFloor","metal_floor_kit"];
_supplies = ["CinderBlocks","MortarBucket","ItemTankTrap","PartWoodPlywood","PartWoodLumber","ItemPole","PartGlass"];


_giveWep = ["DMR","FHQ_ACR_WDL_TWS_SD","BAF_LRR_scoped","USSR_cheytacM200_sd","m107_DZ","BAF_L85A2_RIS_CWS"] call BIS_fnc_selectRandom;
_possibleMags = getArray (configfile >> "cfgWeapons" >> _giveWep >> "magazines");
_mag = _possibleMags select 0;

//select arrays to use
_crateItems = [_walls,_supplies,_items] call BIS_fnc_selectRandom;
_Time = time - lastpack;

if(_Time < _LastUsedTime) exitWith { // If cooldown is not done then exit script
    cutText [format["please wait %1 before calling in another Air Drop!",(round(_Time - _LastUsedTime))], "PLAIN DOWN"]; //display text at bottom center of screen when players cooldown is not done
};

//Checks if Player is in SafeZone or in Combat
if(!(canbuild) || (inSafeZone)) exitWith { cutText ["\n\nYou are in a Safezone and cannot perform that action!" , "PLAIN DOWN"]; };
if (dayz_combat == 1) exitwith { cutText ["\n\nYou are in combat and cannot perform that action!", "PLAIN DOWN"] };

//Checks Number of Players Online
if ((count playableUnits) < _OnlineLimit) exitWith  { cutText [format["Air Drop Failed. Less Than %1 Players online.",_OnlineLimit], "PLAIN DOWN"]; };
//Checks if Player Has Enough Money
if(_wealth < _cost) exitWith { cutText [format["You need %1 coins to Call an AirDrop.",_cost], "PLAIN DOWN"]; };

player setVariable["cashMoney",(_wealth - _cost),true];

PVDZE_plr_Save = [player,(magazines player),true,true] ;
publicVariableServer "PVDZE_plr_Save";

//Create a Map Marker on Player Position
deleteMarker "MarkerDrop";
_null  = createMarker ["MarkerDrop",_positionM];
"MarkerDrop"  setMarkerText "Air Drop";
"MarkerDrop"  setMarkerType "mil_objective";
"MarkerDrop"  setMarkerColor "ColorRed";



//Message To Server
_message = format["%1 has called in an AirDrop. It will arrive in 100 seconds! It is marked on your map, Go Capture it!",_playerName];
[nil,nil,rTitleText,_message, "PLAIN",6] call RE;
diag_log text format["[AirDrop]: Air Drop Called By a Player Successfully"];



lastpack = time;

for "_x" from 1 to 100 do {
    if (_x >= 2) then {cutText [format ["AIR DROP ARRIVING IN %1", 101-_x], "PLAIN DOWN"];};
    uiSleep 1;
};

//Creates Box Falling With Parachute and Blue Smoke Trailing
_chute = createVehicle ["ParachuteMediumEast", _position, [], 0, "FLY"];
_chutePos = getPos _chute;
_box = createVehicle [_boxtype, _chutePos, [], 0, "FLY"];
_box attachTo [_chute, [0,0,3]];
_box setVariable ["Mission",1,true];
_chute setVariable ["Mission",1,true];
_box setVariable ["ObjectID", ""];
_chute setVariable ["ObjectID", ""];
_smoke = "SmokeShellBlue" createVehicle (getPos _box);
_smoke attachTo [_box, [0,0,0]];
_var = floor((random 20) + 1);

//display text to alert user
_textt = format ["\nCarepackage is above you!",10];
titleText [_textt,"PLAIN DOWN"];

//Allows Box To Blow Freely in the Wind
waitUntil {getPos _box select 2 < 4};

//Prevents Wind from Effecting the Parachute
/*
while {getPos _box select 2 > 4} do
{
 _chute SetVelocity [0,0,_downspeed];
 uiSleep 0.1;
};
*/


//Detaches Chute, Deletes Old Box, Makes New Box and Loads Gear
detach _box;
while {getPos _box select 2 > 0} do {
_box setPos [getPos _box select 0, getPos _box select 1, (getPos _box select 2) - .25]
};
deleteVehicle _chute;
_posATL = getPosATL _box;
deleteVehicle _box;
_boxx = _boxtype createVehicle _posATL;
_boxx setVariable ["Mission",1,true];
_boxx setVariable ["ObjectID", ""];

clearweaponcargoglobal _boxx;
clearmagazinecargoglobal _boxx;

{_boxx addMagazineCargoGlobal [_x, _var];} forEach _crateItems;
{_boxx addWeaponCargoGlobal [_x, 5];} forEach _tools;
_boxx addMagazineCargoGlobal [_mag, _var];
_boxx addWeaponCargoGlobal [_giveWep, 5];


//Remove Old Marker and Creates a Map Marker on Box Position
_getPos2 = getPos _boxx;
_positionB = [_getPos2 select 0, _getPos2 select 1];

deleteMarker "MarkerDrop";
_null  = createMarker ["MarkerDrop",_positionB];
"MarkerDrop"  setMarkerText "Air Drop";
"MarkerDrop"  setMarkerType "Defend";
"MarkerDrop"  setMarkerColor "ColorRed";

//Message To Server
_message3= format["The Carepackage has Landed! Check Your Map and Race to Claim it!",_playerName];
[nil,nil,rTitleText,_message3, "PLAIN",6] call RE;
diag_log text format["[AirDrop]: Air Drop Landed Successfully"];

//Wait until player is near.
waitUntil{
sleep 1;
(({isPlayer _x && _x distance _boxx <= 5} count playableUnits > 0));
};

//Message To Server
_message2 = format["A Player Has Reached the Carepackage! It Will Despawn in 120 Seconds!",_playerName];
[nil,nil,rTitleText,_message2, "PLAIN",6] call RE;
diag_log text format["[AirDrop]:Player At Airdrop"];

//Waits 120 Seconds then Deletes Map Marker and Box
sleep 120;
deleteMarker "MarkerDrop";
deleteVehicle _boxx;

//Message To Server
_message = format["The Air Drop Has Been Captured",_playerName];
[nil,nil,rTitleText,_message, "PLAIN",6] call RE;
diag_log text format["[AirDrop]: Air Drop Captured Successfully. Deleting Marker"];

Share this post


Link to post
Share on other sites

Ok so Ive got this script running basically how I want it. I'd like to try and change up the way the loot spawns in it a bit, because as it is now it will pick only one weapon from the array. I'd like it to select a few weapons at random from the array.  Once I get that working this will be perfect. But here it is so far...

Quick explanation.... player calls in crate, makes a marker on the map at players position. A message notifies the server that a player has called in a carepackage and it will land in X amount of time. Crate falls in parachute, blown by the wind. When it lands, the original marker is deleted and a new one is created on the boxes position. A message notifies the server that the box has landed.  When a player gets close to the box, a message notifies the server that a player has reached the box and it will delete the box in X amount of time. After that time has passed the box and the map marker are deleted.

private ["_cost","_positionM","_Marker","_LastUsedTime","_height","_downspeed","_wealth","_distance","_boxtype","_unit","_getPos","_position","_box","_chute","_smoke","_var","_textt","_tools","_items","_walls","_supplies","_weapon","_weapon2","_weapon3","_weapon4","_weapon5","_weapon6","_giveWep","_possibleMags","_mag","_whichBuild","_crateItems","_text","_getPos2","_positionB"];

_cost = 1000;
_wealth = player getVariable["cashMoney",0];
_distance = 500;
_boxtype = "USVehicleBox_EP1";
_LastUsedTime = 900;
_height = 100;
_downspeed = -3;
_OnlineLimit = 1;
_unit = player;
_getPos = getPos _unit;
_position = [_getPos select 0, (_getPos select 1) - 5, _height];
_positionM = [_getPos select 0, _getPos select 1];

//System Chat Message
_playerName = name player;
//System Chat Message

//item lists
_tools = ["ItemEtool","ItemKnife","ItemGPS","ItemFishingPole","ItemHatchet_DZE","ItemMatchbox_DZE","ItemCrowbar"];
_items = ["ItemSodaPepsi","FoodCanCorn","FoodNutmix","ItemSodaClays","FoodCanSardines","ItemKiloHemp"];
_walls = ["ItemWoodWallGarageDoor","ItemWoodWallWithDoorLg","ItemWoodWallLg","ItemWoodWallGarageDoor","ItemWoodFloor","metal_floor_kit"];
_supplies = ["CinderBlocks","MortarBucket","ItemTankTrap","PartWoodPlywood","PartWoodLumber","ItemPole","PartGlass"];


_giveWep = ["DMR","FHQ_ACR_WDL_TWS_SD","BAF_LRR_scoped","USSR_cheytacM200_sd","m107_DZ","BAF_L85A2_RIS_CWS"] call BIS_fnc_selectRandom;
_possibleMags = getArray (configfile >> "cfgWeapons" >> _giveWep >> "magazines");
_mag = _possibleMags select 0;

//select arrays to use
_crateItems = [_walls,_supplies,_items] call BIS_fnc_selectRandom;
_Time = time - lastpack;

if(_Time < _LastUsedTime) exitWith { // If cooldown is not done then exit script
    cutText [format["please wait %1 before calling in another Air Drop!",(round(_Time - _LastUsedTime))], "PLAIN DOWN"]; //display text at bottom center of screen when players cooldown is not done
};

//Checks if Player is in SafeZone or in Combat
if(!(canbuild) || (inSafeZone)) exitWith { cutText ["\n\nYou are in a Safezone and cannot perform that action!" , "PLAIN DOWN"]; };
if (dayz_combat == 1) exitwith { cutText ["\n\nYou are in combat and cannot perform that action!", "PLAIN DOWN"] };

//Checks Number of Players Online
if ((count playableUnits) < _OnlineLimit) exitWith  { cutText [format["Air Drop Failed. Less Than %1 Players online.",_OnlineLimit], "PLAIN DOWN"]; };
//Checks if Player Has Enough Money
if(_wealth < _cost) exitWith { cutText [format["You need %1 coins to Call an AirDrop.",_cost], "PLAIN DOWN"]; };

player setVariable["cashMoney",(_wealth - _cost),true];

PVDZE_plr_Save = [player,(magazines player),true,true] ;
publicVariableServer "PVDZE_plr_Save";

//Create a Map Marker on Player Position
deleteMarker "MarkerDrop";
_null  = createMarker ["MarkerDrop",_positionM];
"MarkerDrop"  setMarkerText "Air Drop";
"MarkerDrop"  setMarkerType "mil_objective";
"MarkerDrop"  setMarkerColor "ColorRed";



//Message To Server
_message = format["%1 has called in an AirDrop. It will arrive in 100 seconds! It is marked on your map, Go Capture it!",_playerName];
[nil,nil,rTitleText,_message, "PLAIN",6] call RE;
diag_log text format["[AirDrop]: Air Drop Called By a Player Successfully"];



lastpack = time;

for "_x" from 1 to 100 do {
    if (_x >= 2) then {cutText [format ["AIR DROP ARRIVING IN %1", 101-_x], "PLAIN DOWN"];};
    uiSleep 1;
};

//Creates Box Falling With Parachute and Blue Smoke Trailing
_chute = createVehicle ["ParachuteMediumEast", _position, [], 0, "FLY"];
_chutePos = getPos _chute;
_box = createVehicle [_boxtype, _chutePos, [], 0, "FLY"];
_box attachTo [_chute, [0,0,3]];
_box setVariable ["Mission",1,true];
_chute setVariable ["Mission",1,true];
_box setVariable ["ObjectID", ""];
_chute setVariable ["ObjectID", ""];
_smoke = "SmokeShellBlue" createVehicle (getPos _box);
_smoke attachTo [_box, [0,0,0]];
_var = floor((random 20) + 1);

//display text to alert user
_textt = format ["\nCarepackage is above you!",10];
titleText [_textt,"PLAIN DOWN"];

//Allows Box To Blow Freely in the Wind
waitUntil {getPos _box select 2 < 4};

//Prevents Wind from Effecting the Parachute
/*
while {getPos _box select 2 > 4} do
{
 _chute SetVelocity [0,0,_downspeed];
 uiSleep 0.1;
};
*/


//Detaches Chute, Deletes Old Box, Makes New Box and Loads Gear
detach _box;
while {getPos _box select 2 > 0} do {
_box setPos [getPos _box select 0, getPos _box select 1, (getPos _box select 2) - .25]
};
deleteVehicle _chute;
_posATL = getPosATL _box;
deleteVehicle _box;
_boxx = _boxtype createVehicle _posATL;
_boxx setVariable ["Mission",1,true];
_boxx setVariable ["ObjectID", ""];

clearweaponcargoglobal _boxx;
clearmagazinecargoglobal _boxx;

{_boxx addMagazineCargoGlobal [_x, _var];} forEach _crateItems;
{_boxx addWeaponCargoGlobal [_x, 5];} forEach _tools;
_boxx addMagazineCargoGlobal [_mag, _var];
_boxx addWeaponCargoGlobal [_giveWep, 5];


//Remove Old Marker and Creates a Map Marker on Box Position
_getPos2 = getPos _boxx;
_positionB = [_getPos2 select 0, _getPos2 select 1];

deleteMarker "MarkerDrop";
_null  = createMarker ["MarkerDrop",_positionB];
"MarkerDrop"  setMarkerText "Air Drop";
"MarkerDrop"  setMarkerType "Defend";
"MarkerDrop"  setMarkerColor "ColorRed";

//Message To Server
_message3= format["The Carepackage has Landed! Check Your Map and Race to Claim it!",_playerName];
[nil,nil,rTitleText,_message3, "PLAIN",6] call RE;
diag_log text format["[AirDrop]: Air Drop Landed Successfully"];

//Wait until player is near.
waitUntil{
sleep 1;
(({isPlayer _x && _x distance _boxx <= 5} count playableUnits > 0));
};

//Message To Server
_message2 = format["A Player Has Reached the Carepackage! It Will Despawn in 120 Seconds!",_playerName];
[nil,nil,rTitleText,_message2, "PLAIN",6] call RE;
diag_log text format["[AirDrop]:Player At Airdrop"];

//Waits 120 Seconds then Deletes Map Marker and Box
sleep 120;
deleteMarker "MarkerDrop";
deleteVehicle _boxx;

//Message To Server
_message = format["The Air Drop Has Been Captured",_playerName];
[nil,nil,rTitleText,_message, "PLAIN",6] call RE;
diag_log text format["[AirDrop]: Air Drop Captured Successfully. Deleting Marker"];

not hard at all, just loop it a few times. do something like this : http://pastebin.com/BhVes7fM

Share this post


Link to post
Share on other sites

not hard at all, just loop it a few times. do something like this : http://pastebin.com/BhVes7fM

but where and how do I define what these are?

 

_giveWep = [_weapon,_weapon2,_weapon3,_weapon4,_weapon5,_weapon6]

the array at the top of the script is just

 

_giveWep = ["FHQ_ACR_WDL_TWS_SD","BAF_LRR_scoped","USSR_cheytacM200_sd"] call BIS_fnc_selectRandom;

Share this post


Link to post
Share on other sites

 

but where and how do I define what these are?

 

_giveWep = [_weapon,_weapon2,_weapon3,_weapon4,_weapon5,_weapon6]

the array at the top of the script is just

 

_giveWep = ["FHQ_ACR_WDL_TWS_SD","BAF_LRR_scoped","USSR_cheytacM200_sd"] call BIS_fnc_selectRandom;

I copied that array from my original script, the one you have has been edited a bit. just use what you've got, that array is more than fine 

Share this post


Link to post
Share on other sites

infiSTAR is blocking and kicking for this on my overwatch server, and just blocking it on my overpoch server.
Overwatch, nothing happens when player clicks the action and player grey screens.

Overpoch, nothing happens.when player clicks the action except it removes their money.

Nothing logged in the hackerlog or suspicious log and nothing in the RPT.

Im stumped. Any help would be much appreciated.

Share this post


Link to post
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.

Loading...

  • Similar Content

    • By Tricks
      Hello community,
      I am working on a custom mission that takes place over the waters of Chernarus. Its actually an Aircraft Carrier mission I had on my server in 2014. However I can't seem to get loot to spawn on the ship.
      Has anyone had any success in spawning custom loot boxes over water or on the carrier?
      Thanks!
    • By webbie
      Hi all, Pretty big noob too Epoch.
      Ive done Lots of Arma and Exile but for something new and seeing some good development going on with Epoch, I thought we would give it a try. 
      I want to use lingor, its working fine however i'm really not seeing any loot maybe 1 very sparingly so is their a trick to making this work?
      I do alot of my own research but being in totally foreign turf I thought Id ask some experts,
       
      Thax in Advance
    • By Efixea
      I have a server i started not too long ago hosted by GTX. I had InfiSTAR installed by the support and server was working decent. After  EPOCH updated to 1.1 my server does not have loot in any building. Very few containers spawn with anything usefull in them....Furniture in houses and loot piles will have generic loot like moist towlettes and paint or minimal building supplies.
      I do not see blue tarps on the map anymore and cargo with loot spawns maybe 3 or 4 in an entire day of the server being up and running.
      No AI spawns in any area of map at any time of the day.  Have been playing over a week now and nothing spawns anywhere.
      and it NEVER stops raining.
       
      I am VERY noob when it comes to adding scripts or mods to servers myself. I played an Arma 2 server about 2 years ago and learned a bit about this stuff. since then i have been re-learing everything.
      the only thing i have installed is Zombies and Demons. Nothing else has been changed or edited by me.
       
      Is there anything i can edit myself to change any of this?  should i have the server reinstalled?
    • By Tricks
      Hello all,
      Quick question, how do I adjust loot spawn percentages in 1.0.6? Do I have to create my own custom loot?
       
      Thanks
    • By randall421
      The loot spawning on my server will respawn or cycle right infrnt of you if you move more than 5m away or if someone else near you moves 5ft away. I check player_spawncheck.sqf and it looks fine. 
      player_spawncheck.sqf 
      //player_spawncheck.sqf private ["_isWreck","_maxControlledZombies","_looted","_zombied","_doNothing","_spawnZedRadius","_serverTime","_age","_nearbyBuildings","_position","_speed","_radius","_maxlocalspawned","_maxWeaponHolders","_currentWeaponHolders","_maxtoCreate","_inVehicle","_isAir","_isLand","_isSea","_Controlledzeddivided","_totalcrew","_nearby","_type","_config","_canSpawn","_dis","_checkLoot","_islocal","_bPos","_zombiesNum"]; _age = -1; //_nearbyBuildings = []; _position = [player] call fnc_getPos; _speed = speed (vehicle player); _radius = 200; //150*0.707; Pointless Processing (106.5) _spawnZedRadius = 20; /* //Tick Time PVDZ_getTickTime = player; publicVariableServer "PVDZ_getTickTime"; */ //Total Counts _maxlocalspawned = round(dayz_spawnZombies); _maxControlledZombies = round(dayz_maxLocalZombies); _maxWeaponHolders = round(dayz_maxMaxWeaponHolders); _currentWeaponHolders = round(dayz_currentWeaponHolders); //Limits (Land,Sea,Air) _inVehicle = (vehicle player != player); /* _isAir = vehicle player iskindof "Air"; _isLand = vehicle player iskindof "Land"; _isSea = vehicle player iskindof "Sea"; if (_isLand) then { } else { }; if (_isAir) then { } else { }; if (_isSea) then { } else { }; */ _doNothing = false; if (_inVehicle) then { _Controlledzeddivided = 0; //exit if too fast if (_speed > 25) exitwith {_doNothing = true;}; //Crew can spawn zeds. _totalcrew = count (crew (vehicle player)); if (_totalcrew > 1) then { _Controlledzeddivided = 2; //Dont allow driver to spawn if we have other crew members. if (player == driver (vehicle player)) exitwith {_doNothing = true;}; } else { _Controlledzeddivided = 4; }; if (_Controlledzeddivided > 0) then { _maxControlledZombies = round(_maxControlledZombies / _Controlledzeddivided); r_player_divideinvehicle = _Controlledzeddivided; }; }; if (_doNothing) exitwith {}; /*if ("ItemMap_Debug" in items player) then { deleteMarkerLocal "MaxZeds"; deleteMarkerLocal "Counter"; deleteMarkerLocal "Loot30"; deleteMarkerLocal "Loot120"; deleteMarkerLocal "Agro80"; _markerstr = createMarkerLocal ["MaxZeds", _position]; _markerstr setMarkerColorLocal "ColorYellow"; _markerstr setMarkerShapeLocal "ELLIPSE"; _markerstr setMarkerBrushLocal "Border"; _markerstr setMarkerSizeLocal [_radius, _radius]; _markerstr1 = createMarkerLocal ["Counter", _position]; _markerstr1 setMarkerColorLocal "ColorRed"; _markerstr1 setMarkerShapeLocal "ELLIPSE"; _markerstr1 setMarkerBrushLocal "Border"; _markerstr1 setMarkerSizeLocal [_radius+100, _radius+100]; _markerstr2 = createMarkerLocal ["Agro80", _position]; _markerstr2 setMarkerColorLocal "ColorRed"; _markerstr2 setMarkerShapeLocal "ELLIPSE"; _markerstr2 setMarkerBrushLocal "Border"; _markerstr2 setMarkerSizeLocal [80, 80]; _markerstr2 = createMarkerLocal ["Loot30", _position]; _markerstr2 setMarkerColorLocal "ColorRed"; _markerstr2 setMarkerShapeLocal "ELLIPSE"; _markerstr2 setMarkerBrushLocal "Border"; _markerstr2 setMarkerSizeLocal [30, 30]; _markerstr3 = createMarkerLocal ["Loot120", _position]; _markerstr3 setMarkerColorLocal "ColorBlue"; _markerstr3 setMarkerShapeLocal "ELLIPSE"; _markerstr3 setMarkerBrushLocal "Border"; _markerstr3 setMarkerSizeLocal [120, 120]; diag_log ("LocalZombies: " +str(dayz_spawnZombies) + "/" +str(dayz_maxLocalZombies)); //Logging diag_log (format["%1 Local.Agents: %2/%3, NearBy.Agents: %8/%9, Global.Agents: %6/%7, W.holders: %10/%11, (radius:%4m %5fps).","SpawnCheck", _maxlocalspawned, _maxControlledZombies, _radius, round diag_fpsmin,dayz_currentGlobalZombies, dayz_maxGlobalZeds, dayz_CurrentNearByZombies, dayz_maxNearByZombies, _currentWeaponHolders,_maxWeaponHolders]); };*/ // nearObjects is faster than nearestObjects when sorting by distance isn't needed // "Building" includes House and all of its child classes (Crashsite, IC_Fireplace1, IC_Tent, etc.) _nearby = _position nearObjects ["Building",_radius]; _maxlocalspawned = _maxlocalspawned max floor(_maxControlledZombies*.8); if (_maxlocalspawned > 0) then { _spawnZedRadius = _spawnZedRadius * 3; }; //Spawn Zeds & loot in buildings { _type = typeOf _x; _config = missionConfigFile >> "CfgLoot" >> "Buildings" >> _type; _canSpawn = isClass (_config); if (_canSpawn) then { _dis = _x distance player; _checkLoot = (count (getArray (_config >> "lootPos"))) > 0; _islocal = _x getVariable ["", false]; // object created locally via TownGenerator. //Make sure wrecks always spawn Zeds _isWreck = _x isKindOf "CrashSite"; //Loot if (getNumber(_config >> "lootChance") > 0) then { if (_currentWeaponHolders < _maxWeaponHolders) then { //Basic loot check if ((_dis < 125) and (_dis > 30) and !_inVehicle and _checkLoot) then { _serverTime = serverTime; _looted = (_x getVariable ["looted",_serverTime]); _age = _serverTime - _looted; //Building refresh rate if (_age == 0 or (_age > getNumber(_config >> "lootRefreshTimer"))) then { _x setVariable ["looted",_serverTime,!_islocal]; _x call building_spawnLoot; if (!(_x in dayz_buildingBubbleMonitor)) then { dayz_buildingBubbleMonitor set [count dayz_buildingBubbleMonitor, _x]; }; //diag_log [ diag_tickTime, "new loot at",_x,"age:", _age, "serverTime:", _serverTime]; }/* else { diag_log [ diag_tickTime, "won't spawn loot at",_x,"age:", _age, "serverTime:", _serverTime]; }*/; }; }; }; //Zeds if (getNumber(_config >> "zombieChance") > 0) then { if (_dis > _spawnZedRadius) then { _serverTime = serverTime; _zombied = (_x getVariable ["zombieSpawn",_serverTime]); _age = _serverTime - _zombied; if ((_age == 0) or (_age > 300)) then { if (!_isWreck) then { if ((dayz_spawnZombies < _maxControlledZombies) and (dayz_CurrentNearByZombies < dayz_maxNearByZombies) and (dayz_currentGlobalZombies < dayz_maxGlobalZeds)) then { _bPos = getPosATL _x; _zombiesNum = count (_bPos nearEntities ["zZombie_Base",(((sizeOf _type) * 2) + 10)]); if (_zombiesNum == 0) then { _x setVariable ["zombieSpawn",_serverTime,!_islocal]; if (!(_x in dayz_buildingBubbleMonitor)) then { //add active zed to var dayz_buildingBubbleMonitor set [count dayz_buildingBubbleMonitor, _x]; }; //start spawn [_x] call building_spawnZombies; }; //diag_log (format["%1 building. %2", __FILE__, _x]); }; } else { _bPos = getPosATL _x; _zombiesNum = count (_bPos nearEntities ["zZombie_Base",(((sizeOf _type) * 2) + 30)]); //Should be a wreck if (_zombiesNum == 0) then { [_x,_isWreck] call building_spawnZombies; }; }; }; }; }; }; } forEach _nearby; At first I thought it was a respawn timer issue or something like that but if you don't move the loot will stay, you have to back away from it or someone else has to get within range and its not like you have to run away for this to happen, you can just back up a few steps and watch the loot change right infront of you. I have been playing around with it just trying to see if i can figure it out but if anyone knows what i should do or can at least point me in the right direction it would be a huge help.
       
      Thanks
  • Advertisement
  • Supporters
  • Discord

×
×
  • Create New...