Jump to content

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


Axe Cop

Recommended Posts

awesome stuff...especially the custom .dll....been waiting for that one for ages :)

Will it allow us to add a couple of more cells in the database ?

the custom dll is there for month, you just have to compile it yourself: https://github.com/vbawol/DayZhiveEpoch

but yes, you can execute custom SQL queries with the CHILD 999 support (from SQF script on the server), whatever you want I think. :)

Link to comment
Share on other sites

Looks good mate.

 

Personally if possible I would make the timer between changing characters customizable by admins, myself I would go for 3 hours as thats how long a restart is on my servers, just setting it to refresh every restart won't work as people will grief around restart times. Its a shame but you really have to babysit some people and prevent as much as possible without relying on player honour.

 

If you can make it that the dead character slots are reusable outside of this timer then that would work best :)

 

I'm guessing you can call on the "lastlogin" timer as you have it displayed, would it simply be a case of telling it not to display that spawn button if the last login timer was <XX minutes?

Link to comment
Share on other sites

Update: Download and installation instructions added to the first post!

I hope that is not to complicated to install, but you can do it! :)

 

Looks good mate.

 

Personally if possible I would make the timer between changing characters customizable by admins, myself I would go for 3 hours as thats how long a restart is on my servers, just setting it to refresh every restart won't work as people will grief around restart times. Its a shame but you really have to babysit some people and prevent as much as possible without relying on player honour.

 

If you can make it that the dead character slots are reusable outside of this timer then that would work best :)

 

I'm guessing you can call on the "lastlogin" timer as you have it displayed, would it simply be a case of telling it not to display that spawn button if the last login timer was <XX minutes?

I am still thinking about some restrictions like that, the login timer might be an option but how do you want to use it for that?

That is not the time the player changes a character, only the last time he logged in with it, but I could come up with something like you can only switch the character if the last login of ALL characters was at least x minutes ago.

There might be a "problem" with that, because if you want to switch to another character slot you have to play with the one character for at least 3 hours (in your example) or wait at the login screen.. might work if you stop playing for some hours and come back, then you can choose whatever you want!?

Also if your character dies, you can only use that slot and spawn fresh (which will reset the last login time of course), but there has to some restriction even when you die, because if your base gets attacked or whatever and you have 2+ chars in your base you can just switch to another and willbe back where you just died.. not that easy :)

Link to comment
Share on other sites

Update: Download and installation instructions added to the first post!

I hope that is not to complicated to install, but you can do it! :)

 

I am still thinking about some restrictions like that, the login timer might be an option but how do you want to use it for that?

That is not the time the player changes a character, only the last time he logged in with it, but I could come up with something like you can only switch the character if the last login of ALL characters was at least x minutes ago.

There might be a "problem" with that, because if you want to switch to another character slot you have to play with the one character for at least 3 hours (in your example) or wait at the login screen.. might work if you stop playing for some hours and come back, then you can choose whatever you want!?

Also if your character dies, you can only use that slot and spawn fresh (which will reset the last login time of course), but there has to some restriction even when you die, because if your base gets attacked or whatever and you have 2+ chars in your base you can just switch to another and willbe back where you just died.. not that easy :)

got this running on my server the install was extremely easy good job one thing i have noticed is the spawn button slightly covers up the  bottom of the last login text

cc77023a18e8fc15630b8eb19cfc238c.png

Link to comment
Share on other sites

got this running on my server the install was extremely easy good job one thing i have noticed is the spawn button slightly covers up the  bottom of the last login text

thanks, might be a problem with the "screen safezone" of the ArmA UI, since all positions are relative and might be dependant on your screen resolution or however ArmA calculates that stuff..

you screenshot has a resolution of 1898x1008, what is that? :D

 

what you can try is to adjust the positions in the dialog file RscDisplayCharacterSelect.hpp, change the y-position of the button "RscCharacterSelectButton" at line 195:

y = 0.687 * safezoneH + safezoneY;

increase the value to 0.7 or play with the value a little (0.0 is at the top of the safezone area and 1.0 at the bottom). not easy to get all the info on the screen you know. :D

Link to comment
Share on other sites

thanks, might be a problem with the "screen safezone" of the ArmA UI, since all positions are relative and might be dependant on your screen resolution or however ArmA calculates that stuff..

you screenshot has a resolution of 1898x1008, what is that? :D

 

what you can try is to adjust the positions in the dialog file RscDisplayCharacterSelect.hpp, change the y-position of the button "RscCharacterSelectButton" at line 195:

y = 0.687 * safezoneH + safezoneY;

increase the value to 0.7 or play with the value a little (0.0 is at the top of the safezone area and 1.0 at the bottom). not easy to get all the info on the screen you know. :D

thats cus i put it into windowed mode to take the screen shot using gyazo but it was running at 1920x1080 

