Jump to content
RimBlock

[Release] - A Plot for life v2.5. Keep your buildables on death. Take plot ownership

Recommended Posts

Plot For Life v2.5 with Snap Pro v1.4.1 & Precise Base Building 1.0.4 (Built for Epoch 1.0.5.1)
 
Current Version
Note:
If you are also going to use other building mods (Vector build etc) then please check the other mods have been updated to work with v2.5 before installing.  If they have not then please use A Plot for Life v2.35 which can be downloaded from the links further down this post.
 
 
V2.4 -> 2.5 upgrade.
 
 1. Download and replace the following files in MPMissions\[Mapname]\Custom\Compile.
2. Download and merge (see the diffmerge tutorial links further down) the server files found in $SERVERHOME\custom (changes are fairly minimal).
 
That is it.
 
New features.
  1. Merged in Precise Base Building from his kind permission.  Please show your appreciation to him as well.

 
Core Features.
  • The whole system is is switchable between characterID and PlayerUID by setting a variable.
  • All items built after the mod is installed with have the PlayerUID and the characterID stored for ownership checking (locked buildables will only have the PlayerUID stored as the characterID field is used for the lock code).
  • Includes the 1.0.5.2. code to allow either SteamID or BIS PUID (written by icomrade).
  • You can turn on the plot boundary from the plot pole and remove it.  Currently I am using the road cones with lights on top which are also visible at night.  They can be changed.
  • Take Ownership is available from the plot pole to the plot poles owner and allows them to take ownership of all buildables in range excluding  locked storage (safes / lockboxes), tents, locked doors.  This can be changed as it is all controlled via variables.  The core idea is that this will align peoples bases to the new system for steamID storage on legacy bases.  It also means that raiders can raid a base, replace the plot pole, take ownership and not get full access to locked areas but not have 6 cycles to remove stuff etc after taking over.  Depending on the size of the base, number of objects etc this could put a bit of load on the server / DB.  It is also turn off or on-able via a variable so you can set it only to allow players to realign their bases and then disable the option.
  • New function to check ownership or friendly status of a given object.
  • Merged with Snap Pro and Modular build framework with permission from Raymix Please show you appreciation to Raymix as well).
  • Uses the modular build system.

  • New functions to reduce instances of common code in the building system.  Both are small and precompiled.

    1. fn_check_owner.sqf to check ownership and friendly status

    2. fn_find_plots to get all nearby plot poles and return a count and the nearest alive one (if one exists).

  • Optimised code changing nearestobjects to nearEntities.

  • Added delay in the Take Ownership function so the Hiveext / DB does not get spammed when taking ownership of large bases.

  • Player_build.sqf is no longer used at all and had been removed from the distribution.

  • Optimised code what has saved between 20k & 30k in the mission package size.

 
Install Instructions are in the zip file (A Plot for Life v2.5).
 
Guides on how to use Diffmerge and how to integrate scripts together.
 
Please backup your databases and thoroughly test before putting live.
 
Report any bugs / suggestions in the thread.
 
 
Outstanding issues
  • None reported.

Next Version: 3.0

  • Include a action menu (scroll wheel menu) for plot options and builder / owner management ()

 

Beta Testing

As it seems theres no with an interest to do any beta testing I need to sweeten the deal.  Anyone who helps with beta testing will get access to boobytrapping doors 4 weeks before it is released publicly.  The 4 weeks will start from the v2.4 release date and will include any bug fixing period.  

 

Boobytrapping Doors - If you have a hand grenade then you can upgrade a locked door to boobytrap it.  If the incorrect door code is entered then the hand grenade will be dropped at the position the player was when they boobytrapped the door (make sure you are on the correct side of the door when setting the trap  ;) ).

 

 

Releases
 
Naming convention
 

 
Naming convention is v(Major Change).(Functional addition).(Bugfix) 
 
(Major Change) = i.e. Changing how the ownerUID is stored or an overhaul to allow this mod to exist with Epoch and be turned on or off.

(Functional addition) = i.e. add building maintenance to the mod.

(Bugfix) = Any bug fix releases.

 

 

Previous releases (Majors)

 

 

v2.0 (ARMA II OA 125548 with SteamID - Epoch 1.0.5)

  • Now works with full length SteamID.  
  • Works with safes, tents as well as Epoch buildables.
  • Stores SteamID and characterID - currently only verifies against SteamID.
  • Should be compatible with snap build mods etc.

v1.0

Kudos to WGC GeekGarage for the original concept in his release and all the work tracking down where the changes needed to be made.  That must have been a lot of hard work and I in no way envy the task.
 

 
Use and Distribution License details.
 
