Jump to content
Zupa

[Alpha Release] Single Currency 3.0 & Storage DEFAULT HIVE ( No global banking).

Recommended Posts

Single Currency 3.0 & Storage DEFAULT HIVE ( No global banking).

 

AKA: ZSC 

 

 

RELEASE 1: INDEPENDENT RELEASE ( No converting script yet to convert old SC money to this version).

 

 

 

        REQUEST: If someone is good with MYSQL can he complete the qyuery on the bottom of this post? ^^ limited time here ^^.

 

 

What is it?

 

This script replaces gold,silver,tin,copper,briefcases by 1 virtual currency with a configurable name. You can buy,sell, give, receive, take (from dead bodies) and STORE this money like it was a normal inventory item. ( It will work with a different dialog then your gear dialog.) 

 

No more smelting gold into silver or anything related to that. Everything is in one currency ( For example "ZupasticiumCoins"). 

 

Features.

 

  • Store Money in storage objects and vehicles ( max money in 1 storage depends on the size). 
  • No global access to your money.
  • Anyone can take the money out ( for vault/lockbox it must be open of course).
  • Trade with this currency for cars/items.
  • Give money to other players.
  • NO inventory issues with gold!  

 

Whats the difference with your other single currency scripts?

 

  • You can use the default hive!
  • No global bank! Back to normal epoch danger to lose cash! 
  • Cleaned up code
  • Very low changes to default saving system. (DB friendly)
  • NO database changes needed.
  • NO ATMs, Safezones, atms in trader whatsoever...
  • Store money in vehicles.

 

Technical data:

  • Storage money is saved in the gear section of the object in the Database
  • Player Money is added to gear section of the player in the Database ( Again thanks to maca for pointing this out for me).

 

Extra

 

  • This build will have all of the fixes on errors out there ( Build on peterbeers all in on packages with the bugfixes).
  • Reworked the  transfering money between players to be sure trade goes to the right object/player.
  • Store money in vehicles

Credits

 

  • Maca - Original private single currency.
  • Peterbeer -  for putting all fixes together in 1 pack.
  • Soul - Hives modifications and code changes for it. ( not applied on this script, jsut credited for hard work).
  • Rocu - Great help on forums and fixes.
  • DraftKid - Testing and screenshots

 

 

Please report bugs so I can solve them!

 

 

The config located IN

ZSC/gold/ZSCconfig.sqf
/* Single Currency 3.0 uses storages to store money which can be accessed by anyone if open of course (safe,lockbox). Each storage has his own money, so no global access. */

// Name of your currency
CurrencyName = "Coins"; 

// Objects that can hold money. Vehicles are added automaticly. Size of  money capacity is depended on ammount of magazines the object can hold.
ZSC_MoneyStorage = ["VaultStorage","LockboxStorage","StorageShed_DZ","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","GunRack_DZ","WoodCrate_DZ","TentStorage","TentStorageDomed","TentStorageDomed2"];

// Multiplier how much money an object can hold. This number X ammount of magazines it can hold. ( so URAL -> 500 items * 1000 = 5 MIL cash).
ZSC_MaxMoneyInStorageMultiplier = 1000;

// (True = No Animation / False = Animation)
InstantTrading = false; 

// If TRUE: overwrite yours player_switchmodel with mine. | IF False: Change content yourself @ step D
ZSC_Overwrite_SwitchModel = true; 

 // if TRUE: Overwrites yours fn_selfactions with default 1 + edits. | IF False: Change content yourself @ step D
ZSC_Overwrite_SelfActions = true;

 // if TRUE: Overwrites yours fn_selfactions with default 1 + edits. | IF False: Change content yourself @ step D
ZSC_Overwrite_UnLockVault = true;

 // if TRUE: Overwrites yours fn_selfactions with default 1 + edits. | IF False: Change content yourself @ step D
ZSC_Overwrite_LockVault = true;

/* IF YOU USE different mods like P4L it's recommended to do changes yourself or it wont work */

There are pbo's provided for cherno 11. Or follow the installation instructions

 

https://github.com/EpochSC/SingleCurrencyStorage

 

Installation instructions. ( TRIED TO KEEP IT NOOB FRIENDLY ^^)

 

 

If u are going to use the full pbo?!

 

The missions.sqm is build for OVERPOCH. Delete the overwatch addons if you are just using it for Epoch. 

 

 

 

MISSION PBO

 

A ) In your init.sqf:

 

A 1) You must have 

/*ZSC*/
DZE_ConfigTrader = true;
/*ZSC*/

in the top section ( for example right above "EpochEvents"); Place if you do not have it yet. ZSC requires Config traders, It will also help your server reduce lag!

 

A 2) PLACE

/*ZSC*/	
call compile preprocessFileLineNumbers "ZSC\gold\ZSCinit.sqf";
/*ZSC*/			

