# [Release] Multiple Character Support (now compatible with Epoch 1.0.5.1)

## Recommended Posts

Thnx, never even thought of that one mate....testing now

link has been removed and files deleted in my above post

Bags

##### Share on other sites

@Ragfire and @SirRadec can your check your client log files? luckily I did leave the log messages in there for cases like this lol

you should see messages like this one:

[169.053,"PVDZE_plr_Characters",B 1-1-A:1 (Axe Cop)]
[174.087,"PVDZE_plr_CharactersRes",[[["13567",1,[292,[6756.06,13450.4,0.001]],1,1,11200,[13,7,0,0],340590,"TK_INS_Soldier_EP1_DZ",0,1,2725],["13645",2,[264,[6497.44,7520.75,0.001]],1,1,-21495,[1,1,0,0],145636,"SurvivorW2_DZ",0,27,2689],["13680",3,[90,[4650.97,2568.98,0]],0,1,2500,[0,0,0,0],21092,"Survivor2_DZ",0,2710,5]],0.96]]
[174.087,"createDialog RscDisplayCharacterSelect"]
[206.53,"RscDisplayCharacterSelect closed"]


PVDZE_plr_Characters is the request to the server and PVDZE_plr_CharactersRes the response with the list of your characters (you don't need to understand the data),

also CharacterSelectDisplay.onLoad is written to the log when the dialog is loaded and "RscDisplayCharacterSelect closed" when you close it either by choosing a character or by pressing ESC (that will chose character slot 1 by default)

##### Share on other sites

I hope I grabbed this from the right one

};
_id = [] execFSM _id = [] execFSM "custom\player_monitor.fsm">
Error position: <= [] execFSM "custom\player_monitor.fsm">
Error Missing ;
File mpmissions\__CUR_MP.Chernarus\custom\player_monitor.sqf, line 4
};

its repeated alot in there so im guessing thats the problem

EDIT:Just noticed what I might have done testing the server again ill post here if it works

##### Share on other sites

Axe Cop, with your HiveExt.dll I don't get in the near of the player selection.

If I try to join my server. I am stuck in the loading screen.

Here is my hole RPT.log

https://gist.github.com/ragfire/7998647

##### Share on other sites

I hope I grabbed this from the right one

its repeated alot in there so im guessing thats the problem

Well do what the error tells you "missing ;", so add it :p

_id = [] execFSM _id = [] execFSM "custom\player_monitor.fsm">


is that your line? should be

_id = [] execFSM _id = [] execFSM "custom\player_monitor.fsm";

##### Share on other sites

Well do what the error tells you "missing ;", so add it :P

_id = [] execFSM _id = [] execFSM "custom\player_monitor.fsm">


is that your line? should be

_id = [] execFSM _id = [] execFSM "custom\player_monitor.fsm";

yea I just noticed that lol I'm retesting the server atm so, boy do I feel stupid

##### Share on other sites

Axe Cop, with your HiveExt.dll I don't get in the near of the player selection.

If I try to join my server. I am stuck in the loading screen.

Here is my hole RPT.log

https://gist.github.com/ragfire/7998647

you guys definitely have a lot of weird problem you know that... :p

you especially that is a native access error and can be anything, has to be related to the DLL of course but it is almost impossible to find the cause of that error with this stupid DLL files

all i know is that you are the only one who has problems with the DLL's so there has to be a problem on your side, what operating system are you using? my files should be drop in replacements for the Epocj ones so they should work the same way I just added 1 simple method to it., that's why native code can be pain if you have an error like this :/

##### Share on other sites

OK Axe Cop, I tried disabling the AH, and it didnt work...and then tried it without BE as well, and still the same problem remains....

Not sure wtf is going on tbh... :huh:

Thoiugh, I'm pretty sure I screwed something over though

Just not sure what

Bags

##### Share on other sites

OK Axe Cop, I tried disabling the AH, and it didnt work...and then tried it without BE as well, and still the same problem remains....

Not sure wtf is going on tbh... :huh:

Thoiugh, I'm pretty sure I screwed something over though

Just not sure what

Bags

