Epoch, store playerUID instead of characterID.

asdfqwerty

New Member
Hello,

In order to get a custom script working (which allows players to remove buildables and plotpoles, even after death) I need to be able to insert the playerUID instead of the characterid into the object_data table under the "characterID" column.

Now i actually got this to work, except for one issue:

Data from people with playerUID's ending with AX or PF, or any letters in it for that matter, are not being written to the object_data table. Therefor, these people cannot use the modular building feature because the database simply doesn't write their data to the database.

At first i thought this is easy, just change the characterID column datatype from INT to VARCHAR so it would allow letters as well. I did this, but players with letters in their playerUID still can't build anything (it just doesn't update the database when building something).

I'm almost certain there's a file somewhere that checks for INT or something like that before it injects into the object_data table. But i can't seem to find it!

Does anyone have a suggestion for this?
 
The field characterid within the table object_data is int, so it does not accept any other value than numbers. It is possible to change that field, but i'm not sure at moment if you don't need to change plenty of code inside Epoch then because of changing the type from a number to a string. Also i'm not sure if hiveext.dll does accept a string for this field.

Just search for kikyou2 additions to basebuilding 1.2. it has been made for Epoch and there you can remove the buildables with a code panel.
If you have trouble to get this to work, please contact kikyou2 or me at chernarus.de for support with this, as meanwhile there have been some modifications to the code.
 
Panadur, thanks for your reply.

Indeed, it needs a lot of file editing. This isn't the problem though, as people with "normal" playerUID's could build, remove & everything (even after death) on my server. Only the people with letters in their playerUID couldn't because like you said yourself, the datatype is INT.

The change from INT to VARCHAR didn't take effect, so i'm almost certain that there's a piece of code that checks the values that needs to be injected into the object_data table for the correct values.

Unfortunatly i don't have access to hiveext.DLL on my host, so i have decided to change my custom code to the vanilla epoch base building again.

Thanks for the suggestion on basebuilding 1.2! I have seen that topic somewhere, but didn't payed attention to it because i thought "epoch already has basebuilding?" haha. But if this basebuilding 1.2 has the specs i'm searching for, i will most definitely gonna try that one then!
 
After looking up the basebuilding 1.2 you mentioned on youtube, i'm not sure if like how that system operates (many long codes etc.)

But since my previous customizations only didn't apply on people with letters in their playerUID,

Would it be possible to edit the sqf files which contain the call for dayz_playerUID and compares/updates it with mysql, and add a if/else statement?

Something like:

if(dayz_playerUID == "487562AX")then
{
dayz_playerUID = "999999999"
}
else
{
dayz_playerUID = dayz_playerUID
}

I'm not familiar with sqf coding, so the above syntax is probably wrong, but is this idea doable?
 
I'm taking a break from dayz at moment. Feel free to contact kikyou2, he is the other scripter in our team ..You can find him at this forum or at chernarus.de. I'm sure he is able to help you with this.
 
Back
Top