ABOVE

progressLoadingScreen 0.5;

A 3) PLACE

execVM "ZSC\compiles\playerHud.sqf";

RIGHT UNDER

_playerMonitor = 	[] execVM "\z\addons\dayz_code\system\player_monitor.sqf";	

A 4 )

 

Change

call compile preprocessFileLineNumbers "server_traders.sqf";	

to

call compile preprocessFileLineNumbers "server_traders_cherno_11.sqf";	

ON THE BOTTOM OF THIS TOPIC THERE WILL BE AN EXPLANATION FOR OTHER MAPS / INSTANCES.

 

A 5 ) MAKE SURE 

_serverMonitor = 	[] execVM "\z\addons\dayz_server\system\server_monitor.sqf";

this line is custom and doesnt have dayz_code in it. It should point at dayz_server or if u use another script to where ever that places it.

 

B ) In your description.ext

 

B 1) Place 

#include "ZSC\config\cfgServerTrader.hpp"

on the complete top.

 

B 2 ) Add if you do not have a RscTitles yet!

class RscTitles
{
#include "ZSC\config\ZSChud.hpp"
};

at the bottom.

 

IF U ALREADY HAVE IT just add

#include "ZSC\config\ZSChud.hpp"

behind whatever is in there.

 

B 3 ) JUST ADD AT THE COMPLETE BOTTOM

#include "ZSC\config\ZSCdefines.hpp"
#include "ZSC\config\ZSCdialogs.hpp"

B 4 ) If you come from another currency, u can remove the shit that was extra added in that one  :).

 

C )  COPY FILES

 

C 1 ) Place the ZSC folder in your mission pbo ( take it out of the github's missions pbo).

C 2 ) Place server_traders_cherno_11.sqf in your missions pbo. ( If other map/instance check bottom of the topic.).

 

D ) fn_selfactions ( IF you use my overwrite, u do not have to to this step.

 

D 1 )PLACE

	if(_typeOfCursorTarget in ZSC_MoneyStorage && (player distance _cursorTarget < 5)) then {
		if (s_bank_dialog < 0) then {
				s_bank_dialog = player addAction ["Money Storage", "ZSC\actions\bank_dialog.sqf",_cursorTarget, 3, true, true, "", ""];	
		};
	} else {
     	player removeAction s_bank_dialog;
		s_bank_dialog = -1;
	};

	// cars 
	if( _isVehicle && !_isMan &&_isAlive && !_isMan && !locked _cursorTarget && !(_cursorTarget isKindOf "Bicycle") && (player distance _cursorTarget < 5)) then {		
		if (s_bank_dialog2 < 0) then {
			s_bank_dialog2 = player addAction ["Money Storage", "ZSC\actions\bank_dialog.sqf",_cursorTarget, 3, true, true, "", ""];
		};			
	} else {		
		player removeAction s_bank_dialog2;
		s_bank_dialog2 = -1;
	};

 

AFTER

} else {
	{player removeAction _x} count s_player_combi;s_player_combi = [];
	s_player_unlockvault = -1;
};

D 2 )

if (_isMan and _isAlive and !_isZombie and !_isAnimal and !(_traderType in serverTraders)) then {
	if (s_givemoney_dialog < 0) then {
		s_givemoney_dialog = player addAction [format["Give Money to %1", (name _cursorTarget)], "ZSC\actions\give_player_dialog.sqf",_cursorTarget, 3, true, true, "", ""];
	};
} else {
	player removeAction s_givemoney_dialog;
	s_givemoney_dialog = -1;
};

ABOVE

if(_typeOfCursorTarget in dayz_fuelpumparray) then {
	

D 3 ) CHANGE

if (_player_studybody) then {
		if (s_player_studybody < 0) then {
			s_player_studybody = player addAction [localize "str_action_studybody", "\z\addons\dayz_code\actions\study_body.sqf",_cursorTarget, 0, false, true, "",""];
		};
	} else {
		player removeAction s_player_studybody;
		s_player_studybody = -1;
	};

INTO

if (_player_studybody) then {
	if (s_player_studybody < 0) then {
		s_player_studybody = player addAction [("<t color=""#FF0000"">"+("Check Wallet") + "</t>"), "ZSC\actions\check_wallet.sqf",_cursorTarget, 0, false, true, "",""];
	};
} else {
	player removeAction s_player_studybody;
	s_player_studybody = -1;
};

D 4 ) 

 

ADD 

player removeAction s_givemoney_dialog;
s_givemoney_dialog = -1;
player removeAction s_bank_dialog;
s_bank_dialog = -1;
player removeAction s_bank_dialog2;
s_bank_dialog2 = -1;