do you see any of the log messages i posted here about an hour ago? I have to get sonme sleep soon, better hurry or try again tomorrow :/

##### Share on other sites

I use the gameserver from Nitrado... (german gamehoster)

Maybe it helps, that I post "my" normal HiveExt.dll

Can you have a look pls? That would be awesome

https://www.dropbox.com/s/rn9d6sqszqy56ba/HiveExt.dll

##### Share on other sites

I can't do nothing with your HiveExt.dll, sorry but DLL files are binary encoded machine code like EXE files so nobody can reverse engineer that to the code it was compiled from :/

and I'm sorry but I can't explain you why that error occurs maybe someone else has an idea.. maybe the hoster doesn't  allow you to change the DLL or they are using linux or whatever there might be all kinds of problems with native code like DLL files but there is not much you can do about it if you don't have full acces to the computer itself and install some software or whatever :(

Do you have a test server or something on your local machine? You should test it there maybe.. I always do that and then upload everything to my live server.

Without changing the HiveExt.dll this mod is impossible, I would not have done it if it wasn't nessesary.

##### Share on other sites

Had wanted to post here and tell you mine works now thanks man

##### Share on other sites

get some sleep mate, im sure it can wait till tomorrow

and thnx for all the help

bags... I'll have a look for the client logs...

##### Share on other sites

I'm with Vilayer as well, can't get this to work. Installed on a fresh Chernarus server with no antihack. Checked the install several times, pretty sure I followed all the steps correctly.

Loading screen - stays here for a while, then fades to a black screen --> "empty" character:

Couldn't find any obvious errors in the RPT, although there were a large number of:

Server error: Player without identity Frink

http://pastebin.com/grW9wuMU

When I hosted a 2017 server with them 6 months ago, they had to make some updates to the HiveExt.dll to get things working, so they may have done other customizations as well.

##### Share on other sites

I can't do nothing with your HiveExt.dll, sorry but DLL files are binary encoded machine code like EXE files so nobody can reverse engineer that to the code it was compiled from :/

and I'm sorry but I can't explain you why that error occurs maybe someone else has an idea.. maybe the hoster doesn't  allow you to change the DLL or they are using linux or whatever there might be all kinds of problems with native code like DLL files but there is not much you can do about it if you don't have full acces to the computer itself and install some software or whatever :(

Do you have a test server or something on your local machine? You should test it there maybe.. I always do that and then upload everything to my live server.

Without changing the HiveExt.dll this mod is impossible, I would not have done it if it wasn't nessesary.

As you have suggested, I set up a Test server on my local machine. Testet it with the default files from epoch afterwards my server files and then I tryed yours. Checked everything again and again. I'm sure I did it right.

Same thing... Now I got full server rights... Server crashes with (I think) the same RPT.logs

http://pastebin.com/ML77SrAt

Sorry, for giving you headaches :P

##### Share on other sites

Dont forget to check for hte HiveExt.log for any errors

##### Share on other sites

hi mate sorry if this has been answered how does this go with Custom Loadouts :)

##### Share on other sites

As you have suggested, I set up a Test server on my local machine. Testet it with the default files from epoch afterwards my server files and then I tryed yours. Checked everything again and again. I'm sure I did it right.

Same thing... Now I got full server rights... Server crashes with (I think) the same RPT.logs

http://pastebin.com/ML77SrAt

Sorry, for giving you headaches :P

You are getting an (C0000005)  ACCESS_VIOLATION error first on "D:\dayZ\Server\Expansion\beta\dll\tbb4malloc_bi.dll"   <---- have you also replaced that .dll ?

Its the operating system telling you that a program has malfunctioned and tried to reference no mans land. It has nothing specific to do with any particular program, or a brand of software, this is straight from the CPU and kernel of the operating system.

Your system doesnt like that .dll....or it told it to run something that it didnt understand and tried to access a part of the kernel that its off the limits.

Are you using a x32 or x64 Windows.

Maybe axe should post both versions of the dlls.

##### Share on other sites

You are getting an (C0000005)  ACCESS_VIOLATION error first on "D:\dayZ\Server\Expansion\beta\dll\tbb4malloc_bi.dll"   <---- have you also replaced that .dll ?

Its the operating system telling you that a program has malfunctioned and tried to reference no mans land. It has nothing specific to do with any particular program, or a brand of software, this is straight from the CPU and kernel of the operating system.

Your system doesnt like that .dll....or it told it to run something that it didnt understand and tried to access a part of the kernel that its off the limits.

Are you using a x32 or x64 Windows.

Maybe axe should post both versions of the dlls.

well this is getting complicated and you guys have more problem than i can solve..

first you should NOT replace that file "Expansion\beta\dll\tbb4malloc_bi.dll" that is a custom version of tbb by BI (hence the name) and used by ArmA itself and not the Hive extension, i use the default version and it works on many other servers too like this, only replace the files that come with epoch for the custom hive and not the arma ones please.

second there is no 64-bit version of arma, it should always be 32-bit as far as i know!?

@Ragfire what operating system are you using now for you test server? i am sure you did replace a wrong file or somehting this can't be if the default HiceExt.dll is working.

All i can think of is you need the "Microsoft Visual C++ 2010 Redistributable Package (x86)" for the dll to work, but the original HiveExt and ArmA itself should need that too so I am sure you have that installed already.

if everything fails there might be a small chance the files itself have been corrupted while extracting my ZIP archive..

@fr1nk usually you would get stuck at that screen if BattlEye kicks you while trying to get the character data from the server, please check your CLIENT log I've posted on the previous page with example output. :)

thats means you never get the response from the server so your game gets stuck, maybe you missed some changes to the server files check your log first.

##### Share on other sites

Hi,

1.got no Hive.log errors.

2. Never touched/replaced that file (Expansion\beta\dll\tbb4malloc_bi.dll)

2. I'm running a windows 7 x64 version.

Hopefully it is some corrupten of the Zip archieve. I will test it.

##### Share on other sites

@fr1nk usually you would get stuck at that screen if BattlEye kicks you while trying to get the character data from the server, please check your CLIENT log I've posted on the previous page with example output. :)

thats means you never get the response from the server so your game gets stuck, maybe you missed some changes to the server files check your log first.

Thanks for the reply. Took a peek in arma2OA.rpt, and found this:

[11.726,"PVDZE_plr_characters",B 1-1-A:1 (Frink)]
Fresnel k  must be >0, given n=0.8, k=0
Fresnel k  must be >0, given n=0.8, k=0

##### Share on other sites

Well ok your client is sending the request to the server but never gets an response! I would say check my file on the server where the answer should be send: server_playerCharacters.sqf verify if you followed all steps that the file is called or add a debug message to the file to verify that with the server report log

##### Share on other sites

I got it work on my 3 servers (2 hostet on nitrado, 1 root) and love it :D thank you so much for this!

##### Share on other sites

Installed on my 1.0.3.1 test server, running perfectly! Nice work Axe, another great addition by you.

Install instructions were great too, followed them to the letter and perfect!

EDIT: Forgot to say thanks! My bad.

Also, is there an eta when players might be restricted in swapping their characters? like a timer

##### Share on other sites

Hi Axe!,

finally got time to try this mod and it works really good!

The only Problem i see is that we will need some kind of Timer to use other Characters because f.e:

Someone gets killed in his base, people are starting to rob him, he logs in with his second character and kills them ....., thats not something what should be possible!

So id really appreciate if we could find a solution to restrict characters for 30 minutes or something!

Otherwise its a really nice Mod, thank you for that!

waTTe

PS: Install Instructions were perfect, everything worked without any error!

## Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

×   Pasted as rich text.   Paste as plain text instead

Only 75 emoji are allowed.

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×

• ### Similar Content

• 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 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 Sandbird
Dayz.Epoch.1.0.62 - 3d.Editor.Live.Mission with Database interaction

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
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
• By JakeQue
Hi, me again.

For some reason when i spawn in and collect coins or loadout the next time i disconnect and come back it puts me back into spawn and money is all disappeared.

There's no hive errors.
The only error in the Server RPT is :
And I have 2 errors in my client RPT. Looks like they relate to zsc but I have reinstalled it from scratch and still the same.
and

Sorry to be such a noob with this one!!