Players not saving when logging out?

Inkko

Valued Member!
A bunch of my players have been complaining about logging out and not having any of their progress saved once they log back in. Is anyone else having this issue or is it just me? and how could I fix this issue?
 
You're not on Takistan are you? I had quite an issue with this problem when running the updated Takistan map.
 
i also had this problem on our server but i found away to fix it is by modifying the onpause.sqf in the mission file

relplace it with this
Code:
private["_display","_btnRespawn","_btnAbort","_timeOut","_timeMax","_isDead","_timeOutDead","_timeMaxDead"];
        disableSerialization;
        waitUntil {
            _display = findDisplay 49;
            !isNull _display;
        };
        _btnRespawn = _display displayCtrl 1010;
        _btnAbort = _display displayCtrl 104;
        _btnRespawn ctrlEnable false;
        _btnAbort ctrlEnable false;
        _timeOut = 0;
        _timeOutDead = 0;
        _timeMax = 15;
        _timeMaxDead = 5;
        dayz_lastCheckBit = time;
       
        //if(r_player_dead) exitWith {_btnAbort ctrlEnable true;};
        //if(r_player_dead && _timeOutDead >= _timeMaxDead) exitWith {_btnAbort ctrlEnable true;};
        if(r_fracture_legs) then {_btnRespawn ctrlEnable true;};
       
        //force gear save
        if (time - dayz_lastCheckBit > 10) then {
            call dayz_forceSave;
        };           
               
        while {!isNull _display} do {
            switch true do {
                case (r_player_dead) : {
                    if(_timeOutDead < _timeMaxDead) then {
                        _btnAbort ctrlEnable false;
                        //cutText [format ["Can Abort in %1", (_timeMaxDead - _timeOutDead)], "PLAIN DOWN"];
                        _timeOutDead = _timeOutDead + 1;
                    } else {
                        _btnAbort ctrlEnable true;
                    };
                };
                case ({isPlayer _x} count (player nearEntities ["AllVehicles", 6]) > 1) : {
                    _btnAbort ctrlEnable false;
                    cutText [format[localize "str_abort_playerclose",_text], "PLAIN DOWN"];
                    call dayz_forceSave;
                };
                case (_timeOut < _timeMax && count (player nearEntities ["zZombie_Base", 35]) > 0) : {
                    _btnAbort ctrlEnable true;
                    //cutText [format ["Can Abort in %1", (_timeMax - _timeOut)], "PLAIN DOWN"];
                    //cutText [format[localize "str_abort_zedsclose",_text, "PLAIN DOWN"];
                    call dayz_forceSave;
                };
                case (player getVariable["combattimeout", 0] >= time) : {
                    _btnAbort ctrlEnable false;
                    //cutText ["Cannot Abort while in combat!", "PLAIN DOWN"];
                    cutText [format[localize "str_abort_playerincombat",_text], "PLAIN DOWN"];        
                    call dayz_forceSave;        
                };
                default {
                    _btnAbort ctrlEnable true;
                    cutText ["", "PLAIN DOWN"];
                    call dayz_forceSave;    
                };
            };
            sleep 1;
            _timeOut = _timeOut + 1;
        };
        cutText ["", "PLAIN DOWN"];

what this will do is every time they hit the ESC key the players location,gear,state,etc will be force saved to the database.
 
I'm on chernarus and I have added:
Auto Refuel
R3F Logistics
Dogs
Heli Lift
Custom Loading Screen
Sleeping at Tents
Custom Weather
Salvaging Parts from Vehicles
And a bunch of other actions contained in fn_selfActions (boiling water ect.)

Oh ya I forgot about the server pbo having:
Custom Crash Site Loot and Timer
Death Messages
Disco Anti Combat Bot
and a remove weapon script for certain weapons.
 
i also had this problem on our server but i found away to fix it is by modifying the onpause.sqf in the mission file

relplace it with this
Code:
private["_display","_btnRespawn","_btnAbort","_timeOut","_timeMax","_isDead","_timeOutDead","_timeMaxDead"];
        disableSerialization;
        waitUntil {
            _display = findDisplay 49;
            !isNull _display;
        };
        _btnRespawn = _display displayCtrl 1010;
        _btnAbort = _display displayCtrl 104;
        _btnRespawn ctrlEnable false;
        _btnAbort ctrlEnable false;
        _timeOut = 0;
        _timeOutDead = 0;
        _timeMax = 15;
        _timeMaxDead = 5;
        dayz_lastCheckBit = time;
     
        //if(r_player_dead) exitWith {_btnAbort ctrlEnable true;};
        //if(r_player_dead && _timeOutDead >= _timeMaxDead) exitWith {_btnAbort ctrlEnable true;};
        if(r_fracture_legs) then {_btnRespawn ctrlEnable true;};
     
        //force gear save
        if (time - dayz_lastCheckBit > 10) then {
            call dayz_forceSave;
        };         
             
        while {!isNull _display} do {
            switch true do {
                case (r_player_dead) : {
                    if(_timeOutDead < _timeMaxDead) then {
                        _btnAbort ctrlEnable false;
                        //cutText [format ["Can Abort in %1", (_timeMaxDead - _timeOutDead)], "PLAIN DOWN"];
                        _timeOutDead = _timeOutDead + 1;
                    } else {
                        _btnAbort ctrlEnable true;
                    };
                };
                case ({isPlayer _x} count (player nearEntities ["AllVehicles", 6]) > 1) : {
                    _btnAbort ctrlEnable false;
                    cutText [format[localize "str_abort_playerclose",_text], "PLAIN DOWN"];
                    call dayz_forceSave;
                };
                case (_timeOut < _timeMax && count (player nearEntities ["zZombie_Base", 35]) > 0) : {
                    _btnAbort ctrlEnable true;
                    //cutText [format ["Can Abort in %1", (_timeMax - _timeOut)], "PLAIN DOWN"];
                    //cutText [format[localize "str_abort_zedsclose",_text, "PLAIN DOWN"];
                    call dayz_forceSave;
                };
                case (player getVariable["combattimeout", 0] >= time) : {
                    _btnAbort ctrlEnable false;
                    //cutText ["Cannot Abort while in combat!", "PLAIN DOWN"];
                    cutText [format[localize "str_abort_playerincombat",_text], "PLAIN DOWN"];       
                    call dayz_forceSave;       
                };
                default {
                    _btnAbort ctrlEnable true;
                    cutText ["", "PLAIN DOWN"];
                    call dayz_forceSave;   
                };
            };
            sleep 1;
            _timeOut = _timeOut + 1;
        };
        cutText ["", "PLAIN DOWN"];