This mod is licensed under the DayZ Mod License Share Alike (DML) license.
 
Usage
For people wishing to use the mod for their own servers, please use away.  If advertising the mod as a feature of your servers then a shoutout and a linkback to here would be appreciated but is not a requirement.
 
Distribution
For people wishing to modify and distribute my code for this mod, the requirements are different.
1. You contact me and ask (common courtesy really).
2. You make it clear who the original creator is and provide a link to this thread.
 
Included mods.

A Plot for Life v2.35 (Rimblock). <- is fine.

 

Included mods.

A Plot for Life

 

"credits to each addon / script creator" <- is not.

 

3. The person distributing the mod explicitly states that they are responsible for any issues with their modified version of the mod and not the original creator (i.e. me).

 

4. Any other requirements under the  DayZ Mod License Share Alike (DML) license.

 

Share this post


Link to post
Share on other sites

Error in your compiles.sqf instructions:

 

fnc_usec_damageActions = compile preprocessFileLineNumbers "custom\fn_damageActions.sqf";

 

Should be

 

fnc_usec_damageActions = compile preprocessFileLineNumbers "custom\ConvertpUID\fn_damageActions.sqf";

 

I'm setting up a new server and am installing this now. 

Share this post


Link to post
Share on other sites

Error in your compiles.sqf instructions:

 

fnc_usec_damageActions = compile preprocessFileLineNumbers "custom\fn_damageActions.sqf";

 

Should be

 

fnc_usec_damageActions = compile preprocessFileLineNumbers "custom\ConvertpUID\fn_damageActions.sqf";

 

I'm setting up a new server and am installing this now. 

 

 

Good spot.

 

Thanks for the heads up.  

 

Install instructions have now been amended..

 

RB

Share this post


Link to post
Share on other sites

Can someone confirm friendly tagging is working ?

 

Thanks

 

Sadly not people on my server can't tag others as friendly, I'm going to go look over the code to see if I missed anything will edit post when I'm finished.

Share this post


Link to post
Share on other sites

Sadly not people on my server can't tag others as friendly, I'm going to go look over the code to see if I missed anything will edit post when I'm finished.

 

Will definitely install this when i know Tagging is working :)

 

Good Job

Share this post


Link to post
Share on other sites
Find (Epoch)
_tmpbuilt setVariable ["CharacterID",dayz_characterID,true];
Find (Otternas or  WGC GeekGarage Snapto release)
_object setVariable ["CharacterID",dayz_characterID,true]; 
Change to  (Epoch)
_object setVariable ["CharacterID",_playerUID,true];
Change to (Otternas or  WGC GeekGarage Snapto release)
_object setVariable ["CharacterID",_playerUID,true];
 

 

Are the change to meant to be the same ? And I should also add that I have Epoch yet I had _object not _tmpbuilt

(I have snap build installed)

 

 

_callerID = _caller getVariable "CharacterID";
_targetID = _target getVariable "CharacterID";
Change to 
_caller = [_caller] call convertPlayerUID; 
_targetID = [_target] call convertPlayerUID; 

 

 Shouldn't it be change to _callerID ? Or is the ID dropped on purpose ? ??

 

Any help greatly appreciated.

 

SGCDayZ Server Management

Jonas

 

EDIT:

 

Also when you say edit fn_selfAction.sqf I'm presuimg you meant fn_selfActions.sqf

 

Also when you say find :

s_player_downgrade_build = player addAction [format[localize "STR_EPOCH_ACTIONS_REMLOCK",_text], "\z\addons\dayz_code\actions\player_upgrade.sqf",_cursorTarget, -2, false, true, "",""];

 

I'm presuming that the file path is meant to say player_downgrade.sqf not upgrade since this is the downgrade action not the upgrade ;P

Edited by SGCDayZ

Share this post


Link to post
Share on other sites

Thanks.

 

It is good to have a second set of eyes going over the instructions.  Late nights copying and pasting and typos are gonna creep in somewhere  :( .

 

All apart from the tagfriendly were instruction typos.  The tagfriendly mistake was also a mistake in my code I am running and explains why I could not tag someone on my server (hopefully :) ).

 

All changes made to the first post.

 

RB

Share this post


Link to post
Share on other sites

Thanks.

 

It is good to have a second set of eyes going over the instructions.  Late nights copying and pasting and typos are gonna creep in somewhere  :( .

 

All apart from the tagfriendly were instruction typos.  The tagfriendly mistake was also a mistake in my code I am running and explains why I could not tag someone on my server (hopefully :) ).

 

