Jump to content

Question

whats involved in creating custom weapon attachments? for example, if I wanted to right click my Makarov and attach the pistol flashlight attachment from the weapon trader or add an acog scope to my kar 98 rifle

Share this post


Link to post
Share on other sites

10 answers to this question

Recommended Posts

  • 0

It's in each weapon config in dayz_code.pbo, which must not be edited.
I'm using right-click addon with customized attachAttachment.sqf

Spoiler

/*
    [InputAttachment,OutputWeapon,InputWeapon] call 'Custom\attachAttachment.sqf';
    Modified player_attachAttachment.sqf
*/

#include "\z\addons\dayz_code\util\Player.hpp"

private ["_attachment","_weapon","_newWeapon","_weaponInUse","_muzzle"];

//check if player is on a ladder and if so, exit
if (Player_IsOnLadder()) exitWith {
    closeDialog 0;
    (localize "str_player_21") call dayz_rollingMessages;
};

//name of items
_attachment = _this select 0;
_weapon = _this select 2;
_newWeapon = _this select 1;

//check if player has the attachment
if (!(_attachment in magazines player)) exitWith {
    closeDialog 0;
    localize "str_missingAttachment" call dayz_rollingMessages;
};

//check if player has the weapon
if (!(player hasWeapon _weapon)) exitWith {
    closedialog 0;
    localize "str_AttachmentmissingWeapon" call dayz_rollingMessages;
};

_weaponInUse = (currentWeapon player == _weapon);

call gear_ui_init;
player playActionNow "Medic";

sleep 3;

//remove attachment from inventory and replace weapon
player removeMagazine _attachment;
player removeWeapon _weapon;
player addWeapon _newWeapon;

//close gear
(findDisplay 106) closeDisplay 0;

//Select new weapon if the old was in use
if (_weaponInUse) then {
    _muzzle = (getArray (configFile >> "CfgWeapons" >> _newWeapon >> "muzzles")) select 0;
    if (_muzzle == "this") then
    {
        player selectWeapon _newWeapon;
    }
    else
    {
        player selectWeapon _muzzle;
    };
};

and removeAttachment.sqf

Spoiler

/*
    [OutputAttachment,InputWeapon,OutputWeapon] call 'Custom\removeAttachment.sqf';
    Modified player_removeAttachment.sqf
*/

#include "\z\addons\dayz_code\util\Player.hpp"

private ["_attachment","_weapon","_newWeapon","_weaponInUse","_muzzle"];

//check if player is on a ladder and if so, exit
if (Player_IsOnLadder()) exitWith {
    closeDialog 0;
    (localize "str_player_21") call dayz_rollingMessages;
};

_attachment = _this select 0;
_weapon = _this select 1;
_newWeapon = _this select 2;

//check that player has enough room in inventory
//Remove melee magazines (BIS_fnc_invAdd and BIS_fnc_invSlotsEmpty fix)
false call dz_fn_meleeMagazines;
if ((([player] call BIS_fnc_invSlotsEmpty) select 4) < 1) exitWith {
    closeDialog 0;
    (localize "str_player_24") call dayz_rollingMessages;
    true call dz_fn_meleeMagazines;
};
true call dz_fn_meleeMagazines;

//check that player has the weapon
if (!(player hasWeapon _weapon)) exitWith {
    closeDialog 0;
    (localize "str_AttachmentMissingWeapon3") call dayz_rollingMessages;
};

_weaponInUse = (currentWeapon player == _weapon);

call gear_ui_init;
player playActionNow "Medic";

sleep 3;

//replace weapon and add attachment to inventory
player removeWeapon _weapon;
player addWeapon _newWeapon;
player addMagazine _attachment;

//close gear
(findDisplay 106) closeDisplay 0;

//Select new weapon if the old was in use
if (_weaponInUse) then {
    _muzzle = (getArray (configFile >> "CfgWeapons" >> _newWeapon >> "muzzles")) select 0;
    if (_muzzle == "this") then
    {
        player selectWeapon _newWeapon;
    }
    else
    {
        player selectWeapon _muzzle;
    };
};

to enable attach&detach attachments like these below:

Spoiler

    ["SCAR_L_CQC","Attach Holo","['Attachment_Holo','SCAR_L_CQC_Holo','SCAR_L_CQC'] execVM 'Custom\attachAttachment.sqf';","true"],
    ["SCAR_L_CQC_Holo","Attach GL","['Attachment_M203','SCAR_L_CQC_EGLM_Holo','SCAR_L_CQC_Holo'] execVM 'Custom\attachAttachment.sqf';","true"],
    ["SCAR_L_CQC_Holo","Remove Holo","['Attachment_Holo','SCAR_L_CQC_Holo','SCAR_L_CQC'] execVM 'Custom\removeAttachment.sqf';","true"],
    ["SCAR_L_CQC_EGLM_Holo","Remove GL","['Attachment_M203','SCAR_L_CQC_EGLM_Holo','SCAR_L_CQC_Holo'] execVM 'Custom\removeAttachment.sqf';","true"],

    ["PKM_DZ","Attach Scope","['Attachment_PSO1','Pecheneg_DZ','PKM_DZ'] execVM 'Custom\attachAttachment.sqf';","true"],
    ["Pecheneg_DZ","Remove Scope","['Attachment_PSO1','Pecheneg_DZ','PKM_DZ'] execVM 'Custom\removeAttachment.sqf';","true"],

    ["m8_tws","Attach Suppressor","['Attachment_Sup556','m8_tws_sd','m8_tws'] execVM 'Custom\attachAttachment.sqf';","true"],
    ["m8_tws_sd","Remove Suppressor","['Attachment_Sup556','m8_tws_sd','m8_tws'] execVM 'Custom\removeAttachment.sqf';","true"],

    ["AK_107_pso","Attach GL","['Attachment_GP25','AK_107_GL_pso','AK_107_pso'] execVM 'Custom\attachAttachment.sqf';","true"],
    ["AK_107_GL_pso","Remove GL","['Attachment_GP25','AK_107_GL_pso','AK_107_pso'] execVM 'Custom\removeAttachment.sqf';","true"],
    ["AK_107_kobra","Attach GL","['Attachment_GP25','AK_107_GL_kobra','AK_107_kobra'] execVM 'Custom\attachAttachment.sqf';","true"],
    ["AK_107_GL_kobra","Remove GL","['Attachment_GP25','AK_107_GL_kobra','AK_107_kobra'] execVM 'Custom\removeAttachment.sqf';","true"],

    ["L85_Holo_DZ","Attach GL","['Attachment_M203','BAF_L85A2_UGL_Holo','L85_Holo_DZ'] execVM 'Custom\attachAttachment.sqf';","true"],
    ["BAF_L85A2_UGL_Holo","Remove GL","['Attachment_M203','BAF_L85A2_UGL_Holo','L85_Holo_DZ'] execVM 'Custom\removeAttachment.sqf';","true"],
    ["BAF_L85A2_RIS_ACOG","Attach GL","['Attachment_M203','BAF_L85A2_UGL_ACOG','BAF_L85A2_RIS_ACOG'] execVM 'Custom\attachAttachment.sqf';","true"],
    ["BAF_L85A2_UGL_ACOG","Remove GL","['Attachment_M203','BAF_L85A2_UGL_ACOG','BAF_L85A2_RIS_ACOG'] execVM 'Custom\removeAttachment.sqf';","true"],
    ["BAF_L85A2_RIS_SUSAT","Attach GL","['Attachment_M203','BAF_L85A2_UGL_SUSAT','BAF_L85A2_RIS_SUSAT'] execVM 'Custom\attachAttachment.sqf';","true"],
    ["BAF_L85A2_UGL_SUSAT","Remove GL","['Attachment_M203','BAF_L85A2_UGL_SUSAT','BAF_L85A2_RIS_SUSAT'] execVM 'Custom\removeAttachment.sqf';","true"],

 

Share this post


Link to post
Share on other sites
  • 0
On 12/5/2017 at 1:05 AM, dodget90 said:

whats involved in creating custom weapon attachments? for example, if I wanted to right click my Makarov and attach the pistol flashlight attachment from the weapon trader or add an acog scope to my kar 98 rifle

Unfortunately you can't put whatever you want on whatever gun since they require new models.

@Schalldampferis using click actions by @mudzereli it's one of the dependencies for deploy anything also by mudzereli.

Share this post


Link to post
Share on other sites
  • 0

if I'm in the trader's menu buying a weapon and it says on the right what attachments said weapon can have and the font turns blue or green letting me know said attachment fits my weapon, where is the file so I can add my changes in there

Share this post


Link to post
Share on other sites
  • 0