BEHIND

	player removeAction s_player_towing;
	s_player_towing = -1;
	player removeAction s_player_fuelauto;
	s_player_fuelauto = -1;
	player removeAction s_player_fuelauto2;
	s_player_fuelauto2 = -1;

D 5 )  TO remove the client side errors u getting add in your VARIABLES.SQF

s_givemoney_dialog = -1;
s_bank_dialog = -1;
s_bank_dialog2 = -1;

TO

dayz_resetSelfActions = {

E ) player_switchModel.sqf again, if u overwriten with mine in first step, u can skip.

 

E 1 ) add 

_cashMoney = player getVariable["cashMoney",0];

behind

_weapons = weapons player;
_countMags = call player_countMagazines; 
_magazines = _countMags select 0;

E 2 ) Add

player setVariable ["cashMoney",_cashMoney,true];

on the BOTTOM

 

E 3 ) CHANGE

//Create New Character
_group 		= createGroup west;
_newUnit 	= _group createUnit [_class,dayz_spawnPos,[],0,"NONE"];

_newUnit 	setPosATL _position;
_newUnit 	setDir _dir;

into

_group = createGroup west;
_newUnit = _group createUnit [_class,dayz_spawnPos,[],0,"NONE"];
[_newUnit] joinSilent createGroup WEST;
_newUnit setPosATL _position;
_newUnit setDir _dir;
_newUnit setVariable ["cashMoney",_cashMoney,true];

F) You can use my unclockVault in ZSCinit, If u got a custom one, do the following changes:

 

F1)

 

place 

_objMoney	= _obj getVariable["bankMoney",0];

behind

_dir = direction _obj;
_pos	= _obj getVariable["OEMPos",(getposATL _obj)];
_objectID 	= _obj getVariable["ObjectID","0"];
_objectUID	= _obj getVariable["ObjectUID","0"];
	

F 2)

place

_holder setVariable ["bankMoney", _objMoney, true];

behind

_holder setVariable["CharacterID",_ownerID,true];
_holder setVariable["ObjectID",_objectID,true];
_holder setVariable["ObjectUID",_objectUID,true];
_holder setVariable ["OEMPos", _pos, true];

E) in LockVault.sqf if u got a custom one, otherwise use mine and set true in config:

 

E1 ) place) 

_objMoney	= _obj getVariable["bankMoney",0];

behind

_ownerID = _obj getVariable["CharacterID","0"];
_objectID 	= _obj getVariable["ObjectID","0"];
_objectUID	= _obj getVariable["ObjectUID","0"];

E2 ) 

 

place

_holder setVariable ["bankMoney", _objMoney, true];

behind

	_holder setVariable["CharacterID",_ownerID,true];
	_holder setVariable["ObjectID",_objectID,true];
	_holder setVariable["ObjectUID",_objectUID,true];
	_holder setVariable ["OEMPos", _pos, true];

SERVER PBO

 

A ) REPLACE your "compiles/server_tradeObject.sqf"  With my one ( not other script uses that anyways).

 

B )  IN compiles/server_updateObject.sqf

 

Change 

		_inventory = [
			getWeaponCargo _object,
			getMagazineCargo _object,
			getBackpackCargo _object
		];

into

		_inventory = [
			getWeaponCargo _object,
			getMagazineCargo _object,
			getBackpackCargo _object
			/*ZSC*/
			, _object getVariable["bankMoney",0]
			/*ZSC*/
		];

C ) In your server_monitor.sqf ( NOTE: the " _intentory' variable can be called "_inventory" at your files, so change my code to that, if it's the case).

 

Add

/*ZSC*/
       if( count (_intentory) > 3)then{
		_object setVariable ["bankMoney", _intentory select 3, true];
	}else{
	        _object setVariable ["bankMoney", 0, true];
	};
/*ZSC*/

ABOVE

if (_type in DZE_LockedStorage) then {
// Fill variables with loot
_object setVariable ["WeaponCargo", (_intentory select 0),true];
_object setVariable ["MagazineCargo", (_intentory select 1),true];
_object setVariable ["BackpackCargo", (_intentory select 2),true];
} else {

D) in compiles/server_playerSync.sqf

 

Change

_playerGear = [weapons _character,_magazines]; 

into

_playerGear = [weapons _character,_magazines, _character getVariable["cashMoney",0]]; 

NOTE:

 

in the gold init i use a custom gearSet.sqf

If u would have a custom one, it's defined in the ZSCinit.sqf. Only differnecy will be the top where it checks for the money in your gear sections.

 

 

FAQ!

 

 

I use a different instance/map to play one! What do i do?

 

The only things that difference between maps where u need to worrie about is the server_traders.sqf. I included them for 4 maps, if your map is NOT in there u will have to change your original one.

FAIR SIMPLE:

 

1) Take your original server_traders

 

2) Open one of mine

 

