Wenn ein Spieler meinen Server verlässt(DayZ) sollen alle Daten gespeichert werden in einer Datenbank. Dies funktioniert auch alles tadellos bis auf den einen Punkt, dass jeder Spieler für 1-3sek NetworkTroubel bekommt wenn ein anderer Spieler den Server verlässt. Zum Daten VBank speichern verwende ich [(MySQL_SetVar) aus dem Vio script].
Lua
function saveAccounts ()
if getElementData(source,"logedin") then
local account = getPlayerAccount(source)
accname = getAccountName ( account )
if account then
destroyElement(getElementData(source,"playerCol"))
for i,data in ipairs(playerDataTable) do
if data[1] == "brokenbone" or data[1] == "pain" or data[1] == "drunk" or data[1] == "cold" or data[1] == "infection" or data[1] == "currentweapon_1" or data[1] == "currentweapon_2" or data[1] == "currentweapon_3" or data[1] == "bandit" then
if getElementData(source,data[1]) then
MySQL_SetVar("userdata","`"..data[1].."`",1, "accname LIKE '"..accname.."'")
else
MySQL_SetVar("userdata","`"..data[1].."`",0, "accname LIKE '"..accname.."'")
end
else
MySQL_SetVar("userdata","`"..data[1].."`",getElementData(source,data[1]), "accname LIKE '"..accname.."'")
end
end
local x,y,z = getElementPosition(source)
local rx,ry,rz = getElementRotation(source)
MySQL_SetVar("userdata","`last_x`",x, "accname LIKE '"..accname.."'")
MySQL_SetVar("userdata","`last_y`",y, "accname LIKE '"..accname.."'")
MySQL_SetVar("userdata","`last_z`",z, "accname LIKE '"..accname.."'") MySQL_SetVar("userdata","`dimension`",getElementDimension(source), "accname LIKE '"..accname.."'")
MySQL_SetVar("userdata","`interio`",getElementInterior(source), "accname LIKE '"..accname.."'")
MySQL_SetVar("userdata","`Spawn_Rot_Z`",rz, "accname LIKE '"..accname.."'")
end
setElementData(source,"logedin",false)
end
end
addEventHandler ( "onPlayerQuit", getRootElement(), saveAccounts )
Alles anzeigen
Währe echt super wenn jemand einen Verbesserungsvorschlag weis.