5 hours ago, dodget90 said:

if I'm in the trader's menu buying a weapon and it says on the right what attachments said weapon can have and the font turns blue or green letting me know said attachment fits my weapon, where is the file so I can add my changes in there

https://github.com/EpochModTeam/DayZ-Epoch/blob/master/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_fillBuyableList.sqf#L20-L22

Share this post


Link to post
Share on other sites
  • 0
5 hours ago, salival said:

 

if (isText(configFile >> "CfgWeapons" >> _x >> "Attachments" >> _name) or _name in getArray (configFile >> "CfgWeapons" >> _x >> "magazines")) then {
 is this what I'm looking for, do I need to make my own config file for each weapon I modify? , the problem im having is when I go into the weapon menu and say click on the m9 for example, it will show me the weapon name, the magazines it can use and the attachments in this example it says I can use a 9mm Suppressor, if I then buy the weapon and then go back into the traders and select the attachments list then the 9mm suppresor text will be blue if it attaches to my weapon and green if I already have it, but the weapons I have modified still say attachments none in the trader list, what you guys have already helped me with I can right click the weapon in my inventory and attach things no problem there but I cant click on the attachments and attach them that way, I hope I explained this well and I appreciate the help so far I was just wondering if this is possible

Share this post


Link to post
Share on other sites
  • 0
19 minutes ago, dodget90 said:

 

if (isText(configFile >> "CfgWeapons" >> _x >> "Attachments" >> _name) or _name in getArray (configFile >> "CfgWeapons" >> _x >> "magazines")) then {
 is this what I'm looking for, do I need to make my own config file for each weapon I modify? , the problem im having is when I go into the weapon menu and say click on the m9 for example, it will show me the weapon name, the magazines it can use and the attachments in this example it says I can use a 9mm Suppressor, if I then buy the weapon and then go back into the traders and select the attachments list then the 9mm suppresor text will be blue if it attaches to my weapon and green if I already have it, but the weapons I have modified still say attachments none in the trader list, what you guys have already helped me with I can right click the weapon in my inventory and attach things no problem there but I cant click on the attachments and attach them that way, I hope I explained this well and I appreciate the help so far I was just wondering if this is possible

I'm unsure if you understand what I was saying, you can't make custom attachments, the attachment system basically swaps out the gun for a different version that has said attachment

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
Answer this question...

×   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 FG_Trap
      Made this in my free time awhile ago thought id make it public.
      Right Alt is the key to open the menu.
      Install instructions are inside the download.
      https://github.com/NWDZ-Trapxxgods/traps-menu
       
       
      here is a picture of the server menu
       
    • By spitfirez404
      Hey, everyone I have built a cave with added trees and more I use on my server it can be used for a custom Ai mission or whatever you would like to use it for on the map Chernarus! Just add in the ai or what you want.
      Use notepad++ or whatever you normally use and make a mission.sqm file place this code (Below) inside of it.
      At the bottom of the code where it says "Hallows Cave" you can rename it whatever you like.
      Use the A2 editor and merge this with your original mission.sqm make sure to keep the original mission.sqm from your server in case you do not like it.
      Hope you like it! :) 
      version=11; class Mission { addOns[]= { "map_eu", "caair2_uh1y", "CAMisc", "camisc3", "chernarus" }; addOnsAuto[]= { "map_eu", "caair2_uh1y", "CAMisc", "camisc3", "chernarus" }; randomSeed=7826573; class Intel { startWeather=0.40000001; forecastWeather=0.25; year=2008; month=10; day=11; hour=14; minute=20; }; class Vehicles { items=65; class Item0 { position[]={1308.886,0.1181917,5812.1128}; azimut=175.6563; id=0; side="EMPTY"; vehicle="MAP_R2_RockWall"; skill=0.2; init="this setpos [1308.886, 5812.1128, 0.1181917];"; }; class Item1 { position[]={1337.8951,0.00010681152,5812.9761}; azimut=-183.59708; id=1; side="EMPTY"; vehicle="MAP_R2_RockWall"; skill=0.2; init="this setpos [1337.8951, 5812.9761, 0.00010681152];"; }; class Item2 { position[]={1279.5168,-3.0517578e-005,5810.7354}; azimut=-184.08788; id=2; side="EMPTY"; vehicle="MAP_R2_RockWall"; skill=0.2; init="this setpos [1279.5168, 5810.7354, -3.0517578e-005];"; }; class Item3 { position[]={1263.7977,3.0517578e-005,5797.2485}; azimut=83.567741; id=3; side="EMPTY"; vehicle="MAP_R2_RockWall"; skill=0.2; init="this setpos [1263.7977, 5797.2485, 3.0517578e-005];"; }; class Item4 { position[]={1353.0201,-1.5258789e-005,5791.4214}; azimut=-100.02558; id=4; side="EMPTY"; vehicle="MAP_R2_RockWall"; skill=0.2; init="this setpos [1353.0201, 5791.4214, -1.5258789e-005];"; }; class Item5 { position[]={1352.4172,0.00015258789,5756.6089}; azimut=-95.953461; id=5; side="EMPTY"; vehicle="MAP_R2_RockWall"; skill=0.2; init="this setpos [1352.4172, 5756.6089, 0.00015258789];"; }; class Item6 { position[]={1266.1676,0.00033569336,5757.0713}; azimut=78.796616; id=6; side="EMPTY"; vehicle="MAP_R2_RockWall"; skill=0.2; init="this setpos [1266.1676, 5757.0713, 0.00033569336];"; }; class Item7 { position[]={1292.1116,25.500643,5798.3506}; azimut=175.98927; id=7; side="EMPTY"; vehicle="MAP_R2_RockWall"; skill=0.2; init="this setpos [1292.1116, 5798.3506, 25.500643];"; }; class Item8 { position[]={1330.1263,26.658922,5798.1104}; azimut=177.82625; id=8; side="EMPTY"; vehicle="MAP_R2_RockWall"; skill=0.2; init="this setpos [1330.1263, 5798.1104, 26.658922];"; }; class Item9 { position[]={1292.7681,24.582647,5781.6655}; azimut=172.31401; id=9; side="EMPTY"; vehicle="MAP_R2_RockWall"; skill=0.2; init="this setpos [1292.7681, 5781.6655, 24.582647];"; }; class Item10 { position[]={1332.5977,25.092699,5782.042}; azimut=177.05884; id=10; side="EMPTY"; vehicle="MAP_R2_RockWall"; skill=0.2; init="this setpos [1332.5977, 5782.042, 25.092699];"; }; class Item11 { position[]={1288.6293,25.61083,5763.2319}; azimut=178.23929; id=11; side="EMPTY"; vehicle="MAP_R2_RockWall"; skill=0.2; init="this setpos [1288.6293, 5763.2319, 25.61083];"; }; class Item12 { position[]={1327.7802,27.711185,5760.9395}; azimut=170.81143; id=12; side="EMPTY"; vehicle="MAP_R2_RockWall"; skill=0.2; init="this setpos [1327.7802, 5760.9395, 27.711185];"; }; class Item13 { position[]={1330.2716,23.567842,5746.3193}; azimut=182.9642; id=13; side="EMPTY"; vehicle="MAP_R2_RockWall"; skill=0.2; init="this setpos [1330.2716, 5746.3193, 23.567842];"; }; class Item14 { position[]={1289.9707,23.964474,5744.1226}; azimut=183.20248; id=14; side="EMPTY"; vehicle="MAP_R2_RockWall"; skill=0.2; init="this setpos [1289.9707, 5744.1226, 23.964474];"; }; class Item15 { position[]={1343.7726,0.00018310547,5738.4648}; id=15; side="EMPTY"; vehicle="MAP_R2_RockTower"; skill=0.2; init="this setpos [1343.7726, 5738.4648, 0.00018310547];"; }; class Item16 { position[]={1310.6842,6.1035156e-005,5731.2124}; id=16; side="EMPTY"; vehicle="MAP_R2_RockTower"; skill=0.2; init="this setpos [1310.6842, 5731.2124, 6.1035156e-005];"; }; class Item17 { position[]={1280.5291,0.00012207031,5737.0176}; id=17; side="EMPTY"; vehicle="MAP_R2_RockTower"; skill=0.2; init="this setpos [1280.5291, 5737.0176, 0.00012207031];"; }; class Item18 { position[]={1386.9114,-15.594225,5725.9766}; id=18; side="EMPTY"; vehicle="MAP_R2_RockTower"; skill=0.2; init="this setpos [1386.9114, 5725.9766, -15.594225];"; }; class Item19 { position[]={1230.8561,-15.415525,5720.2939}; id=19; side="EMPTY"; vehicle="MAP_R2_RockTower"; skill=0.2; init="this setpos [1230.8561, 5720.2939, -15.415525];"; }; class Item20 { position[]={1319.9504,0.00019836426,5730.3481}; id=20; side="EMPTY"; vehicle="MAP_R2_Stone"; skill=0.2; init="this setpos [1319.9504, 5730.3481, 0.00019836426];"; }; class Item21 { position[]={1327.1923,4.5776367e-005,5738.917}; id=21; side="EMPTY"; vehicle="MAP_R2_Boulder2"; skill=0.2; init="this setpos [1327.1923, 5738.917, 4.5776367e-005];"; }; class Item22 { position[]={1337.9111,7.6293945e-005,5754.7773}; id=22; side="EMPTY"; vehicle="MAP_R2_Boulder1"; skill=0.2; init="this setpos [1337.9111, 5754.7773, 7.6293945e-005];"; }; class Item23 { position[]={1285.358,7.6293945e-005,5729.2915}; id=23; side="EMPTY"; vehicle="MAP_R2_Boulder1"; skill=0.2; init="this setpos [1285.358, 5729.2915, 7.6293945e-005];"; }; class Item24 { position[]={1284.3668,0.00016784668,5751.1152}; id=24; side="EMPTY"; vehicle="MAP_R2_Boulder1"; skill=0.2; init="this setpos [1284.3668, 5751.1152, 0.00016784668];"; }; class Item25 { position[]={1310.3997,-3.0517578e-005,5719.9819}; id=25; side="EMPTY"; vehicle="MAP_R2_Boulder1"; skill=0.2; init="this setpos [1310.3997, 5719.9819, -3.0517578e-005];"; }; class Item26 { position[]={1272.9858,-3.0517578e-005,5802.6533}; id=26; side="EMPTY"; vehicle="MAP_R2_Boulder1"; skill=0.2; init="this setpos [1272.9858, 5802.6533, -3.0517578e-005];"; }; class Item27 { position[]={1345.4098,-4.5776367e-005,5729.5298}; id=27; side="EMPTY"; vehicle="MAP_R2_Boulder1"; skill=0.2; init="this setpos [1345.4098, 5729.5298, -4.5776367e-005];"; }; class Item28 { position[]={1319.2845,0,5751.3809}; id=28; side="EMPTY"; vehicle="MAP_R2_Boulder1"; skill=0.2; }; class Item29 { position[]={1302.6494,0.00012207031,5723.6025}; id=29; side="EMPTY"; vehicle="MAP_R2_Boulder1"; skill=0.2; init="this setpos [1302.6494, 5723.6025, 0.00012207031];"; }; class Item30 { position[]={1333.9025,4.5776367e-005,5737.189}; id=30; side="EMPTY"; vehicle="MAP_R2_Boulder1"; skill=0.2; init="this setpos [1333.9025, 5737.189, 4.5776367e-005];"; }; class Item31 { position[]={1318.0431,1.5258789e-005,5784.6226}; id=31; side="EMPTY"; vehicle="MAP_R2_Boulder1"; skill=0.2; init="this setpos [1318.0431, 5784.6226, 1.5258789e-005];"; }; class Item32 { position[]={1263.4698,4.5776367e-005,5722.6357}; id=32; side="EMPTY"; vehicle="MAP_R2_Boulder1"; skill=0.2; init="this setpos [1263.4698, 5722.6357, 4.5776367e-005];"; }; class Item33 { position[]={1293.6953,1.5258789e-005,5764.6636}; id=33; side="EMPTY"; vehicle="MAP_R2_Boulder1"; skill=0.2; init="this setpos [1293.6953, 5764.6636, 1.5258789e-005];"; }; class Item34 { position[]={1358.4407,4.5776367e-005,5730.458}; id=34; side="EMPTY"; vehicle="MAP_R2_Boulder2"; skill=0.2; init="this setpos [1358.4407, 5730.458, 4.5776367e-005];"; }; class Item35 { position[]={1351.8339,9.1552734e-005,5722.1943}; id=35; side="EMPTY"; vehicle="MAP_R2_Boulder2"; skill=0.2; init="this setpos [1351.8339, 5722.1943, 9.1552734e-005];"; }; class Item36 { position[]={1316.3303,0.00012207031,5721.6694}; id=36; side="EMPTY"; vehicle="MAP_R2_Boulder2"; skill=0.2; init="this setpos [1316.3303, 5721.6694, 0.00012207031];"; }; class Item37 { position[]={1278.1462,6.1035156e-005,5727.2095}; id=37; side="EMPTY"; vehicle="MAP_R2_Boulder2"; skill=0.2; init="this setpos [1278.1462, 5727.2095, 6.1035156e-005];"; }; class Item38 { position[]={1348.8813,1.5258789e-005,5725.9893}; id=38; side="EMPTY"; vehicle="MAP_t_carpinus2s"; skill=0.2; init="this setpos [1348.8813, 5725.9893, 1.5258789e-005];"; }; class Item39 { position[]={1278.8987,0,5723.5278}; id=39; side="EMPTY"; vehicle="MAP_t_carpinus2s"; skill=0.2; }; class Item40 { position[]={1312.1283,6.1035156e-005,5716.896}; id=40; side="EMPTY"; vehicle="MAP_t_acer2s"; skill=0.2; init="this setpos [1312.1283, 5716.896, 6.1035156e-005];"; }; class Item41 { position[]={1224.8661,4.5776367e-005,5812.3364}; id=41; side="EMPTY"; vehicle="MAP_t_betula2s"; skill=0.2; init="this setpos [1224.8661, 5812.3364, 4.5776367e-005];"; }; class Item42 { position[]={1267.177,1.5258789e-005,5691.4517}; id=42; side="EMPTY"; vehicle="MAP_t_betula2s"; skill=0.2; init="this setpos [1267.177, 5691.4517, 1.5258789e-005];"; }; class Item43 { position[]={1391.4387,4.5776367e-005,5717.2666}; id=43; side="EMPTY"; vehicle="MAP_t_betula2s"; skill=0.2; init="this setpos [1391.4387, 5717.2666, 4.5776367e-005];"; }; class Item44 { position[]={1362.6277,0.00018310547,5691.1436}; azimut=66.556885; id=44; side="EMPTY"; vehicle="MAP_t_betula2s"; skill=0.2; init="this setpos [1362.6277, 5691.1436, 0.00018310547];"; }; class Item45 { position[]={1372.9424,0.00010681152,5646.2871}; id=45; side="EMPTY"; vehicle="MAP_t_fagus2f"; skill=0.2; init="this setpos [1372.9424, 5646.2871, 0.00010681152];"; }; class Item46 { position[]={1303.2216,0.00015258789,5666.5625}; id=46; side="EMPTY"; vehicle="MAP_t_fagus2f"; skill=0.2; init="this setpos [1303.2216, 5666.5625, 0.00015258789];"; }; class Item47 { position[]={1335.0012,1.5258789e-005,5623.2314}; id=47; side="EMPTY"; vehicle="MAP_t_fagus2f"; skill=0.2; init="this setpos [1335.0012, 5623.2314, 1.5258789e-005];"; }; class Item48 { position[]={1293.4785,-0.00021362305,5616.0273}; id=48; side="EMPTY"; vehicle="MAP_t_fagus2f"; skill=0.2; init="this setpos [1293.4785, 5616.0273, -0.00021362305];"; }; class Item49 { position[]={1361.7677,0.0001373291,5605.0732}; id=49; side="EMPTY"; vehicle="MAP_t_fagus2f"; skill=0.2; init="this setpos [1361.7677, 5605.0732, 0.0001373291];"; }; class Item50 { position[]={1395.4496,0.00010681152,5770.7378}; id=50; side="EMPTY"; vehicle="MAP_t_fagus2f"; skill=0.2; init="this setpos [1395.4496, 5770.7378, 0.00010681152];"; }; class Item51 { position[]={1387.2894,0.0002746582,5826.9111}; id=51; side="EMPTY"; vehicle="MAP_t_fagus2f"; skill=0.2; init="this setpos [1387.2894, 5826.9111, 0.0002746582];"; }; class Item52 { position[]={1333.8317,3.0517578e-005,5666.271}; id=52; side="EMPTY"; vehicle="MAP_t_picea2s"; skill=0.2; init="this setpos [1333.8317, 5666.271, 3.0517578e-005];"; }; class Item53 { position[]={1291.162,0.00051879883,5633.918}; id=53; side="EMPTY"; vehicle="MAP_t_picea2s"; skill=0.2; init="this setpos [1291.162, 5633.918, 0.00051879883];"; }; class Item54 { position[]={1245.4023,9.1552734e-005,5722.3335}; id=54; side="EMPTY"; vehicle="MAP_t_picea2s"; skill=0.2; init="this setpos [1245.4023, 5722.3335, 9.1552734e-005];"; }; class Item55 { position[]={1382.7906,0.00015258789,5688.6479}; id=55; side="EMPTY"; vehicle="MAP_t_picea2s"; skill=0.2; init="this setpos [1382.7906, 5688.6479, 0.00015258789];"; }; class Item56 { position[]={1317.1052,0.00010681152,5610.771}; id=56; side="EMPTY"; vehicle="MAP_t_picea2s"; skill=0.2; init="this setpos [1317.1052, 5610.771, 0.00010681152];"; }; class Item57 { position[]={1304.2625,3.0517578e-005,5696.6387}; id=57; side="EMPTY"; vehicle="MAP_t_picea3f"; skill=0.2; init="this setpos [1304.2625, 5696.6387, 3.0517578e-005];"; }; class Item58 { position[]={1329.5486,0.00016784668,5707.4805}; id=58; side="EMPTY"; vehicle="MAP_t_picea3f"; skill=0.2; init="this setpos [1329.5486, 5707.4805, 0.00016784668];"; }; class Item59 { position[]={1338.825,6.1035156e-005,5618.6816}; id=59; side="EMPTY"; vehicle="MAP_t_picea3f"; skill=0.2; init="this setpos [1338.825, 5618.6816, 6.1035156e-005];"; }; class Item60 { position[]={1292.2566,0.00018310547,5660.4814}; azimut=-189.29378; id=60; side="EMPTY"; vehicle="UH1Wreck"; skill=0.2; init="this setpos [1292.2566, 5660.4814, 0.00018310547];"; }; class Item61 { position[]={1357.3984,0.00033569336,5723.8389}; azimut=55.139076; id=61; side="EMPTY"; vehicle="hiluxWreck"; skill=0.2; init="this setpos [1357.3984, 5723.8389, 0.00033569336];"; }; class Item62 { position[]={1326.6917,18.652861,5740.6152}; azimut=-10.305964; id=62; side="EMPTY"; vehicle="MAP_R2_RockWall"; skill=0.2; init="this setpos [1326.6917, 5740.6152, 18.652861];"; }; class Item63 { position[]={1285.3906,18.872669,5737.8501}; id=63; side="EMPTY"; vehicle="MAP_R2_RockWall"; skill=0.2; init="this setpos [1285.3906, 5737.8501, 18.872669];"; }; class Item64 { position[]={1311.3625,-9.6852903,5776.6274}; azimut=46.218235; id=64; side="EMPTY"; vehicle="MAP_R2_RockTower"; skill=0.2; init="this setpos [1311.3625, 5776.6274, -9.6852903];"; }; }; class Markers { items=1; class Item0 { position[]={1307.9352,6.1035156e-005,5755.5313}; name="Hallows Cave"; text="Hallows Cave"; type="Dot"; colorName="ColorBlack"; }; }; }; class Intro { addOns[]= { "chernarus" }; addOnsAuto[]= { "chernarus" }; randomSeed=7826573; class Intel { startWeather=0.40000001; forecastWeather=0.25; year=2008; month=10; day=11; hour=14; minute=20; }; }; class OutroWin { addOns[]= { "chernarus" }; addOnsAuto[]= { "chernarus" }; randomSeed=7826573; class Intel { startWeather=0.40000001; forecastWeather=0.25; year=2008; month=10; day=11; hour=14; minute=20; }; }; class OutroLoose { addOns[]= { "chernarus" }; addOnsAuto[]= { "chernarus" }; randomSeed=7826573; class Intel { startWeather=0.40000001; forecastWeather=0.25; year=2008; month=10; day=11; hour=14; minute=20; }; };

    • 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
    • By calinova22
      I was wondering if it is possible to make it so that a players humanity would not change for a certain amount of time? I have a PVP arena with a teleport in and I was wanting to make it so people could TP in and fight without worrying about gaining or losing humanity.
    • By calinova22
      How would I go about adding custom vehicles to my server? I want to have an F35B with no weapons. I know how to remove the weapons, just cant find the file for the jet itself to edit.
  • Advertisement
  • Supporters
  • Discord

×
×
  • Create New...