3) Copy my categories with the correct numbes to your traders. You can choose also which traders sells what then ^^.

 

4) Share your file to me so i can put it in the list

 

 

Does it work with Overpoch(ins).

 

Simple: Yes, Everything with epoch as base.

 

Overwatch items or included in traders, remove the categories if you do not use them.

 

 

Can i convert from the older system?

 

You will have to revert your database to the default structure and maybe transfer money. Banks added to the players cash is the best solution.

 

How do i see my money and bank?

 

1 - Bank will not be visible cus their is none. You store money in storages like other items ( but in a different dialog). So the money can be accessed by anyone that has access to that storage.

2- Money is visisble with a money icon on the right side of the screen. Feel free to add it to other places aswell.

 

This will return your money:

player getVariable["cashMoney",0];

Can I use it with database traders?

 

No, this build is made for config traders. No support (Yet).

 

 

Screenshots

 

 

rBVpE6C.jpg

yPqjeR5.jpg

zdSqCOq.jpg

 

 

 

 

 

 

I probably will code this inthe default epoch code and send a merge request to Epoch Devs with an option to do 

DZE_SingleCurrency = true/false;

And if they accept it , it might be in 1.6 ^^

Share this post


Link to post
Share on other sites

Good luck with this one, you might want to checkout our PBO since we already have this up and running. (Might save you some precious time).

 

Why not define it like this? Seems less prone to error:

ZSC_MoneyStorage = [
    ["VaultStorage",10000000],
    ["LockboxStorage",5000000],
    ["StorageShed_DZ",10000000],
    ["OutHouse_DZ",50000],
    ["Wooden_shed_DZ",500000],
    ["WoodShack_DZ",250000],
    ["GunRack_DZ",10000],
    ["WoodCrate_DZ",25000],
    ["TentStorage",25000],
    ["TentStorageDomed",25000],
    ["TentStorageDomed2",25000]
];

Share this post


Link to post
Share on other sites

Good luck with this one, you might want to checkout our PBO since we already have this up and running. (Might save you some precious time).

 

hehe it's basicly finished, just testing and doing some last minut changes. But thanks anyways!

Share this post


Link to post
Share on other sites

 

Good luck with this one, you might want to checkout our PBO since we already have this up and running. (Might save you some precious time).

 

Why not define it like this? Seems less prone to error:

ZSC_MoneyStorage = [
    ["VaultStorage",10000000],
    ["LockboxStorage",5000000],
    ["StorageShed_DZ",10000000],
    ["OutHouse_DZ",50000],
    ["Wooden_shed_DZ",500000],
    ["WoodShack_DZ",250000],
    ["GunRack_DZ",10000],
    ["WoodCrate_DZ",25000],
    ["TentStorage",25000],
    ["TentStorageDomed",25000],
    ["TentStorageDomed2",25000]
];

 

ya i was thinking of that first, but then i was like, getting it easier for me:

ZSC_MoneyStorage find _storage;

Would have to be written a bit in more lines ^^

Share this post


Link to post
Share on other sites

Just install your 1.1 today for chernus & you release to 3.0 =))

 

I'm sorry m8, But this will first need some extra testing before the files get actually saved to the github ^^ 

Share this post


Link to post
Share on other sites

So amped for this release.

Just a question though, will we be able to have a stock control feature for traders - seeing as the traders are still going to be config based.

 

I or you would need to add some stock management. If u want this to database it's maybe better/easier with the custom hives. This is build with default hive so people don't have to change the dll's

Share this post


Link to post
Share on other sites

I or you would need to add some stock management. If u want this to database it's maybe better/easier with the custom hives. This is build with default hive so people don't have to change the dll's

hehe, would prefer if you did it :) - that way all the awesomeness comes from one person :)

But instead of using db, maybe have everything write to a text file (csv style) or possibly having a trader that has unlimited items and then all the rest have whatever people have sold to them e.g. A3 epoch style?

Share this post


Link to post
Share on other sites

I currently use piggd banking system, I tried your gold coin but after installing your version I just could not upgrade to souls ver...

so I went back to piggd banking. I like it except that it uses humanity for database storage of gold...

 

needless to say I will switch to this one.....

Share this post


Link to post
Share on other sites

I can not fine the following that is in step E ) player_switchModel.sqf

can someone tell me where to find it or do i have to make a player_switchModel.sqf?

Share this post


Link to post
Share on other sites

I can not fine the following that is in step E ) player_switchModel.sqf

can someone tell me where to find it or do i have to make a player_switchModel.sqf?

 

And that step says if u don't have one, there will be on in the files, so u just have to put overwriteSwitchmodel on true in config ^^

Share this post


Link to post
Share on other sites

FYI: 

 

I think i'm done coding now. I will test it this eve and if everything goes well there might be a release for bigger testing.

 

