Jump to content

Recommended Posts

SHORTCODE LEGEND:

These shortcodes are used in the repo titles, this indicates what the specific repo is for.

SC     >>> SingleCurrency

MC     >>> MultiChar

999    >>> 998/999 custom query supported

 

 

 

Custom HiveExt.dll and needed sqf files + sql query file available on:

 

 

Variant 1:DayZ-Epoch_SCHiveExt

- Single currency support

- Admin rights support

 

GitHub.jpg

Variant 2: Dayz-Epoch_SCMCHiveExt

- Single currency support

- Admin rights support

- Multi Char mod support

 

GitHub.jpg

Variant 3: DayZ_epoch_SCMC999HiveExt

- Single currency support

- Admin rights support

- Multi Char mod support

- 999 call support

GitHub.jpg

Variant 4: DayZ_epoch_SC999HiveExt

- Single currency support

- Admin rights support

- 999 call support

GitHub.jpg

 

All 4 variants have the following in common.

- New CHILD:298 >>> fetching player bank data, used while player joins server

- New CHILD:299 >>> updates player bank data, used when banking.

- New CHILD:104 >>> gets all adminuids + their adminlevel from the admin_data table. (can be used to restrict access to admin tools aswell as infiSTAR AH)

- Updated CHILD: 101 >>> checks if player exists in banking_data table and adds ifnot or updates playername if change detected

- Updated CHILD:102 >>> added selection of cashMoney field during retrieving survivor data on login.

- Updated CHILD:201 >>> added element to handle players cashmoney during updates to database.

 

What is in variant 1?

Everything stated above.

 

What is in variant 2?

Added support for AxeCop's multi char mod. and everything that you have in variant 1.

 

What is in variant 3?

Added support for 999 database calls so you can do custom database queries and

everything found in variant 1 & 2. Only use this variant is you really want to use 998/999

calls despite of the security risks attached to them.

 

What is in variant 4?

Added support for 999 database calls so you can do custom database queries and

everything found in variant 1. Only use this variant is you really want to use 998/999

calls despite of the security risks attached to them.

 

What else can i find on the github repo's?

SCDBQuery.sql:

Run this file on your database by dragging and dropping

It will add the field "CashMoney" to the character_data table and

it will create a new table called "banking_data" with fields "PlayerUID,"PlayerName","BankSaldo"

 

SCDBQuery_TransferGoldCoins.sql:

Only run this file if you had Zupa's first release installed and you have players that have goldcoins stored in the headshots field.

It will grab the value from "HeadShots" and put it in "CashMoney" for each row in your "character_data" table.

 

SCDBQuery_TransferGoldCoins2.sql:

Only run this file if you had Zupa's first release installed and you have players that have goldcoins stored in the "morality" field?

It will make db entries for all players in "player_data" in the "banking_data" table and add the corresponding values from the "morality" field

into the "banksaldo" field.

 

admin_data.sql:

This file will add a table called "admin_data", this can be used in combination with infiSTAR AH or any other tool you need restricted access

to. Intended for advanced users.

 

Server folder:

Contains all files that where modified from Zupa's v1.1 version

Take care and use a diffmerge tool like BeyondCompare, better safe then sorry.

 

Mission folder:

Contains all files that where modified from Zupa's v1.1 version.

Take care and use a  diffmerge tool like BeyondCompare, better safe then sorry.

 

BE filters:

This needs to be added in the first line with !="" values inside the publicvarible.txt if using BE filters.

Add it after the last !="" value. If using BE filters and you skip this step your players will get kicked for trying to send this PV to the server.

!="PVDZE_bank_Save"

Before installing:

Always make backups of everything!

 

Q&A:

Q: Will support for AxeCops multi char mod be added in this hive?

A: There is a 2nd version of the custom hiveext.dll that has support added for this mod.

 

Q: Will there be 999 call support in this custom hiveext.dll

A: There is a 3rd version of the custom hiveext.dll that has support for everything in version 1 & 2 and added support for 999 calls.

 