All changes made to the first post.

 

RB

 

What changes do I make? I already have it installed.

Share this post


Link to post
Share on other sites

What changes do I make? I already have it installed.

 

 

The items listed by SGCDayZ above.  Changes in bold & underline in the quote box (rather than the code box as code boxes do not allow me to format the text).

 

 

7. Copy over "Client_PBO\dayz_code\actions\player_tagFriendly.sqf" to your custom folder and open it up.

 
Find
_callerID = _caller getVariable "CharacterID";
_targetID = _target getVariable "CharacterID";

Change to 

 

_callerID = [_caller] call convertPlayerUID; 

_targetID = [_target] call convertPlayerUID; 

 

 

 

10. Copy over "Client_PBO\dayz_code\actions\player_build.sqf" to the "custom\ConvertpUID\" folder and open it.

 

Find (Epoch)
_tmpbuilt setVariable ["CharacterID",dayz_characterID,true];

Find (Otternas or  WGC GeekGarage Snapto release)

_object setVariable ["CharacterID",dayz_characterID,true];

Change to  (Epoch)

 

_tmpbuilt setVariable ["CharacterID",_playerUID,true];

 

 

Change to (Otternas or  WGC GeekGarage Snapto release)

_object setVariable ["CharacterID",_playerUID,true];

12. Copy over "Client_PBO\dayz_code\actions\fn_selfActions.sqf " to the mission folder and open it.

 

Find

