Jump to content
  • 0

Sometimes character stops updating after skin change


f3cuk

Question

Since updating to 1051 several people have been complaining that sometimes their character seemed to go back in time after they had logged in. Untill today I couldn't pinpoint what was happening but now i think i found it. Sometimes when a player changes skin, his or her character stops updating from that point on. Resulting in progress loss when they logout and log back in, even simply going in and out the lobby will "reset" their character to the state they were in just before they changed clothes.

 

One user even reported that he died » ragequit » after logging back in a few hours later, was alive and had most of his gear back. He asked me if i did a rollback on the database, which we did not. It did not make sense to me but now i'm figuring he had probably just changed skins before and got reset to that.
 

Could anyone confirm this issue? Or did i mess it up all by myself :P

Link to comment
Share on other sites

Recommended Posts

  • 0

Thanks for clearing that up Ebay :) I don't think (at least in this case) it has anything to do with lag. This error indeed also shows harmless (whilst player is in debug, possibly after dead, after just disconnecting or on changing clothes). In that case it's not really an error and imho it shoudnt show as one.

In any other case, where the player != in debug the error should show and be taken seriously cause the player has lost characterID.
 
---
 
Think i finally managed to reproduce.

It's definately related to AGN.

1.) Go to a safezone
2.) Try to change clothes by going into gear by pressing G -> This won't work, it doesn't do anything apart from updating the clothes in your gear with the one you currently have on.
3.) Try to change clothes WHILST inside a loot pile or vehicle gear (easiest way to do this is just drop something on the ground and go into that) -> This will change your clothes, but probably create an error somewhere in your switchmodel.sqf cause your backpack wont get updated with your gear and the error starts after that.

Possible "fixes"
 
1.) Make people unable to change clothes in safezones (crap)
2.) Make people unable to change clothes whilst inside gear of vehicle or loot pile (better)
3.) Fix this bug altogether (best)

 

--

 

EDIT: Does not happen whilst inside the gear of a car inside the safezone -> Weirdly it works as expected when inside the gear of a vehicle.

Link to comment
Share on other sites

  • 0

tested out the updated files for 1.0.5.2 that ebay posted and i had a problem with zombies and loot not spawning , every thing else seemed fine 

 

i didnt get to test the logging in after  changing to much it was pretty late so i just reverted to my old files ,i tried to change and then log out 2 times , and no gear loss , but that is not nearly enough testing 

 

 

edit: my player spawn check was messed up =P the edits work! now to test the issue at hand

Link to comment
Share on other sites

  • 0

For me it at least fixed the one issue i could recreate. It might have been a combination of the safezones and the possible fixes ebaydayz supplied (and some other files i manually updated to the 1052 versions).

Link to comment
Share on other sites

  • 0

I'd been having this problem very rarely since since 1.0.5.1, but recently it has gotten really bad. I can trace the start of the major problems back to installing DZGM. I was updating it earlier this evening while reading this thread and noticed the mentions of player_switchModel.sqf which DZGM modifies (not blaming the mod).

 

I pulled the latest one from Github and added the DZGM changes into that and so far there doesn't seem to be any reports of the problem.

 

Regarding Safezones, we had been using AGN but recently switched Infistar and that made no difference.

Link to comment
Share on other sites

  • 0

I use DZGM but the problem for me was long before I ever tried got it actually

 

not saying one way or another really just giving my feeback.

 

I never could trace my error but since telling my people about the "clothes" i dont get much complaints anymore.

Link to comment
Share on other sites

  • 0

For me it at least fixed the one issue i could recreate. It might have been a combination of the safezones and the possible fixes ebaydayz supplied (and some other files i manually updated to the 1052 versions).

 

To clarify. This did fix the safezone issue we were having. But did not fix the issue altogether. Still searching for a fix, kano5003 suggested the issue does not appear for the first player to change clothes, but only for those who follow after that. I can not confirm this, but it might be the reason why im having such a hard time reproducing this on our test environment :P IF this is the root of all evil, then a fix shouldn't be too hard to find with some proper debugging.

Meanwhile I've been trying to get it sorted with some changes to the files ebaydayz referred to earlier in this thread. I haven't had the chance to test these properly, but with these changes it was the first time I wasn't able to get a single no characterID error in my .rpt. So I'm hopeful, I've installed them on our main server but it will take some hours before the casual players will start joining again and I can start testing with them.

 