Q: Does this hive have support vanilla epoch base maintenance?

A: Yes it has the required funtionality as this hive was build of the last version released by VB[Awol]

 

Q: Why are there 4 different variants of this custom hive?

A: More flavours to choose from really. It enables you to either use or stay away from the unsafe 999 calls and still use this custom hive for single currency.

 

Got any more question? Leave a post and i'll add them to the main post's Q&A section.

Cheers Soul!

Edited by Soul

Share this post


Link to post
Share on other sites

Did you fix the gold count below 1?

I'll put on my test server and see.

 

Also it would be good to change your sql file to select headshots and insert the data onto a new field for players that are still using the old system.

I'll do this and post my file here so that users wont have to have a reset with mad players.

 

Here try using this for a query

INSERT INTO character_data (CashMoney)
SELECT HeadshotsZ FROM character_data; 

Not sure if it will work, as I just made it like 5 minutes ago.

Share this post


Link to post
Share on other sites

i will test your query on my test db wich is filled with data from the live server and see if it works

if it does i'll update the github repo.

 

and yes the below 1goldcoin issue is resolved, would not have released before fixing that one ;)

anyway there is a second repository with a brand new compiled hiveext.dll that has the added

support for Axecop's mutlichar mod if you would ever want to use that mod...

 

edit:

 

query didnt work as i expected however

a secondary query could be run after adding the field to transfer goldcoins from headshots to cashmoney field

can be run with this sql code

update character_data
set CashMoney = HeadshotsZ

and that query is tested and works flawless.

going to update the github with it.

will be a seperate file for people who are doing there first install as they dont need to run this query.

Its only intended to be used by people who had the first zupa release installe and have players that have

goldcoins stored inthe headshots field in the database.

Share this post


Link to post
Share on other sites
 

i will test your query on my test db wich is filled with data from the live server and see if it works

if it does i'll update the github repo.

 

and yes the below 1goldcoin issue is resolved, would not have released before fixing that one  ;)

anyway there is a second repository with a brand new compiled hiveext.dll that has the added

support for Axecop's mutlichar mod if you would ever want to use that mod...

 

edit:

 

query didnt work as i expected however

a secondary query could be run after adding the field to transfer goldcoins from headshots to cashmoney field

can be run with this sql code

update character_data
set CashMoney = HeadshotsZ

and that query is tested and works flawless.

going to update the github with it.

will be a seperate file tho for people who are doing there first install as they dont need this query to be ran.

 

 Like I said I made it 5 minutes ago.

 

But your way works just as well.

The code that I did originally was to copy the data into a whole new table instead of the same.

I was going to use it to update the player's bank instead of converting all of the money onto the character's data.

 

Edit

The code works very good. 

I don't see any problems here.

Share this post


Link to post
Share on other sites

yeah and copying over bankmoney from morality field to banksalod is a different story

i requires some inner joins and i'm not all that good with them...

Not exactly.

If the bank is made in there you can use this to update the columns

UPDATE banking_data
SET BankSaldo = ( SELECT PlayerMorality FROM player_data);

It will only update if there is already data in banking_data otherwise you would have to use inner join.

 

Also this needs to be added in the publicvarible.txt if using BE filters

!="PVDZE_bank_Save" !="PVAH_AdminReq"

Share this post


Link to post
Share on other sites

UPDATE banking_data
SET BankSaldo = ( SELECT PlayerMorality FROM player_data);

 

but that wouldnt check if the player uid matches between the two tables would it?

Share this post


Link to post
Share on other sites

but that wouldnt check if the player uid matches between the two tables would it?

It does the same concept as the one you posted.

I tested it and it works, but I only did that when I had one character, would have to test it on a bigger db.

I'll look into it a little more as I am not really fond of using inner joins.

Share this post


Link to post
Share on other sites

Your SQL file to run contains this:

-- ----------------------------
-- Table structure for `character_data`
-- ----------------------------