Prob alot of getting stupid errors out since i coded this without the game/testing it ^^ just pure text

Share this post


Link to post
Share on other sites

Error #1 Solved
Change 

#include "ZSC\configs\cfgServerTrader.hpp"

to
#include "ZSC\config\cfgServerTrader.hpp"

Error #2 Not solved
ErrorMessage: File mpmissions\DayZ_Epoch_11.Chernarus\ZSC\config\ZSCdialogs.hpp, line 79: /GivePlayerDialog/Controls.RscTextT_10005: Undefined base class 'RscTextT'
 

Share this post


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

  • Similar Content

    • 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
    • By Larkin993
      [GOM] Hardcore Sauerland
      Discord:https://discord.gg/Sx7FWQK
      IP: 185.251.226.35:2900
      Mods: Overwatch - Epoch
      Server name: [GOM] Hardcore Sauerland|AI/MISSIONS|TOW/LIFT|COINS|DEPLOYBIKE|
      Server Rules:
      No building 1000m from traders No glitching No Duping No voice in side chat Respect other players and admins Dont blow up locked vehicles Server features:
      Deploy Bike Scan GPS R/C Tools Blood Bag Self Roaming AI Missions Custom Trader Prices Coins - No Banks 6 Hours Restart 24 - 6 - 12 GMT Active Admins Groups [F5] Base Raiding 3hr Day and Night PVP Buy Cinder Walls Refuel / Repair Tools Break Tame Dogs Kill Messages Zombie Hordes Heli Crashes  
    • By Sandbird
      Dayz.Epoch.1.0.62 - 3d.Editor.Live.Mission with Database interaction


      -=Youtube Demo=-
       
      What is this
      A custom mission file for the purpose of testing/writing scripts for DayZ Epoch without the need of a server.
      It emulates the dayz_server and dayz_mission files, so you can write scripts using the 3d editor. No need to use a dayz_server for debugging anymore. We all know how time consuming that is.

      Features
      Full Database integration (yes thats right... [:)] I would suggest to have a maximum of 100 objects in your object_data table for faster results.
      Took 5 min to load 10000 objs from my real database, so also make sure you dont go crazy with the MaxVehicleLimit, MaxDynamicDebris values in the init.sqf Fully working GUI, zombies, hit registration, addactions, everything! Write code and execute it on the fly. No need to start a server and join with a client to test things. 100% of your scripts will work! (dynamic weather, default loadouts, custom scripts etc) 2 setups. A default 3d editor player with a default loadout or a Real database character based on your UID Includes most of BIS_fnc functions, so actions like BIS_fn_invAdd will work (i've added most common ones...more included though...check details bellow.) Everything works...when i say everything i mean EVERYTHING !. (Spawning objects on mission start, traders (buy/sell), maintenance, character update, events, stats...etc) New Features!
      All .FSM files have been converted to .SQF meaning the mission acts as a full fledged server / client merge. New character creation has been ignored though, so the server expects that the client that is about to connect exists in the database. The server will start, wait for a 'fake client connection to happen' (you pressing the Preview button), and then it will load your character from the database, spawn Hive objects and create new based on your MaxVehicleLimit values etc, then initialize the events and finally spawn the character to his worldspace location. Use AdminTools to spawn any Perm, Temp vehicle you want, including buildings, crates etc. Building objects is working as expected with a little AddAction trick. Unfortunately the primary display (eg: findDisplay 46) isnt working inside the editor. That means that building stuff or placing objects is very hard to do since we can't 'capture' keystrokes.
      Further details below after the Installation instructions. Arma2Net is not allowed by Battleye anymore, so i am using extDB3 now. Requirements:
      A mysql server on the same machine as your Arma2 editor. Well...a remote PC would work as well...just make sure YOU ARE NOT using your original database. Make a copy of it!. This mission will interact with your database !
      If you don't have a mysql server on your pc...i suggest you get WampServer. It's the easiest php/mysql server out there.
      Installation
      Head over to the GitHub where the project is. Click Download on the right sidebar, and extract the rar file. Copy the 3d.live1062.DayzEpochTemplate.Chernarus mission file in your \My Documents\ArmA 2\missions\ folder If your active Arma profile is not the default one, then you probably should extract it in the \My Documents\ArmA 2 Other Profiles 2\missions\ folder, otherwise you won't be able to find the mission inside the editor. Copy everything inside "Arma2OA root folder" in your root Arma2OA folder (the same folder where @DayZ_Epoch_Server, MPMissions are). The real_date.dll...(Thanks to killzonekid) is used to get your machine's date/time to be used for live day/night cycles inside the game (...you can set a fixed day if you want...details bellow). The tbbmalloc - tbbmalloc_x64.dll files are provided by extDB3. They shouldnt interfere with your normal game, but they are needed for the mission to be able to connect to your MySQL server. (Make a backup of your original ones if you want, just be safe.) EATbaseExporter is used by the AdminTools, and allows you to export bases to an .sqf format so you can import them afterwards to your server. Now edit -=START HIVE MISSION=-.bat which was placed in your Arma2 folder, and fix the paths to their proper values. If you are using DZLauncher then the @Dayz_Epoch folder is probably where i placed it myself.  Battleye needs to be disabled inside the editor otherwise the extDB3 addon will not work. The .bat is taking care of that. It will disable Battleye after 7 seconds. Depending on your machine, if you see that the time isn't sufficient, raise that value a little bit. A sample Database has been provided with me as a character and a basic loadout. You can of course use your own database, just remember to delete most of your Object_Data table vehicles. The more vehicles you have there, the longer it will take for the dayz_server to spawn them. If you just want to write a script independent of cars etc...why wait 5 minutes for the server to spawn 10000 vehicles :) Open "ArmaOA\@extDB\extdb3-conf.ini" and add your test database data there. I named the test SQL DB dayz_cherno [dayz_cherno] IP = localhost Port = 3306 Username = dayz Password = mypass123 Database = dayz_cherno # dayz_cherno is the name of the database (change it in both values) # localhost is your mysql server (could be an IP value as well) # 3306 your mysql port # dayz is your database username # mypass123 is your database password  
      When the game launches, press Alt+E, select Chernarus, then Load mission 3d.live1062.DayzEpochTemplate.Chernarus
      Open \My Documents\ArmA 2\missions\3d.live1062.DayzEpochTemplate.Chernarus\init.sqf
      Go to line 61 and start editing the values there. DB_NAME is the name of your database (same as the extdb3 config file).
      Add your PlayerUID value (same as the DB one) in line 72. (That the player you want to load from the database)
      Depending which map you want to use, you have to change the dayZ_instance variable and also the MarkerP values (line 62) based on your mission.sqm file. Its for the Hive to spawn random vehicles, roadblocks and mines at proper locations based on the map. Just read the comments there for how to get the values. Its really simple. Just copy paste stuff from your mission.sqm file.
      Default setup vs Database setup
      There are 2 ways of initializing your player.
      A live database player based on his UID in the character_data table (coordinates, medical states, inventory etc) A default 3d editor player with a basic loadout. (Ignores Hive Loadouts and initial vehicle spawns) Default setup (extDB3)
      [DefaultTruePreMadeFalse = true;] This option is now the default one, because it's so much easier to set up, plus a lot of things have changed in the 1062 Epoch version. I couldn't totally separate the server files from the client files, so in the end a Database is necessary for the Mission files to work properly. To setup your character with this method, leave DefaultTruePreMadeFalse to true;  Everything is database based..so no need to do anything else. The mission will start with all your stats, inventory, conditions and spawn you where your world coordinates are. Premade Character Setup
      [DefaultTruePreMadeFalse = false;] This setup DOES NOT initialize the character based on a database entry, or does any HIVE related queries on mission start. (like load objects etc). Instead it uses some premade stats that you set, and only uses the Database on updates (buy vehicles etc) The loadout of the player is set in the init.sqf in line 77  
      player setVariable ["CharacterID", "1", true]; // Set here the characterID of the player. It can be anything...just leave it 1 if you want. player setVariable ["playerUID", "111111", true]; // Set here the playerUID of the player you want to have. player setVariable["Z_globalVariable", 100000]; player setVariable["Z_BankVariable", 100000]; player setVariable["Z_MoneyVariable", 100000]; player setVariable["humanity", 11000]; player setVariable["humanKills", 10]; player setVariable["banditKills", 20]; player setVariable["zombieKills", 30]; player setVariable ["friendlies", ["222222","333333"], true]; //Both DZE_Friends and this must be set for friendlies to work properly DZE_Friends = ["222222","333333"]; Everything else should work fine with the database....like traders, salvaging, etc...Unfortunately since the 1062 ver had many differences from the 1051 one, i couldn't really make this Profile option a standalone one, without any Database interaction. So in order for you to minimize any errors in the log file, i would suggest you load my sample db file provided, and also change those CharacterID and PlayerUID values in PLAYER_Data and CHARACTER_Data tables to the ones you set up here, just in case.... The Premade character setup is for people that want to fast debug a script they are making and don't want to wait for the Hive to load all map objects and authenticate the player first. Further Details to change (in both Profile Cases)
      The description.ext, mission.sqf, mission.biedi files have your character's name in them. Just search for the word Sandbird in all of them and change it according to the PlayerName value you have in your Player_DATA table for your PlayerUID value.
      Example taken from description.ext. DONT change the actual My_Player text. The mission file needs that string to read what you typed in the name field.
      class My_Player { name="Sandbird"; face="Face20"; glasses="None"; speaker="Male01EN"; pitch=1.1; };  
      Important info
      Init.sqf values
      DefaultTruePreMadeFalse = true; // True: Read player's data from the database (based on UID), False: the normal player the editor has StaticDayOrDynamic = true; // A static date is set at the bottom of \dayz_server\init\server_function.sqf. Set this to false if you want real time/date inside the mission. DZEdebug = false; // Set to true if you want a more detailed log file Enable Keyboard actions (menu option) // (findDisplay 46) wont work inside the editor. That means that building stuff or placing objects is very hard to do since we cant 'capture' keystrokes. I kinda fixed this with a trick. In order to build something first you have to initiate the building action (holding the object in your hands) and then scroll with your mouse wheel and select Enable Keyboard actions. This will create a layer on your screen capturing your keystrokes thus allowing you to change orientations etc. Pressing ESC twice after and it will close the fake display and return to normal play mode. You will have to do this every time you want to build something. Related to coding
      Since the Editor has some limitations because its not a real server some things will never work. For example:
      _playerUID = getPlayerUID player; will never work in the editor. To get the _playerUID you have to do this:
      _playerUID = player getVariable ["playerUID", 0];
      This is the most important thing to remember. Lots of scripts use getPlayerUID. You have to remember to change it every time you want to use it.  Of course the player value is just an example here. If you were inside a loop and it had (getPlayerUID _x) then you have to rewrite it like this: (_x getVariable["PlayerUID",0]) findDisplay 46 does not work in the editor. If you are using/making a script that uses Display 46 try using my Enable Keyboard action. It might work in your case. publicvariableServercommands don't exist in the editor. There is no server to accept the command. If you want to use addpublicvariableeventhandler you can do it with call/spawn commands. You can find the handlers usually in the PublicEH.sqf.
      Example: PVDZE_plr_Save = [player,dayz_Magazines,false,true]; publicVariable "PVDZE_plr_Save"; can be written like:
      PVDZE_plr_Save = [player,dayz_Magazines,false,true]; publicVariableServer "PVDZE_plr_Save"; // keeping this so when you move the code to the real server you remember to add it. [player,dayz_Magazines,false,true] spawn server_playerSync; // what to call is usually inside publicEH.sqf. In this case search for PVDZE_plr_Save in the PublicEH file and check the call it makes in the end. You could also change the publicVariableServer to publicVariable. That should work inside the editor. But keep in mind these changes wont work on the live server, since one command broadcasts something to the server while the other just to the client running it. I would suggest you keep the original value and do the PublicEH call instead, marking it down with some debug comments next to it, so when you are done and want to transfer the files to your live server you just remove the call and everything should work as expected.
      Don't forget to change the paths when you are adding addons to test/modify them. For example, notice the differences here:  player_switchModel = compile preprocessFileLineNumbers "dayz_code\compile\player_switchModel.sqf"; player_checkStealth = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_checkStealth.sqf"; The first line will look up for player_switchModel.sqf inside the editor mission files, while the 2nd one will go to the @Dayz_Epoch map file and get the .sqf file. Same thing applies for the dayz_server files (server_functions.sqf). Once you are done with your script and you have added new compile lines, you need to fix them back to their proper values before you upload them to your live server.
        If you are missing any BIS_fnc functions then check the folder dayz_code\system\functions and see if it's available there to include it in the compiles.sqf. Set DZEdebug = true;  in the init.sqf. And ALWAYS check your RPT log file for debugging. Its located at : %AppData%\Local\ArmA 2 OA folder. Related to mission file included
      You'll notice when you start the mission there are 2 bots standing there. If you double click the soldier you'll see that he initiates this script scripts\BotInit.sqf. I left that in purpose in case you want to do some scripting that requires 'another player', and you want to initialize the fake player like that. The other bot can be deleted. I just left it there because i was testing a Tag Friendly script, and needed a 3rd 'player' that has me as a friend. I've included a simple Fireworks script i made a while back only this time i used some better effects taken from aliascartoons work. Just add a 'SMAW_HEDP' into your inventory and right click on it to test it out. Here is how the old script used to look like Fireworks. Also you'll find a little 'hat script' in the files, just right click a 'IRStrobe' item to add a hat to your player. Both script were written inside the editor using the mission file above...just a small example to show you how easy it is to write code there. The @extDB folder contains a folder called debug_files. These .dlls (when replaced the ones provided) activate a more detailed log file (found under arma 2 operation arrowhead\logs folder). It will show ALL MySQL queries going in/out of the database. Very useful if you are running any custom SQL queries and the RTP log file isn't enough.
      Final Notes
      These are heavily modified files...Dont overwrite them with your own files. Add to them instead of replacing them.
      If you are writing scripts that dont require the server to restart, then you can just go to 2D editor and press Preview again after you make the changes. No need to hit Restart. As long as you are doing changes that doesnt affect the Hive loading you can basically run things on the fly. For example in the init.sqf at the bottom i added a Add BankMonkey example. That command just loads the custom\money.sqf and shows a simple extDB3 example on how to select/update a DB table. Since this command doesnt require the server to restart, you can just hit Preview, test things out, and if you want to make changes, go back to 2D Editor, edit your changes in the money.sqf file and hit Preview again. No need to hit Restart and wait for the dayz_server functions to do their thing again.
      The whole purpose of this project was to not waste any more time trying to code on this god forsaken Arma engine.
      And a personal note....You will NEVER find an easier way to code stuff for Dayz....period. This is the fastest way to write code and see it in action.

      Hope this code will help you write code faster and easier !
      ### Credits
      This mission file would not be possible without the help of these addons/people

      DayzEpochTeam | http://epochmod.com
      killzonekid | http://killzonekid.com
      extDB3 | https://bitbucket.org/torndeco/extdb3/wiki/Home
      ebayShopper | https://github.com/ebayShopper/TestKit
      JasonTM (for the latest beta AdminTools)| https://epochmod.com/forum/topic/44863-release-epoch-admin-tools-v-1107-test-branch/
    • By Ghostrider-GRG
      For a while now I have wanted to put together an addon that makes available additional storage containers and, in the future, other craftable items like heli pads, additional lights and so forth. To that end, and with quite a lot of help from Grahame, I offer V 0.1 of Extended Base Objects for Epoch. It offers a variety of additional storage containers and an easy method for installation.
      Installation: download from my github here:  https://github.com/Ghostrider-DbD-/EB4E
      Subscribe on Steam here: https://steamcommunity.com/sharedfiles/filedetails/?id=1475332817
      Unpack your mission.pbo using PBO manager or its equivalent.
      Copy all files from the mapname.epoch folder to the folder created by unpacking your mission.
      Repack your mission.
      Copy @EB4E to the same folder containing @Epoch and @epochhive on your server. 
       Copy the key found in @EB4E\Key to the \keys folder on your server.
      Add "EB4E" to the -mods="@Epoch;blahblah;" parameter for server startup.
      Players can subscribe to the mod here: https://github.com/Ghostrider-DbD-/EB4E
    • By Tricks
      We are back! Ranked 7th overall in 2014! Classic DayZ Epoch PvP Server!! No stupid start bonus, no heavy military. Just classic Epoch gameplay with new updates!

       
      - Top of the Line Hardware - Overclocked 8700k servers with SSDs. Super high FPS!!

      - XP System & XP Trader - Acquire handy Perks, Skills, and Permits with our XP system!

      - Custom Traders - Totally custom traders unique to this server!

      - Military Bases - High Loot areas perfect for gearing up.

      - Custom Map Content - Aircraft Carriers, Secret Military Bases, New Towns, and more!

      - All The Major Mods - All the major mods like Coin System, Heli Evac, Hide from Zeds, and many more.

      - Lots of AI Missions - Challenging AI missions color-coded by difficulty.

      - Custom AI Missions for Groups - Static missions with super high difficulty and major loot rewards!

      - Realistic Loot Spawns - You wont find high-powered weapons while hunting for loot, realistic loot spawns.

      - No Heavy Weapons, Tanks, Attack Choppers, Jets - Just the classic Epoch vehicles with a few new additions!

      - Lots of Vehicles - Lots of vehicles scattered around the map. Some are ready to go, others need to be fixed first!

      - Base Building - Fully modular base building system with unique build items and crafting recipes.

      - Full Day/Night Cycle - Realistic day and night cycle, no stupid 24 hours daylight!!

      - Full Weather System - Rain, thunderstorms and snow in the winter!!

      - Destructible Base/Garage Doors - Base raiding without losing your whole base! Just the doors are destructible.

      - Abandoned Safes/Lockboxes - Abandoned bases will have their safes unlocked for you to raid!!

      - Fresh Server, All The Best Base Locations Still Available! - No more wipes, server is done and all progress will be saved.

      - Regular Updates/Suggestions Considered - Pass along ideas to the admin staff. We consider all changes.

      - Admin Events - Events with High Loot and great times! See pic below.

      - Active Admin Staff - Find us on Discord anytime or by email!





      Connect to us on DayZ Launcher or directly:

      [SHG]ClassicEpoch|XPSystem|CustomTraders|CustomAImissions|Coins|FPS++

      144.217.62.76:2302

      Discord: http://xn--discrd-zxa.com/join.php?v=OXHD95

      Email: [email protected]

      Website: Under construction


  • Advertisement
  • Supporters
  • Discord

×
×
  • Create New...