For anyone interested in the changes: (make sure you backup your original files and please let me know your results). I've done a number of changes in these files, but the one which i think might have done the trick is changing the spawn to a call inside player_wearClothes.sqf. This file is actually called first when you click to change clothes and sets the var DZE_ActionInProgress, which i hope prevents the hive from updating the player until it is switched to false again it does not. I changed the spawn reference to player_humanitymorph to a call  which - unlike spawn - should wait for the called script to finish before it goes any further in the current file. Hopefully making it so DZE_ActionInProgress will not get set to false before the complete skinchange has been done, which might prevent the server from trying to update a player that isn't finished changing clothes yet (xD). Furthermore I've changed some counts to foreach loops (i am really desperate lol) and tried to force updating the player by setting a public variable at the end of player_humanitymorph that should ask the server for a character update.

 

[code REMOVED]

Link to comment
Share on other sites

  • 0

Why would you think that?

--

 

I have not found a solution. Tried many things, failed many times lol :P Even tried to set the characterID directly after removing the old character and still get the rollbacks and "as no CharacterID" errors. Really annoying.

Link to comment
Share on other sites

  • 0

I'm just going through every custom script i have. I've been disabling them one at a time to see if there is any difference.

The spawn selector is probably the most work to revert so i was wondering if there was any chance of that file causing the problem.

Link to comment
Share on other sites

  • 0

Seeing this isse aswell... Also saw it before adding dzgm to our server so doubt thats got anything to do with it.

 

We had seen the issue a couple of times before adding DZGM, after however it was happening to a large % of our players. I really didn't think it would be the cause of the problem either, but I haven't had any reports of it happening since I disabled it and I've had a number of people test this quite a bit.

Link to comment
Share on other sites

  • 0

In that case I fully expect the problem to pop back up then.

 

Maybe we could list the mods we do have and find the common link. No doubt it will be something simple and completely unrelated.

 

I have:

  • Infistar + Safezones
  • Mudzereli's and suicide scripts
  • for Napf and Chernarus
  • this week)
  • Zabns Take Clothes
  • Custom UI
  • Indestructible locked vehicles - modded vehicle_handleDamage.sqf
  • DZMS
  • WAI

My init.sqf is as follow so you see variables

 

/*	
	For DayZ Epoch
	Addons Credits: Jetski Yanahui by Kol9yN, Zakat, Gerasimow9, YuraPetrov, zGuba, A.Karagod, IceBreakr, Sahbazz
*/
startLoadingScreen ["","RscDisplayLoadCustom"];
cutText ["","BLACK OUT"];
enableSaving [false, false];

//REALLY IMPORTANT VALUES
dayZ_instance =	24;				//The instance
dayzHiveRequest = [];
initialized = false;
dayz_previousID = 0;

//disable greeting menu 
player setVariable ["BIS_noCoreConversations", true];
//disable radio messages to be heard and shown in the left lower corner of the screen
enableRadio false;
// May prevent "how are you civillian?" messages from NPC
enableSentences false;

// DayZ Epoch config
dayz_minpos = -1000; 
dayz_maxpos = 26000;
dayz_MapArea = 18000;

spawnShoremode = 1; 								// Default = 1 (on shore)
spawnArea= 1250; 									// Default = 1500

dayz_spawnselection = 1; 							// DayZ Spawnselection / 1 = enabled // 0 = disabled
dayz_paraSpawn = false;

setViewDistance 1700;

DZE_DeathMsgGlobal = true;
DZE_DeathMsgSide = true;
DZE_DeathMsgTitleText = true;

DZE_ForceNameTagsInTrader = true;					// Nametags in trader
DZE_ForceNameTagsOff = true;						// Nametags off

DZE_R3F_WEIGHT = false; 							// Removes weight limit

DZE_requireplot = 1; 								// Optional Plotpole
DZE_PlotPole = [45,75];								// Plot radius, Exclusion Zone
DZE_BuildingLimit = 300;							// BuildingLimit
DZE_GodModeBase = true; 							// God Mode for bases
DZE_BuildOnRoads = false; 							// Default: False
DZE_snapExtraRange = 3;								// Increase Snap Build range

DZE_PlayerZed = false;								// Disables players spawning as Zed.

DZE_SelfTransfuse = true; 							// Enables self transfusion
DZE_selfTransfuse_Values = [12000, 1000, 60]; 		// Values for transfusion [BloodValue, Success chance (higher=better), Cooldown (sec)]