what this will do is every time they hit the ESC key the players location,gear,state,etc will be force saved to the database.
This is what my on pause looks like
Code:
private["_display","_btnRespawn","_btnAbort","_timeOut","_timeMax","_isDead"];
        disableSerialization;
        waitUntil {
            _display = findDisplay 49;
            !isNull _display;
        };
        _btnRespawn = _display displayCtrl 1010;
        _btnAbort = _display displayCtrl 104;
        _btnRespawn ctrlEnable false;
        _btnAbort ctrlEnable false;
        _timeOut = 0;
        _timeMax = 30;
        dayz_lastCheckBit = time;
       
        if(r_player_dead) exitWith {_btnAbort ctrlEnable true;};
        if(r_fracture_legs) exitWith {_btnRespawn ctrlEnable true; _btnAbort ctrlEnable true;};
       
        //force gear save
        if (time - dayz_lastCheckBit > 10) then {
            call dayz_forceSave;
        };           
               
        while {!isNull _display} do {
            switch true do {
                case ({isPlayer _x} count (player nearEntities ["AllVehicles", 6]) > 1) : {
                    _btnAbort ctrlEnable false;
                    cutText [format[localize "str_abort_playerclose",_text], "PLAIN DOWN"];
                };
                case (_timeOut < _timeMax && count (player nearEntities ["zZombie_Base", 35]) > 0) : {
                    _btnAbort ctrlEnable false;
                    cutText [format ["Can Abort in %1", (_timeMax - _timeOut)], "PLAIN DOWN"];
                    //cutText [format[localize "str_abort_zedsclose",_text, "PLAIN DOWN"];
                };
                case (player getVariable["combattimeout", 0] >= time) : {
                    _btnAbort ctrlEnable false;
                    //cutText ["Cannot Abort while in combat!", "PLAIN DOWN"];
                    cutText [format[localize "str_abort_playerincombat",_text], "PLAIN DOWN"];                   
                };
                default {
                    _btnAbort ctrlEnable true;
                    cutText ["", "PLAIN DOWN"];               
                };
            };
            sleep 1;
            _timeOut = _timeOut + 1;
        };
        cutText ["", "PLAIN DOWN"];
 
Well i added in the force save and tested it to make sure it didn't break anything but when I press esc the gear interface flickers every second. Its kinda of annoying but if the gear saves then who cares lol.
 
I also feel like its an issue with players logging in and it thinks they are a new player. Cause sometimes when logging in you'll be in the same spot you logged out but the gear you had is replaced with the starting loadout gear. So its as if you either are not saving your gear or the server is sometimes not loading your players gear. Not sure which... saving your gear before logging out makes more sense tho since it could cause it as well
 
im also having problems with people not keeping theyre gear if they disconect to fast
its like the database is lagging with the updates

so i could also use this
im using dayz.st
and i dont have a file named onpause.sqf in my mission pbo
could i get more specific instructions?
 
Okay. It seems to be an issue with calling a players saved gear I'm guessing since I've been using that on pause idea and after a restart I was on the shore with default gear nowhere near where I had logged out with the gear I had.
 
Also there seems to be an issue with the database when a player dies. It doesn't seem to write that they died and players are able to respawn on their dead body. It seems that happens if they log back in too fast after dying. Anyway I could add a timer into the onpause for them to rejoin? like 30 seconds or something?
 
if you DB is not writing that a player dies when they die then i would say that the issue lies with with server to DB communication... are you on a hosted server like daysz.st? or are you on a private server like one your unning on a machine in your home ?
 
dayz.st

Sometimes players login and out perfectly fine. Sometimes they logout then back in with nothing in their gear and on the coast. Sometimes they die and when respawning will spawn on their bodies. Then sometimes they'll die and spawn normally.
 
i had the same problem with them... and the issue lies withing the server to DB communication .. my suggestion is to e-mail and admin and tell them you are having issues with the DB saving player data and ill bet if you check the tents arent saving properly either... e-mail them and they should be able to rectify the situation they may even move your DB so it will preform better
 
WELL it could be the anticombat disco bot... you dont really ned it anymore now that the dayz code has a timer in it that wont le them log out if they r in combat.... you may want to try taking that script out and seeing if the issue persists....
 
Back
Top