i will play with the y value a little thanks for the tip

Link to comment
Share on other sites

Yeah the last character to login would affect the spawn buttons on the other slots unless they are fresh spawns.

 

Say I set the timer to 180 (minutes) or 108000 (seconds) depending on what variable it is, assuming its arma coding it'll be seconds right? Anyway.. 3 hours.

 

General

You can only spawn on characters that have a lastlogin > 3hours.

You cannot spawn on another character if an alive character has a login < 3hours. You must use this character.

 

If you get killed, to prevent griefing

You cannot spawn on another character if a dead character has been dead < 3 hours, you may only create and play a fresh spawn.

 

Easiest way to do this would be to force all slots to be used in order for any character to be used, which means if you die.. you have to make a new character to be able to play.

 

Might create a problem if someone forgets to make a new char after dying though.

 

You could also stop people using chars that are within XX distance aswell I guess?

Link to comment
Share on other sites

Axe Cop, I was wondering how I would go about setting a background to this screen &/OR Rather than having a character picture behind each bio, have a custom picture (such as a border with a background)...

 

 

How easy would this be to complete and what needs to be done to achieve this?

 

Link to comment
Share on other sites

Yeah the last character to login would affect the spawn buttons on the other slots unless they are fresh spawns.

 

Say I set the timer to 180 (minutes) or 108000 (seconds) depending on what variable it is, assuming its arma coding it'll be seconds right? Anyway.. 3 hours.

 

General

You can only spawn on characters that have a lastlogin > 3hours.

You cannot spawn on another character if an alive character has a login < 3hours. You must use this character.

 

If you get killed, to prevent griefing

You cannot spawn on another character if a dead character has been dead < 3 hours, you may only create and play a fresh spawn.

 

Easiest way to do this would be to force all slots to be used in order for any character to be used, which means if you die.. you have to make a new character to be able to play.

 

Might create a problem if someone forgets to make a new char after dying though.

 

You could also stop people using chars that are within XX distance aswell I guess?

yeh that are some good ideas! problem might be with "You can only spawn on characters that have a lastlogin > 3hours." so you cannot login again even with the same character, unless I say the character with the smallest last login time is the last one and can always be used, should be true? with the min distance should also be possible, but you may not be able to spawn at all if there are players near all of your chars, that might suck I think :P (but this could still be uses as a warning or something maybe: "be careful other players nearby"

 

 

Axe Cop, I was wondering how I would go about setting a background to this screen &/OR Rather than having a character picture behind each bio, have a custom picture (such as a border with a background)...

 

 

How easy would this be to complete and what needs to be done to achieve this?

yeah to be honest the UI design of ArmA is one of the hardest parts in my opinion, just look at my dialog file "RscDisplayCharacterSelect.hpp" and you see what I mean :D

Everything you want should be possible, if you have some time maybe look at the wiki for UI design: http://community.bistudio.com/wiki/Dialog_Control there is an weird UI editor as an external mod or use ArmA3 is has the same thing included: http://community.bistudio.com/wiki/User_Interface_Editor_(Arma_2) Imo only usable for a quick prototype or starting point for most dialogs.

Link to comment
Share on other sites

I have it working mate, well sorta.. I followed your instructions to the letter, and the pic comes up to choose a character, but its the same one all the time..

 

Any suggestions on where I screwed up

 

Bags

what "pic" do you mean? the complete character selection or just the picture in the background? that is static so always the same at the moment :D

Link to comment
Share on other sites

Got the problem as Bags2247. It always get Slot "1".

For me it is the "complete character selection"

 

If I use your HiveExt.dl, some errors show up.

Mods: @DayZ_Epoch_Server
Distribution: 0
Version 1.62.103718
Fault address:  5DB735FC 01:000225FC C:\SERVICES\ni*****\dayz\@DayZ_Epoch_Server\HiveExt.dll
file:     dayz_private_1.epoch (__cur_mp)
world:    chernarus
Prev. code bytes: 4D 8C 51 50 FF D2 83 C4 0C C6 45 FC 03 8B 4D 8C
Fault code bytes: 8B 01 8B 50 04 FF D2 84 C0 0F 84 B0 05 00 00 EB

Registers:
EAX:018DC2E4 EBX:018DC3A0
ECX:00000000 EDX:00000400
ESI:00000010 EDI:00000001
CS:EIP:0023:5DB735FC
SS:ESP:002B:018DC2A0  EBP:018DC358
DS:002B  ES:002B  FS:0053  GS:002B
Flags:00010216
=======================================================
note: Minidump has been generated into the file dayz_1.epoch.chernarus\arma2oaserver.mdmp
Link to comment
Share on other sites

 

Got the problem as Bags2247. It always get Slot "1".

For me it is the "complete character selection"

 

If I use your HiveExt.dl, some errors show up.

Mods: @DayZ_Epoch_Server
Distribution: 0
Version 1.62.103718
Fault address:  5DB735FC 01:000225FC C:\SERVICES\ni*****\dayz\@DayZ_Epoch_Server\HiveExt.dll
file:     dayz_private_1.epoch (__cur_mp)
world:    chernarus
Prev. code bytes: 4D 8C 51 50 FF D2 83 C4 0C C6 45 FC 03 8B 4D 8C
Fault code bytes: 8B 01 8B 50 04 FF D2 84 C0 0F 84 B0 05 00 00 EB

Registers:
EAX:018DC2E4 EBX:018DC3A0
ECX:00000000 EDX:00000400
ESI:00000010 EDI:00000001
CS:EIP:0023:5DB735FC
SS:ESP:002B:018DC2A0  EBP:018DC358
DS:002B  ES:002B  FS:0053  GS:002B
Flags:00010216
=======================================================
note: Minidump has been generated into the file dayz_1.epoch.chernarus\arma2oaserver.mdmp

that looks more like an app crash to me!? did you replace all 4 DLL and not just the HiveExt.dll?

I have mentioned in the instructions that I've used the latest version of the files so you might need to update all 4 instead of just the HiveExt.dll.. it's better anyway :)