MaxVehicleLimit = 300; 								// Default = 50
MaxDynamicDebris = 0; 								// Default = 100

dayz_sellDistance_vehicle = 25;
dayz_sellDistance_boat = 40;
dayz_sellDistance_air = 50;

dayz_maxAnimals = 5; 								// Default: 8
dayz_tameDogs = true;

DynamicVehicleDamageLow = 15; 						// Default: 0
DynamicVehicleDamageHigh = 85; 						// Default: 100
DynamicVehicleFuelLow = 20; 						// Default: 0
DynamicVehicleFuelHigh = 85; 						// Default: 100

MaxAmmoBoxes = 10; 									// Default: 5
MaxMineVeins = 30; 									// Default: 50

//Backpack contents being wiped if logging out or losing connection beside another player. 
DZE_BackpackGuard = true; 							// Default = true
DZE_TRADER_SPAWNMODE = false; 						// Default = true

EpochEvents = [["any","any","any","any",30,"crash_spawner"],["any","any","any","any",0,"crash_spawner"],["any","any","any","any",15,"supply_drop"]];
dayz_fullMoonNights = true;

//Load in compiled functions
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf";						// Initilize the Variables (IMPORTANT: Must happen very early)
progressLoadingScreen 0.1;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf";							// Initilize the publicVariable event handlers
progressLoadingScreen 0.2;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf";			// Functions used by CLIENT for medical
progressLoadingScreen 0.4;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";							// Compile regular functions
progressLoadingScreen 0.5;
call compile preprocessFileLineNumbers "server_traders.sqf";											// Compile trader configs
call compile preprocessFileLineNumbers "custom\compiles.sqf"; 											// Compile custom compiles

call compile preprocessFileLineNumbers "addons\bike\init.sqf";											// Right click to deploy
call compile preprocessFileLineNumbers "addons\suicide\init.sqf";										// Right click to suicide
call compile preprocessFileLineNumbers "scripts\remote_messages.sqf";									// Server side messages
call compile preprocessFileLineNumbers "logistic\init.sqf";												// Tow and Lift
call compile preprocessFileLineNumbers "scripts\loadout.sqf";											// Custom Loadouts and Skins

progressLoadingScreen 1.0;

DZE_safeVehicle = ["ParachuteWest","ParachuteC","MMT_Civ","CSJ_GyroC","TT650_Civ","JetSkiYanahui_Blue"];

"filmic" setToneMappingParams [0.153, 0.357, 0.231, 0.1573, 0.011, 3.750, 6, 4]; setToneMapping "Filmic";

dayz_maxLocalZombies = 5; 							// Default = 30 
dayz_maxZeds = 100; 								// Default = 500
dayz_zedsAttackVehicles = false; 					// Default = true

if (isServer) then {
	//Compile vehicle configs
	call compile preprocessFileLineNumbers "\z\addons\dayz_server\missions\DayZ_Epoch_24.Napf\dynamic_vehicle.sqf";				
	// Add trader citys
	_nil = [] execVM "\z\addons\dayz_server\missions\DayZ_Epoch_24.Napf\mission.sqf";

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

if (!isDedicated) then {

	[] execVM "scripts\Server_WelcomeCredits.sqf";
	
	//Conduct map operations
	0 fadeSound 0;
	waitUntil {!isNil "dayz_loadScreenMsg"};
	dayz_loadScreenMsg = (localize "STR_AUTHENTICATING");
	
	//Run the player monitor
	_id = player addEventHandler ["Respawn", {_id = [] spawn player_death;}];
	_playerMonitor =	[] execVM "dayz_code\system\player_monitor.sqf";
	
	//Lights
	//[false,12] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
	
	//Service Point
	[] execVM "addons\service_point\service_point.sqf";
	
	//Key Changer
	_nil = [] execVM "addons\VehicleKeyChanger\VehicleKeyChanger_init.sqf";
};
//Start Dynamic Weather
execVM "custom\DynamicWeatherEffects.sqf";

#include "\z\addons\dayz_code\system\BIS_Effects\init.sqf"

//Infistar Safezones
[] execVM "scripts\SafeZone.sqf";

DZE_noRotate = []; // Objects that cannot be rotated. Ex: DZE_noRotate = ["VaultStorageLocked"]
DZE_curPitch = 45; // Starting rotation angle. Only 1, 5, 45, or 90.

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...