John_Scott Posted December 22, 2013 Posted December 22, 2013 Hi, I have a problem witht my script. I would like to save the player's team when he quit, and load/set when logging in, but my code is not workins Quit: function saveAccountData(source) local theTeam = getPlayerTeam ( source ) setAccountData ( playeraccount, "tg.team", theTeam ) end Connect: function loadAccountData() local playerTeam = getAccountData ( playeraccount, "tg.team" ) -- Spawning Player local gx, gy, gz = 2500.9230957031, -1671.9180908203, 13.787899971008 spawnPlayer (source, gx, gy, gz, 0, playerSkin, 0, 0, playerTeam) setCameraTarget ( source, source) end Thanks for help!
Castillo Posted December 22, 2013 Posted December 22, 2013 You can't store a team element, you must store the team name instead. Saving: function saveAccountData(source) local theTeam = getPlayerTeam ( source ) setAccountData ( playeraccount, "tg.team", getTeamName ( theTeam ) ) end Loading: function loadAccountData() local playerTeam = getAccountData ( playeraccount, "tg.team" ) -- Spawning Player local gx, gy, gz = 2500.9230957031, -1671.9180908203, 13.787899971008 spawnPlayer (source, gx, gy, gz, 0, playerSkin, 0, 0, getTeamFromName ( playerTeam) ) setCameraTarget ( source, source) end
John_Scott Posted December 22, 2013 Author Posted December 22, 2013 Now working now too Save data: function saveAccountData(source) local playeraccount = getPlayerAccount ( source ) if ( playeraccount ) then -- Save Money local playermoney = getPlayerMoney ( source ) setAccountData ( playeraccount, "tg.money", playermoney ) outputChatBox("Money: " .. playermoney) --Save Team local theTeam = getPlayerTeam ( source ) setAccountData ( playeraccount, "tg.team", getTeamName ( theTeam ) ) outputChatBox("Team: " .. theTeam) --Save Skin local playerSkin = getElementModel ( source ) setAccountData ( playeraccount, "tg.skin", playerSkin ) outputChatBox("Skin ID: " .. playerSkin) end end addEventHandler ( "onPlayerQuit", getRootElement ( ), saveAccountData ) addCommandHandler("save-all", saveAccountDat a) Load data: function loadAccountData() local playeraccount = getPlayerAccount (source) if ( playeraccount ) then --Load Team local playerTeam = getAccountData ( playeraccount, "tg.team" ) --Load Skin local playerSkin = getAccountData ( playeraccount, "tg.skin" ) -- Spawning Player local gx, gy, gz = 2500.9230957031, -1671.9180908203, 13.787899971008 spawnPlayer (source, gx, gy, gz, 0, playerSkin, 0, 0, getTeamFromName ( playerTeam) ) setCameraTarget ( source, source) outputChatBox("Spaswned") -- Load Money local playermoney = getAccountData ( playeraccount, "tg.money" ) setPlayerMoney ( source, playermoney ) end end Error: http://kepfeltoltes.hu/131222/error_www ... es.hu_.png
Castillo Posted December 22, 2013 Posted December 22, 2013 outputChatBox("Team: " .. theTeam) Remove that line or change it to: outputChatBox("Team: " .. getTeamName ( theTeam ) )
John_Scott Posted December 22, 2013 Author Posted December 22, 2013 Already try it, but doesn't work Code: function saveAccountData(thePlayer) local playeraccount = getPlayerAccount ( thePlayer ) if ( playeraccount ) then -- Save Money local playermoney = getPlayerMoney ( thePlayer ) setAccountData ( playeraccount, "tg.money", playermoney ) outputChatBox("Money: " .. playermoney) --Save Team local theTeam = getPlayerTeam ( thePlayer ) local playerTeam = getTeamName ( theTeam ) setAccountData ( playeraccount, "tg.team", playerTeam ) outputChatBox("Team: " .. playerTeam ) --Save Skin local playerSkin = getElementModel ( thePlayer ) setAccountData ( playeraccount, "tg.skin", playerSkin ) outputChatBox("Skin ID: " .. playerSkin) end end addEventHandler ( "onPlayerQuit", getRootElement ( ), saveAccountData ) addCommandHandler("save-all", saveAccountData) function loadAccountData() local playeraccount = getPlayerAccount (source) if ( playeraccount ) then -- Spawning Player local gx, gy, gz = 2500.9230957031, -1671.9180908203, 13.787899971008 spawnPlayer (source, gx, gy, gz, 0, 0, 0, 0, nil) setCameraTarget ( source, source) outputChatBox("Spaswned") --Load Team local playerTeam = getAccountData ( playeraccount, "tg.team" ) local theTeam = getTeamFromName ( "playerTeam" ) setPlayerTeam ( source, theTeam ) --Load Skin local playerSkin = getAccountData ( playeraccount, "tg.skin" ) setElementModel(source, playerSkin) -- Load Money local playermoney = getAccountData ( playeraccount, "tg.money" ) setPlayerMoney ( source, playermoney ) end end
Castillo Posted December 22, 2013 Posted December 22, 2013 So, is not saving the team? what does it output to the chatbox?
John_Scott Posted December 22, 2013 Author Posted December 22, 2013 Yes, after the register, write to tchatbox: Skin, Money, Team, but after reconnect and log in, only write the money, but wront value: 0
TAPL Posted December 22, 2013 Posted December 22, 2013 Change line 21 to: addEventHandler ( "onPlayerQuit", getRootElement ( ), function() saveAccountData(source) end)
John_Scott Posted December 22, 2013 Author Posted December 22, 2013 Change line 21 to: addEventHandler ( "onPlayerQuit", getRootElement ( ), function() saveAccountData(source) end) Not working too with this, but the data saveing is working, the load is not
TAPL Posted December 22, 2013 Posted December 22, 2013 oh, i don't see where is the event onPlayerLogin in your code.
John_Scott Posted December 22, 2013 Author Posted December 22, 2013 I now use the onPlayerLogin, i place the function's call to the XML login: function PlayerLogin(username,password,checksave) if not (username == "") then if not (password == "") then local account = getAccount ( username, password ) if ( account ~= false ) then logIn(source, account, password) triggerClientEvent (source,"hideLoginWindow",getRootElement()) if checksave == true then triggerClientEvent(source,"saveLoginToXML",getRootElement(),username,password) else triggerClientEvent(source,"resetSaveXML",getRootElement(),username,password) end loadAccountData() else triggerClientEvent(source,"set_warning_text",getRootElement(),"Login","Wrong username and/or password") end else triggerClientEvent(source,"set_warning_text",getRootElement(),"Login","Please enter your password!") end else triggerClientEvent(source,"set_warning_text",getRootElement(),"Login","Please enter your username!") end end addEvent("onRequestLogin",true) addEventHandler("onRequestLogin",getRootElement(),PlayerLogin)
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now