ALTER TABLE character_data ADD CashMoney int(11) NOT NULL DEFAULT 0 AFTER last_updated;

However... in my character_data table, I dont have a last_updated.

Is that needed for everything to work?

Currently it placed CashMoney at the end of the list of columns in my character_data table,

Share this post


Link to post
Share on other sites

Your SQL file to run contains this:

-- ------------------------------ Table structure for `character_data`-- ----------------------------ALTER TABLE character_data ADD CashMoney int(11) NOT NULL DEFAULT 0 AFTER last_updated;
However... in my character_data table, I dont have a last_updated.

Is that needed for everything to work?

Currently it placed CashMoney at the end of the list of columns in my character_data table,

Its not needed. Long as the column is there it will pull data from it.

Share this post


Link to post
Share on other sites

Does this support custom hive writes as well? eg. Hive 999

EDIT: Disregard that (https://github.com/EpochSC/SingleCurrencyBanking999)

EDIT 2: Can you release the project source?

 

no it does not.

if i put it in it'll be a seperate branch so you can chose between a safe hive or take the risk and have the 999 child aswell

but i'm open for request and depending of the size of the task and time i have i might put in requested stuff...

 

Thinking of checking out another system that would allow alot of custom querying but isnt as bad as 999 or useless as epoch's 500 childs

Share this post


Link to post
Share on other sites

It does the same concept as the one you posted.

I tested it and it works, but I only did that when I had one character, would have to test it on a bigger db.

I'll look into it a little more as I am not really fond of using inner joins.

 

yeah but the query for transfering cashmoney is a row per row operation and the edit happens within the row it is operating on.

however transfering data from one table into another table is a different piece of cake as its not the same row it is operating on.

i mean there's no way telling they match up, for all i  know you could end up giving player A player B's bankmoney.... so the only

option really is inner joins.

Share this post


Link to post
Share on other sites

will how in hell would i have info nothing comes up in rpt not even thing send money to bank doesnt store it really i followed your steps by step

really no info dude

 

could it be the dlls from zupa thing the database.dll and all that???

Share this post


Link to post
Share on other sites

did you include the bankinit.sqf in your server_functions.sqf?

did you replace the hiveext.dll with my version?

did you replace the files in the gold folder?

are you using be filters

 

did you install zupa's release before this one?

 

...

Share this post


Link to post
Share on other sites

Soul, I have a real issue installing this. I have installed the original 999 and ive tried this fix and it still didn't work.. Im confused now haha any ideas? My hive is through phpmyadmin. 

phpmyadmin doesn't affect it in anyway.

Take a look at your sql db and what issue are you having?

We are not psychics

Share this post


Link to post
Share on other sites

I think its because i don't have anything telling the coins to be written to the db, I checked my bank zones file and there's no bank init. So presumably that's the problem. Also does this save the coins on a player on restart and the banked coins on death?

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 Harkness
      Mods;
      DayZ_Epoch 1.0.6.2 / Namalsk 0.75
      Scripts/Features;
      EMP Storms and ASPI Protection Device
      Freezing Weather and Slow Zombies
      Warm Clothing and APSI @ Traders
      Refuel, Repair, Rearm Stations
      Remove Clothing From Dead
      AI Missions and Events
      Super Mutant Attacks
      Trader Safe-Zones
      Player Kill Feed
      Custom Map
      Alien Rifle
      Raiders
      Snow
      Extras;
      Click Here For Custom Server Settings
      Visit Time2Kill.co.uk for more info
      Discord Invite Link

    • 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 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 Achef
      Greetings!
      So I recently started up in a new host and haven't gotten to make the server run, found that a ca/modules bis_fnc issue is recurring but doesn't affect players when running coop missions like the default arma 2 oa ones, but when trying with Epoch hive won't connect/start despite being configured.
      Hive error
      Meanwhile at line 23...
       
      I'm still bad with Pastebin, sorry.
       
      This error has been chasing me for 2 days now
  • Advertisement
  • Supporters
  • Discord

×
×
  • Create New...