s_player_downgrade_build = player addAction [format[localize "STR_EPOCH_ACTIONS_REMLOCK",_text], "\z\addons\dayz_code\actions\player_buildingDowngrade.sqf",_cursorTarget, -2, false, true, "","];

 

Change to 

s_player_downgrade_build = player addAction [format[localize "STR_EPOCH_ACTIONS_REMLOCK",_text], "custom\ConvertpUID\player_buildingDowngrade.sqf",_cursorTarget, -2, false, true, "",""];

Number 7. is important as it will probably break friendly tagging.

 

Number 10. is important if you are not using the Snap Build releases from Otternas or  WGC GeekGarage

 

The others are typo in what to search for rather than what to replace it with.

 

Hope this is a bit clearer.

 

RB

Share this post


Link to post
Share on other sites

Great glad we got that cleared up unfortunately late last night we discovered another problem now I'm not sure if it's due to our installation or not but after a server restart players we unable to access there plot poles it didn't recognize them as the owner. This being quite a serious issue arguably more so than the tagging since out server restarts every four hours I have uninstalled this addon, however while it was installed it was received greatly by the players despite it's flaws so I'm hoping this can be resolved as quickly as possible.

 

Also in the last SQL bit is char2nine meant to be text2digits. I have very little experience with SQL so I'm just asking as a general question as it only worked when i used text2digits which might be why it's not working

 

Thanks for any help

 

SGCDayZ Server Management

Jonas

Share this post


Link to post
Share on other sites

Great glad we got that cleared up unfortunately late last night we discovered another problem now I'm not sure if it's due to our installation or not but after a server restart players we unable to access there plot poles it didn't recognize them as the owner. This being quite a serious issue arguably more so than the tagging since out server restarts every four hours I have uninstalled this addon, however while it was installed it was received greatly by the players despite it's flaws so I'm hoping this can be resolved as quickly as possible.

 

Also in the last SQL bit is char2nine meant to be text2digits. I have very little experience with SQL so I'm just asking as a general question as it only worked when i used text2digits which might be why it's not working

 

Thanks for any help

 

SGCDayZ Server Management

Jonas

 

That is exactly the issue for the plot pole ownership.  Should be text2digits in the post install sql.  

 

Have been working on the tagging to try and find out the problem but have not found it yet.  On my server, the friendlies are still being saved as characterID rather than the converted playerUID.

 

If someone could check their character_data table for players that have tagged after the install and check the currentstate field.

 

The last set of brackets are the friendlies IDs.

eg.

= [Current weapon, current action, current temp, [friendlies]]

["MakarovSD","",42,["3"]]

 

So the friendlies would be characterID 3 in this case.

 

There seems also to be a limitation in the tag friendlies implementation in that after you tag 5 friendlies, if you tag another it will overwrite the last friendly you tagged (i.e. the first 4 remain the same but the 5th changes).  This is not related to my release, it is standard in Epoch.

 

Not being able to untag friendlies also poses the issue of falling out with a friendly and them still being able to build on your plot.  This is standard Epoch but can be reset by dying and a new character being created.  With this mod there will be no reset.  I may have to look in to better friendlies management as a future enhancement.

 

RB   

Share this post


Link to post
Share on other sites

All player on my server have a friendly state of [], basically no one has any friendly.

 

Another admin on our server has asked if it would be possible to add a menu to plot poles so that when you scroll on it it shows 'Plot Pole Settings' and it would open a gui like your gear where you could select what players are friendly and who aren't. Just an idea.

 

SGCDayZ Server Management

Jonas

Share this post


Link to post
Share on other sites

All player on my server have a friendly state of [], basically no one has any friendly.

 

Another admin on our server has asked if it would be possible to add a menu to plot poles so that when you scroll on it it shows 'Plot Pole Settings' and it would open a gui like your gear where you could select what players are friendly and who aren't. Just an idea.

 

SGCDayZ Server Management

Jonas

 

Sounds like your players are a fan of CCG :D

 

FYI If someone does make that public (as i can't code) Then that would be great

Share this post


Link to post
Share on other sites

All player on my server have a friendly state of [], basically no one has any friendly.

 

Another admin on our server has asked if it would be possible to add a menu to plot poles so that when you scroll on it it shows 'Plot Pole Settings' and it would open a gui like your gear where you could select what players are friendly and who aren't. Just an idea.

 

SGCDayZ Server Management

Jonas

 

Would be good if some of your players could tag each other as friendly and then take a look at what has been recorded.  It would help eliminate if the tagging issue is related to my own setup or the release.  Spending a number of hours testing last night I currently see no reason for it not to work so am leaning towards something in my own setup.  I will build a second server and see if that has the same issue.  I may also open it up so I can at least get some basic user data 'from the wild'.

 

I was also thinking about tying the valid builders to the plot pole, storing the builders playerUID in the plot poles inventory and then providing an option at the plot pole of removing them.  The limitation is that someone would have to remember which PlayerUID related to which player as the players can always change names.

 

As the tag friendly uses the characterstate column which has a max length of 200 characters including the other info stored, storing in a 11 character playerUID rather than a characterID of a few digits is more likely to cause issues in the long run.  The inventory column is longtext with a max of 4.2 billion characters.

 

Popping up another box to manage the builders will take more time and i may look at that after builder management from the plot pole is done.  Note that I am very open to collaboration especially with others who have some artistic skills for icons etc as I am no artist. 

 

I will also put up a proposed list of enhancements in the first the tagging has been resolved in this release.

 

RB

Share this post


Link to post
Share on other sites

Someone has just confirmed that the tagfriendly is also not working on the release this one was optimised from.

 

That means I can target the debugging to the methadology rather than my release instructions or optimisations.

 

I have a thought on what it may be and will hopefully be able to confirm, or not, later today.

 

RB

Share this post


Link to post
Share on other sites

Have just been through a complete build from scratch and have found another amendment to the install instructions.  Install instructions int he first post have been amended.

 

Player_build.sqf (step 10)

 

Find (Epoch)
PVDZE_obj_Publish = [dayz_characterID,_tmpbuilt,[_dir,_location],_classname];and replace
Find (Snapbuild mod)
PVDZE_obj_Publish = [dayz_characterID,_object,[_dir,_location],_classname];and replace

Change to (Epoch)

PVDZE_obj_Publish = [_playerUID,_tmpbuilt,[_dir,_location],_classname];

Change to (Snapbuild mod)

PVDZE_obj_Publish = [_playerUID,_object,[_dir,_location],_classname];

If you have installed the mod without this change and people have built then you can just run the post install SQL to realign the objects to the playerUID when you do this change on the server. 

 

RB

Share this post


Link to post
Share on other sites

Checkout install section 4.

 

Compiles redirect to selfActions was missing (WGC GeekGarage, I don't see it in your instructions either).

 

The only other changes in that section are for readability and have no other affect if you followed them prior to the change.

 

RB

Share this post


Link to post
Share on other sites

On the change to, the file path should be "custom\ConvertpUID\" currently its to "custom\"

 

Don't believe I didn't see this before sadly doesn't fix the problem at least not for me

 

6. Copy over "Client_PBO\dayz_code\compile\fn_damageActions.sqf" to the "custom\ConvertpUID\" folder and open it.

 
Find
_action = _unit addAction ["Tag as friendly", "\z\addons\dayz_code\actions\player_tagFriendly.sqf", [], 0, false, true, "", ""];
Change to 
_action = _unit addAction ["Tag as friendly", "custom\player_tagFriendly.sqf", [], 0, false, true, "", ""]; 

Share this post


Link to post
Share on other sites

Have just been through a complete build from scratch and have found another amendment to the install instructions.  Install instructions int he first post have been amended.

 

Player_build.sqf (step 10)

 

Find (Epoch)
PVDZE_obj_Publish = [dayz_characterID,_tmpbuilt,[_dir,_location],_classname];and replace
Find (Snapbuild mod)
PVDZE_obj_Publish = [dayz_characterID,_object,[_dir,_location],_classname];and replace

Change to (Epoch)

PVDZE_obj_Publish = [_playerUID,_tmpbuilt,[_dir,_location],_classname];

Change to (Snapbuild mod)

PVDZE_obj_Publish = [_playerUID,_object,[_dir,_location],_classname];

If you have installed the mod without this change and people have built then you can just run the post install SQL to realign the objects to the playerUID when you do this change on the server. 

 

RB

 

Please add this to the original post. Also should the finds say "and replace" on the end ?

Share this post


Link to post
Share on other sites

On the change to, the file path should be "custom\ConvertpUID\" currently its to "custom\"

 

Don't believe I didn't see this before sadly doesn't fix the problem at least not for me

 

No... and yes :) .

 

No because the instructions say to copy the tagfriendly custom folder not the custom\ConvertUID folder so that path is correct.

 

Yes because with all the other files being copied to the custom\ConvertUID there seems very little reason to not copy that one there as well.  I almost got tripped up with it when I did the fresh install and so I will change it and will also move the fn_selfActions.sqf so that is put in there as well as they were the only two files not in that directory.

Share this post


Link to post
Share on other sites

Please add this to the original post. Also should the finds say "and replace" on the end ?

 

The Snapbuild one is up already but the Epoch one is not.  Will add it.

 

Only section 5. has the "Replace with" and for no particular reason.   They should all be change to for consistancy unless you have any other thoughts / concerns ?.

 

Update: All items updated in first post.

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 piggd
      WARNING ** THIS REPLACES THE HUMANITY SYSTEM
       
      Mod Features:
      Allows the player to have access to their money all the time.
      Bank is tied to the player via the humanity system and survives character death.
      Auto Deposit bars/brief cases on every sale or purchase
      Player can access balance, deposit and withdraw via player tool menu.
      If a player goes to a negative balance displaying the balance, withdraw or deposit will restore them to zero balance.
      Known Issues:
      First time character creation start the player with 2500 humanity which equates to 25gb.
      Any event that modifies humanity will effect the bank balance (usally in a minor way silve bars in most cases)
       
       

      Thank you too iSaeko for making this video for me.
       
       
      1.   Download the addon from my github by clicking on this link.   (Contains a vanilla epoch chernarus mission.pbo example file).
      2.  On the lower left corner click on the button "Download Zip"
      3   Create a directory called dayz_code and mission_pbo
      4.  Take your mission.pbo file and extract it into the mission_pbo directory
      5.  Unzip the zip file you download from my github and move the custom directory into your mission_pbo directory.
      6.  Copy C:\Program Files (x86)\Steam\SteamApps\common\ARMA 2 Operation Arrowhead\@DayZ_Epoch\addons\dayz_code.pbo into this new direttory (path may vary based on steam installation).
      7.  Extract the dayz_code.pbo into the dayz_code directory you created.
      8.  if you do not already have a fixes directory create one.
      9.  If you do not already have a custom compile then follow these steps other wise you can skip this step.
          copy dayz_code/init/compiles.sqf  mission_pbo/fixes/compules.sqf
      10.  Copy dayz_code/compile/epoch_returnChange.sqf mission_pbo/fixes/epoch_returnChange.sqf
      11.  Edit your init.sqf file and make the following modifications:
       
      from:
      //Load in compiled functions to:
      // ------------------------------------------------------------------------DZE Piggd Banking System Start ------------------------------------------------------------------------ PDZE_PiggdBankSystem = true; // ------------------------------------------------------------------------DZE Piggd Banking System End ------------------------------------------------------------------------ //Load in compiled functions from:
      call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";                //Compile regular functions to:
      // ------------------------------------------------------------------------DZE Piggd Banking System Start ------------------------------------------------------------------------ //call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";                //Compile regular functions call compile preprocessFileLineNumbers "fixes\compiles.sqf";                //Compile regular functions // ------------------------------------------------------------------------DZE Piggd Banking System End ------------------------------------------------------------------------ From:
          //Lights     //[false,12] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";    }; ** NOTE - If you are using
      this entry will already exist with a different comment.
      to:
          //Lights     //[false,12] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf"; // ------------------------------------------------------------------------DZE Piggd Banking System Start ------------------------------------------------------------------------ // Activate Player Menu for Tools     [] execVM "custom\playertools\activate_player_menu.sqf"; // ------------------------------------------------------------------------DZE Piggd Banking System Start ------------------------------------------------------------------------      }; 12.  Edit your fixes\compiles.sqf file and make the following modifications:
       
      From:
      epoch_totalCurrency = {         // total currency         _total_currency = 0;         {             _part =  (configFile >> "CfgMagazines" >> _x);             _worth =  (_part >> "worth");             if isNumber (_worth) then {                 _total_currency = _total_currency + getNumber(_worth);             };         } count (magazines player);         _total_currency     };     epoch_itemCost = {         _trade_total = 0;         {             _part_in_configClass =  configFile >> "CfgMagazines" >> (_x select 0);             if (isClass (_part_in_configClass)) then {                 _part_inWorth = (_part_in_configClass >> "worth");                 if isNumber (_part_inWorth) then {                     _trade_total = _trade_total + (getNumber(_part_inWorth) * (_x select 1));                 };             };         } count _this;         //diag_log format["DEBUG TRADER ITEMCOST: %1", _this];         _trade_total     };     epoch_returnChange =            compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\epoch_returnChange.sqf";     // usage [["partinclassname",4]] call epoch_returnChange; to:
      epoch_totalCurrency = {         // total currency         _total_currency = 0;         {             _part =  (configFile >> "CfgMagazines" >> _x);             _worth =  (_part >> "worth");             if isNumber (_worth) then {                 _total_currency = _total_currency + getNumber(_worth);             };         } count (magazines player); // ------------------------------------------------------------------------DZE Piggd Banking System Start ------------------------------------------------------------------------         if(PDZE_PiggdBankSystem) then {             _humanity = player getVariable["humanity",0];             _total_currency = _total_currency + _humanity;         }; // ------------------------------------------------------------------------DZE Piggd Banking System End ------------------------------------------------------------------------         _total_currency     };     epoch_itemCost = {         _trade_total = 0;         {             _part_in_configClass =  configFile >> "CfgMagazines" >> (_x select 0);             if (isClass (_part_in_configClass)) then {                 _part_inWorth = (_part_in_configClass >> "worth");                 if isNumber (_part_inWorth) then {                     _trade_total = _trade_total + (getNumber(_part_inWorth) * (_x select 1));                 };             };         } count _this;         //diag_log format["DEBUG TRADER ITEMCOST: %1", _this];         _trade_total     }; // ------------------------------------------------------------------------DZE Piggd Banking System Start ------------------------------------------------------------------------ //    epoch_returnChange =            compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\epoch_returnChange.sqf";     epoch_returnChange =            compile preprocessFileLineNumbers "fixes\epoch_returnChange.sqf"; // ------------------------------------------------------------------------DZE Piggd Banking System End ------------------------------------------------------------------------     // usage [["partinclassname",4]] call epoch_returnChange; 13. Edit fixes/epoch_returnChange.sqf
       
      From:
          //diag_log format["DEBUG TRADER CHANGE: %1", _return_change];     if (_return_change >= 0) then {                  // total currency to:
      // ------------------------------------------------------------------------DZE Piggd Banking System Start ------------------------------------------------------------------------     if (_return_change >= 0 and !PDZE_PiggdBankSystem) then { // ------------------------------------------------------------------------DZE Piggd Banking System End ------------------------------------------------------------------------ From:
          if (_silver_1oz > 0) then {             if (_silver_1oz == 1) then {                 player addMagazine "ItemSilverBar";                 //diag_log format["DEBUG TRADER CHANG MADE: %1 x %2", _silver_1oz, "ItemSilverBar"];             } else {                 player addMagazine format["ItemSilverBar%1oz",_silver_1oz];                 //diag_log format["DEBUG TRADER CHANG MADE: %1 x %2", _silver_1oz, "ItemSilverBar"];             };         };         _successful = true; }; }; _successful to:
            if (_silver_1oz > 0) then {             if (_silver_1oz == 1) then {                 player addMagazine "ItemSilverBar";                 //diag_log format["DEBUG TRADER CHANG MADE: %1 x %2", _silver_1oz, "ItemSilverBar"];             } else {                 player addMagazine format["ItemSilverBar%1oz",_silver_1oz];                 //diag_log format["DEBUG TRADER CHANG MADE: %1 x %2", _silver_1oz, "ItemSilverBar"];             };         };         _successful = true; // ------------------------------------------------------------------------DZE Piggd Banking System Start ------------------------------------------------------------------------     } else {         if (PDZE_PiggdBankSystem) then {             _total_currency_dry = player getVariable["humanity",0];             _total_currency_dry = _total_currency_dry + _return_change;             player setVariable["humanity",_total_currency_dry,true];             _successful = true;         }; // ------------------------------------------------------------------------DZE Piggd Banking System End ------------------------------------------------------------------------ }; }; _successful 14. Edit server_traders.sqf
       
      From:
      menu_RU_Functionary1 = [     [["Ammunition",478],["Clothes",476],["Helicopter Armed",493],["Military Armed",562],["Trucks Armed",479],["Weapons",477]],     [],     "hero" ]; to:
      menu_RU_Functionary1 = [     [["Ammunition",478],["Clothes",476],["Helicopter Armed",493],["Military Armed",562],["Trucks Armed",479],["Weapons",477]],     [], // ------------------------------------------------------------------------DZE Piggd Banking System Start ------------------------------------------------------------------------ //    "hero"     "neutral" // ------------------------------------------------------------------------DZE Piggd Banking System End ------------------------------------------------------------------------ ]; from:
      menu_GUE_Soldier_MG = [     [["Ammunition",577],["Clothing",575],["Helicopter Armed",512],["Military Armed",569],["Trucks Armed",534],["Weapons",627]],     [],     "hostile" ]; to:
      menu_GUE_Soldier_MG = [     [["Ammunition",577],["Clothing",575],["Helicopter Armed",512],["Military Armed",569],["Trucks Armed",534],["Weapons",627]],     [], // ------------------------------------------------------------------------DZE Piggd Banking System Start ------------------------------------------------------------------------ //    "hostile"     "neutral" // ------------------------------------------------------------------------DZE Piggd Banking System End ------------------------------------------------------------------------ ]; 15.  Repack your mission pbo and upload to your sever.
       
      Optional Additional Configuration:
       
      **  Chameleon Skin Changer
      If you are using
      and have replaced custom/playertools/player_tools_main.sqf you will need to uncomment the following lines.
       
      from:
      playermenustart = [     ["",true], //    ["Chameleon Male Skins Menu",[],"", -5,[["expression",format[_EXECscript1,_pathtochameleon + "male_dialog.sqf"]]],"1","1"], //    ["Chameleon Female Skins Menu",[],"", -5,[["expression",format[_EXECscript1,_pathtochameleon + "female_dialog.sqf"]]],"1","1"],     ["DZE Piggd Banking System >>", [], "#USER:bankmenu", -5, [["expression", ""]], "1", "1"],            //    ["Weather/Time Menu (Local Only) >>", [], "#USER:WTMenu", -5, [["expression", ""]], "1", "1"],                ["", [], "", -5, [["expression", ""]], "1", "0"],     ["Main Menu", [20], "#USER:playermenustart", -5, [["expression", ""]], "1", "1"]        ]; to:
      playermenustart = [     ["",true],     ["Chameleon Male Skins Menu",[],"", -5,[["expression",format[_EXECscript1,_pathtochameleon + "male_dialog.sqf"]]],"1","1"],     ["Chameleon Female Skins Menu",[],"", -5,[["expression",format[_EXECscript1,_pathtochameleon + "female_dialog.sqf"]]],"1","1"],     ["DZE Piggd Banking System >>", [], "#USER:bankmenu", -5, [["expression", ""]], "1", "1"],            //    ["Weather/Time Menu (Local Only) >>", [], "#USER:WTMenu", -5, [["expression", ""]], "1", "1"],                ["", [], "", -5, [["expression", ""]], "1", "0"],     ["Main Menu", [20], "#USER:playermenustart", -5, [["expression", ""]], "1", "1"]        ]; 15.  Repack your mission pbo and upload to your sever.
       
       
      Email: [email protected]
      Website: Piggd Dayz Gaming
      Donate to piggd
    • By vbawol
      Open world survival mod set just two years after the mass extinction of billions of people. Those that remain are left with remnants of a once technological society. Try to survive, build, or explore your way through the harsh dynamic environment.
      Features
      Powerful persistence framework for Arma 3 with native Windows and Linux dedicated server support. Fully configurable script based security checks. Base Building re-envisioned for Arma 3 PhysX. Persistent secure and insecure storage devices. Upgradeable locking doors. Barter based economy and trading systems backed a single currency ¤ called "Krypto". Hostile Environment with several different types of antagonists, Air and Water temperature extremes, and Earthquakes. Hunting, Fishing, Tame Dogs, Explore & Loot: Wrecked ships, Abandoned vehicles and buildings, Perform task based missions and more! Open source APL-SA Epoch Survival MP gamemode. Open source APL-SA Modders resource configs and Class List. Assets can be used as a mod dependency on Steam workshop.
    • By McLovin
      NOTICE: Duplicate of another question posted in the wrong section.
       
      So I've been playing this server that has a number of mods installed. I've been playing it for quite a while with the only errors I've been getting are regarding a 45 round RPK mag being missing, but other than that I've had no errors or any issues loading. Upon trying to place a plot pole, nothing happens; absolutely nothing, like no preview shows up, no prompt saying "starting construction" or anything like that, just blankness. When I try to do it again it says "building already in progress" and I can't do anything, not even lock my vehicle. Is there anything that can be done, or that can explain this phenomenon? To further the understanding of how this came to be, I bought a plot pole from the trader in Trader City Stary and tried placing it near Stary, but not too near it (near a thicket of bushes in the distance). Upon right clicking and hitting the build option, that's when I face my issue.
    • By victorks
      my first work in editin :) https://uploaddeimagens.com.br/imagens/20180307202515_1-jpg https://uploaddeimagens.com.br/imagens/20180307202245_1-jpg DOWNLOAD: https://www.dropbox.com/s/oq97j7x59362kqe/CASTLEai.sqf?dl=0 AI M2 NEED WAI: https://pastebin.com/GJMnPvZP ON THE MAP: https://pastebin.com/cyqH9rNV  
       
      https://www.dropbox.com/s/oq97j7x59362kqe/CASTLEai.sqf?dl=0
       
       
       
       
       
       
       
       
       
    • By totis
      Hi
      This is a restriction to vehicle seat according to humanity.
      It may be handy to PVE servers out there.
      Special thanks to Juandayz with his fantastic skills and salival. Both sometimes working unseen for the benefit of this community.
      Step 1.
      Make a new file, Name it veh_hum.sqf with the below contents and put into dayz_epoch/addons folder. If you dont have addons just create one.
      In this example we have a hero superhero and agenthero traders with 20k/40k/60k humanity respectively. Adjust according to your needs.
       
      private ["_vehicle","_inVehicle","_driver","_humanity","_txt"]; while {true} do { _vehicle = vehicle player; _inVehicle = (_vehicle != player); if (_inVehicle) then { _driver = driver (vehicle player); if (({(isPlayer _driver) && (alive _driver)} count (crew _vehicle) > 0)) then { _humanity = _driver getVariable["humanity",0]; if (typeOf _vehicle in DZE_heroHumanity && _humanity <= 20000 || (typeOf _vehicle in DZE_superHeroHumanity && _humanity <= 40000) || (typeOf _vehicle in DZE_agentHumanity && _humanity <= 60000)) then { player action ["getOut", (vehicle player)]; titleText ["","WHITE IN"]; _txt = "<img image='addons\vehicon.paa' /><br/><t size='0.7' color='#ea2828' align='center'>prohibited vehicle</t>"; [_txt, [safezoneX, safezoneW], [0.20 * safezoneH + safezoneY, 0.3 * safezoneH], 2, 0.5] spawn BIS_fnc_dynamicText; }; }; }; sleep 3; };  Step 2: Download this file http://www.mediafire.com/file/bdpt5d96o5cttk3/vehicon.rar
      Unzip and put paa file into addons folder.
      Step 3: Edit your custom variables file    dayz_code/init/variables.sqf
      Put the vehicles you want to restrict below call dayz_resetselfactions; ike this:
      // Custom below s_givemoney_dialog = -1; s_bank_dialog = -1; s_player_checkWallet = -1; s_bank_dialog1 = -1; s_bank_dialog2 = -1; s_player_copyToKey = -1; s_player_claimVehicle = -1; s_collect_heli = -1; }; call dayz_resetSelfActions; DZE_heroHumanity = ["Mi17_rockets_RU","Mi24_D","UH1Y_DZE"]; DZE_superHeroHumanity = ["Mi24_V","Mi24_P","Ka52"]; DZE_agentHumanity = ["AV8B2","AV8B","A10","F35B"]; DZE_safeVehicle = DZE_heroHumanity + DZE_superHeroHumanity + DZE_agentHumanity +["ParachuteWest","ParachuteC"]; Step 4: Edit your init file to exec the script. Above the   (false,12)execVm.... like below
          [] execVM "addons\veh_hum.sqf";
          //[false,12] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
      Thats it. Enjoy!
        Hide contents
  • Advertisement
  • Supporters
  • Discord

×
×
  • Create New...