Link to comment
Share on other sites

If I am using your HiveExt.dll I got this error.

 

But If I am using my default HiveExt.dll and all copyed files from you.(checked it twice) It shows only 1 Player. ( Exactly what Bags problem is)

Can you make a screenshot or something? I don't get what you mean, by default you may only see your old player in the first character slot and the other are empty!?

and with the original HiveExt.dll from epoch you can't use my mod obviously because it has no support for loading all characters at all so you should not even see one or it may get stuck because it will produce scripts errors like this!

hard to tell, maybe you missed some change to one of the files, I can only guess without more details ^^

 

@bags can you upload your mission and server pbo somewhere so i can take a look?

also take a look at your database do you have any characters in there with Slot 1 or 2 (it should create one if you click on an empty slot)

Link to comment
Share on other sites

xgee4dc3.png

 

Replayed all files (execpt the HiveExt.dll) And that is showen up(pic)

If I try to use your HiveExt.dll I get the error...

  CA_Animals2_Anim_Config in ca\animals2\animconfig\
  CA_CommunityConfigurationProject_E_Gameplay_AdditionalLauncherRocketsWithEnlargedSize in ca\communityconfigurationproject_e\gameplay_additionallauncherrocketswithenlargedsize\
  CAWeapons_AmmoBoxes in ca\weapons\ammoboxes\, CAweapons_m107 in ca\weapons\m107\
  CACharacters in ca\characters\
Mods: @DayZ_Epoch_Server
Distribution: 0
Version 1.62.103718
Fault address:  5DB735FC 01:000225FC C:\SERVICES\ni*****\dayz\@DayZ_Epoch_Server\HiveExt.dll
file:     dayz_private_1.epoch (__cur_mp)
world:    chernarus
Prev. code bytes: 4D 8C 51 50 FF D2 83 C4 0C C6 45 FC 03 8B 4D 8C
Fault code bytes: 8B 01 8B 50 04 FF D2 84 C0 0F 84 B0 05 00 00 EB

Registers:
EAX:018DC2E4 EBX:018DC3A0
ECX:00000000 EDX:00000400
ESI:00000010 EDI:00000001
CS:EIP:0023:5DB735FC
SS:ESP:002B:018DC2A0  EBP:018DC358
DS:002B  ES:002B  FS:0053  GS:002B
Flags:00010216
=======================================================
note: Minidump has been generated into the file dayz_1.epoch.chernarus\arma2oaserver.mdmp

And the server is restarting and restarting.

 

How can I use your HiveExt.dll?

 

Hopefully now you understand me :D

Link to comment
Share on other sites

I've installed this on my server I followed the instructions to the letter but we get a black screen upon login

 

and I'll get this in the RPT log

19:21:16 "DISCONNECT: Manana (108396166) Object: B 1-1-A:1 (Manana) REMOTE, _characterID: 0 at loc [-7244.94,19534.5,1.10648]"
19:21:16 "ERROR: Cannot Sync Character Manana as no characterID"

 

dont know if this matters but it was working before this

Link to comment
Share on other sites

OK in the DB, I only have slot 1 listed so far, and here is a link for my files.. they are in a zip format, simply because I work with the files instead of as pbo's

you did not add the dialog to your AH config (you might want to remove the public link or delete the files in your dropbox), add 'RscDisplayCharacterSelect' to your allowed menus.

other then that it seems you did everyhting like it should be, i am 95% sure it has to do with your AH blocking something, maybe try and disable your AH if it still doesn't work.

 

Note to all admins who are having problems: please disable all your anti hacks and even BattlEye to confirm it is something else. thanks :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...