xXMADEXx Posted December 22, 2012 Share Posted December 22, 2012 Hey, i have this script that i downloaded (Im not trying to take credit for it in any way) and when you reconnect, or die it will remove you from your team. How can i fix this. (that is the only problem with it) function onPlayerQuit ( ) local playeraccount = getPlayerAccount ( source ) if ( playeraccount ) then local x,y,z = getElementPosition (source) setAccountData ( playeraccount, "s.HandMoney", getPlayerMoney ( source ) ) setAccountData (playeraccount, "s.skin", tostring (getPedSkin (source))) setAccountData (playeraccount, "s.x", x) setAccountData (playeraccount, "s.y", y) setAccountData (playeraccount, "s.z", z) setAccountData (playeraccount, "s.int", getElementInterior (source)) setAccountData (playeraccount, "s.dim", getElementDimension (source)) setAccountData (playeraccount, "s.rot", getPlayerRotation (source)) setAccountData (playeraccount, "s.weap0", getPedWeapon ( source, 0 )) setAccountData (playeraccount, "s.weap1", getPedWeapon ( source, 1 )) setAccountData (playeraccount, "s.weap2", getPedWeapon ( source, 2 )) setAccountData (playeraccount, "s.ammo2", getPedTotalAmmo ( source, 2 )) setAccountData (playeraccount, "s.weap3", getPedWeapon ( source, 3 )) setAccountData (playeraccount, "s.ammo3", getPedTotalAmmo ( source, 3 )) setAccountData (playeraccount, "s.weap4", getPedWeapon ( source, 4 )) setAccountData (playeraccount, "s.ammo4", getPedTotalAmmo ( source, 4 )) setAccountData (playeraccount, "s.weap5", getPedWeapon ( source, 5 )) setAccountData (playeraccount, "s.ammo5", getPedTotalAmmo ( source, 5 )) setAccountData (playeraccount, "s.weap6", getPedWeapon ( source, 6 )) setAccountData (playeraccount, "s.ammo6", getPedTotalAmmo ( source, 6 )) setAccountData (playeraccount, "s.weap7", getPedWeapon ( source, 7 )) setAccountData (playeraccount, "s.ammo7", getPedTotalAmmo ( source, 7 )) setAccountData (playeraccount, "s.weap8", getPedWeapon ( source, 8 )) setAccountData (playeraccount, "s.ammo8", getPedTotalAmmo ( source, 8 )) setAccountData (playeraccount, "s.weap9", getPedWeapon ( source, 9 )) setAccountData (playeraccount, "s.ammo9", getPedTotalAmmo ( source, 9 )) setAccountData (playeraccount, "s.weap10", getPedWeapon ( source, 10 )) setAccountData (playeraccount, "s.weap11", getPedWeapon ( source, 11 )) setAccountData (playeraccount, "s.weap12", getPedWeapon ( source, 12 )) end end addEventHandler ( "onPlayerQuit", getRootElement ( ), onPlayerQuit ) local root = getRootElement() addEventHandler("onPlayerLogin", root, function() local playeraccount = getPlayerAccount ( source ) if ( playeraccount ) then local playermoney = getAccountData ( playeraccount, "s.HandMoney" ) if ( playermoney ) then setPlayerMoney ( source, playermoney ) end local playerInt = getAccountData (playeraccount, "s.int") local playerDim = getAccountData (playeraccount, "s.dim") local playerSkin = getAccountData (playeraccount, "s.skin") local playerX = getAccountData (playeraccount, "s.x") local playerY = getAccountData (playeraccount, "s.y") local playerZ = getAccountData (playeraccount, "s.z") local playerRot = getAccountData (playeraccount, "s.rot") spawnPlayer(source, playerX, playerY, playerZ, playerRot, playerSkin, playerInt, playerDim) fadeCamera (source, true) setCameraTarget (source, source) local weap0 = getAccountData(playeraccount, "s.weap0") local weap1 = getAccountData(playeraccount, "s.weap1") local weap2 = getAccountData(playeraccount, "s.weap2") local ammo2 = getAccountData(playeraccount, "s.ammo2") local weap3 = getAccountData(playeraccount, "s.weap3") local ammo3 = getAccountData(playeraccount, "s.ammo3") local weap4 = getAccountData(playeraccount, "s.weap4") local ammo4 = getAccountData(playeraccount, "s.ammo4") local weap5 = getAccountData(playeraccount, "s.weap5") local ammo5 = getAccountData(playeraccount, "s.ammo5") local weap6 = getAccountData(playeraccount, "s.weap6") local ammo6 = getAccountData(playeraccount, "s.ammo6") local weap7 = getAccountData(playeraccount, "s.weap7") local ammo7 = getAccountData(playeraccount, "s.ammo7") local weap8 = getAccountData(playeraccount, "s.weap8") local ammo8 = getAccountData(playeraccount, "s.ammo8") local weap9 = getAccountData(playeraccount, "s.weap9") local ammo9 = getAccountData(playeraccount, "s.ammo9") local weap10 = getAccountData(playeraccount, "s.weap10") local weap11 = getAccountData(playeraccount, "s.weap11") local weap12 = getAccountData(playeraccount, "s.weap12") giveWeapon ( source, weap0, 1 ) giveWeapon ( source, weap1, 1 ) giveWeapon ( source, weap2, ammo2 ) giveWeapon ( source, weap3, ammo3 ) giveWeapon ( source, weap4, ammo4 ) giveWeapon ( source, weap5, ammo5 ) giveWeapon ( source, weap6, ammo6 ) giveWeapon ( source, weap7, ammo7 ) giveWeapon ( source, weap8, ammo8 ) giveWeapon ( source, weap9, ammo9 ) giveWeapon ( source, weap10, 1 ) giveWeapon ( source, weap11, 1 ) giveWeapon ( source, weap12, 1 ) end end ) addEventHandler('onPlayerQuit',root, function() local account = getPlayerAccount(source) local team = getPlayerTeam(source) if not isGuestAccount(account) then if team and isElement(team) then setAccountData(account,'team',getTeamName(team)) end end end ) addEventHandler('onPlayerWaste',root, function() local account = getPlayerAccount(source) local team = getPlayerTeam(source) if not isGuestAccount(account) then if team and isElement(team) then setAccountData(account,'team',getTeamName(team)) end end end addEventHandler('onPlayerLogin',root, function(_,account) local teamName = getAccountData(account,'team') if teamName then local team = getTeamFromName(teamName) if team and isElement(team) then setPlayerTeam(source,team) end end end ) Link to comment
K4stic Posted December 22, 2012 Share Posted December 22, 2012 just replace the your team save with my function setTeam() local account = getPlayerAccount(source) local team = getAccountData (account, "team") if (team) and getTeamFromName(team) then setPlayerTeam(source, getTeamFromName(team)) end end addEventHandler("onPlayerLogin",root,setTeam) function save() local team = getPlayerTeam(source) local account = getPlayerAccount(source) if (team) and not isGuestAccount(account) then setAccountData(account, "team", getTeamName(team)) end end addEventHandler("onPlayerQuit", getRootElement(), save) Link to comment
xXMADEXx Posted December 22, 2012 Author Share Posted December 22, 2012 For some reason, it didnt work. Link to comment
DeletedAccount1111 Posted December 22, 2012 Share Posted December 22, 2012 The meta.xml file is done properly, right? And theres any way to just take the save skin part from this script? Link to comment
Castillo Posted December 22, 2012 Share Posted December 22, 2012 function onPlayerQuit ( ) local playeraccount = getPlayerAccount ( source ) if ( playeraccount ) then local x, y, z = getElementPosition ( source ) local playerTeam = getPlayerTeam ( source ) local teamName = ( playerTeam and getTeamName ( playerTeam ) or "" ) setAccountData ( playeraccount, "s.HandMoney", getPlayerMoney ( source ) ) setAccountData ( playeraccount, "s.skin", tostring ( getElementModel ( source ) ) ) setAccountData ( playeraccount, "s.x", x ) setAccountData ( playeraccount, "s.y", y ) setAccountData ( playeraccount, "s.z", z ) setAccountData ( playeraccount, "s.int", getElementInterior ( source ) ) setAccountData ( playeraccount, "s.dim", getElementDimension ( source ) ) setAccountData ( playeraccount, "s.rot", getPlayerRotation ( source ) ) setAccountData ( playeraccount, "s.team", teamName ) for weapon = 0, 12 do setAccountData ( playeraccount, "s.weap".. weapon, getPedWeapon ( source, weapon ) ) setAccountData ( playeraccount, "s.ammo".. weapon, getPedTotalAmmo ( source, weapon ) ) end end end addEventHandler ( "onPlayerQuit", getRootElement ( ), onPlayerQuit ) addEventHandler ( "onPlayerLogin", root, function ( _, playeraccount ) local playermoney = getAccountData ( playeraccount, "s.HandMoney" ) if ( playermoney ) then setPlayerMoney ( source, playermoney ) end local playerInt = getAccountData ( playeraccount, "s.int" ) local playerDim = getAccountData ( playeraccount, "s.dim" ) local playerSkin = getAccountData ( playeraccount, "s.skin" ) local playerX = getAccountData ( playeraccount, "s.x" ) local playerY = getAccountData ( playeraccount, "s.y" ) local playerZ = getAccountData ( playeraccount, "s.z" ) local playerRot = getAccountData ( playeraccount, "s.rot" ) local playerTeam = getAccountData ( playeraccount, "s.team" ) spawnPlayer ( source, playerX, playerY, playerZ, playerRot, playerSkin, playerInt, playerDim ) if ( playerTeam and getTeamFromName ( playerTeam ) ) then setPlayerTeam ( source, getTeamFromName ( playerTeam ) ) end fadeCamera ( source, true ) setCameraTarget ( source, source ) for weapon = 0, 12 do local weap = getAccountData ( playeraccount, "s.weap".. weapon ) local ammo = getAccountData ( playeraccount, "s.ammo".. weapon ) giveWeapon ( source, weap, ammo ) end end ) Link to comment
DeletedAccount1111 Posted December 23, 2012 Share Posted December 23, 2012 function onPlayerQuit ( ) local playeraccount = getPlayerAccount ( source ) if ( playeraccount ) then local x, y, z = getElementPosition ( source ) local playerTeam = getPlayerTeam ( source ) local teamName = ( playerTeam and getTeamName ( playerTeam ) or "" ) setAccountData ( playeraccount, "s.HandMoney", getPlayerMoney ( source ) ) setAccountData ( playeraccount, "s.skin", tostring ( getElementModel ( source ) ) ) setAccountData ( playeraccount, "s.x", x ) setAccountData ( playeraccount, "s.y", y ) setAccountData ( playeraccount, "s.z", z ) setAccountData ( playeraccount, "s.int", getElementInterior ( source ) ) setAccountData ( playeraccount, "s.dim", getElementDimension ( source ) ) setAccountData ( playeraccount, "s.rot", getPlayerRotation ( source ) ) setAccountData ( playeraccount, "s.team", teamName ) for weapon = 0, 12 do setAccountData ( playeraccount, "s.weap".. weapon, getPedWeapon ( source, weapon ) ) setAccountData ( playeraccount, "s.ammo".. weapon, getPedTotalAmmo ( source, weapon ) ) end end end addEventHandler ( "onPlayerQuit", getRootElement ( ), onPlayerQuit ) addEventHandler ( "onPlayerLogin", root, function ( _, playeraccount ) local playermoney = getAccountData ( playeraccount, "s.HandMoney" ) if ( playermoney ) then setPlayerMoney ( source, playermoney ) end local playerInt = getAccountData ( playeraccount, "s.int" ) local playerDim = getAccountData ( playeraccount, "s.dim" ) local playerSkin = getAccountData ( playeraccount, "s.skin" ) local playerX = getAccountData ( playeraccount, "s.x" ) local playerY = getAccountData ( playeraccount, "s.y" ) local playerZ = getAccountData ( playeraccount, "s.z" ) local playerRot = getAccountData ( playeraccount, "s.rot" ) local playerTeam = getAccountData ( playeraccount, "s.team" ) spawnPlayer ( source, playerX, playerY, playerZ, playerRot, playerSkin, playerInt, playerDim ) if ( playerTeam and getTeamFromName ( playerTeam ) ) then setPlayerTeam ( source, getTeamFromName ( playerTeam ) ) end fadeCamera ( source, true ) setCameraTarget ( source, source ) for weapon = 0, 12 do local weap = getAccountData ( playeraccount, "s.weap".. weapon ) local ammo = getAccountData ( playeraccount, "s.ammo".. weapon ) giveWeapon ( source, weap, ammo ) end end ) Wait, i dont know if it's needed but... didnt it need a line to start when server starts? Link to comment
manve1 Posted December 23, 2012 Share Posted December 23, 2012 No point having event handler for the resource start, it saves when player quit's and gives back stuff when he comes back Link to comment
Ab-47 Posted December 24, 2012 Share Posted December 24, 2012 function onPlayerQuit ( ) local playeraccount = getPlayerAccount ( source ) if ( playeraccount ) then local x, y, z = getElementPosition ( source ) local playerTeam = getPlayerTeam ( source ) local teamName = ( playerTeam and getTeamName ( playerTeam ) or "" ) setAccountData ( playeraccount, "s.HandMoney", getPlayerMoney ( source ) ) setAccountData ( playeraccount, "s.skin", tostring ( getElementModel ( source ) ) ) setAccountData ( playeraccount, "s.x", x ) setAccountData ( playeraccount, "s.y", y ) setAccountData ( playeraccount, "s.z", z ) setAccountData ( playeraccount, "s.int", getElementInterior ( source ) ) setAccountData ( playeraccount, "s.dim", getElementDimension ( source ) ) setAccountData ( playeraccount, "s.rot", getPlayerRotation ( source ) ) setAccountData ( playeraccount, "s.team", teamName ) for weapon = 0, 12 do setAccountData ( playeraccount, "s.weap".. weapon, getPedWeapon ( source, weapon ) ) setAccountData ( playeraccount, "s.ammo".. weapon, getPedTotalAmmo ( source, weapon ) ) end end end addEventHandler ( "onPlayerQuit", getRootElement ( ), onPlayerQuit ) addEventHandler ( "onPlayerLogin", root, function ( _, playeraccount ) local playermoney = getAccountData ( playeraccount, "s.HandMoney" ) if ( playermoney ) then setPlayerMoney ( source, playermoney ) end local playerInt = getAccountData ( playeraccount, "s.int" ) local playerDim = getAccountData ( playeraccount, "s.dim" ) local playerSkin = getAccountData ( playeraccount, "s.skin" ) local playerX = getAccountData ( playeraccount, "s.x" ) local playerY = getAccountData ( playeraccount, "s.y" ) local playerZ = getAccountData ( playeraccount, "s.z" ) local playerRot = getAccountData ( playeraccount, "s.rot" ) local playerTeam = getAccountData ( playeraccount, "s.team" ) spawnPlayer ( source, playerX, playerY, playerZ, playerRot, playerSkin, playerInt, playerDim ) if ( playerTeam and getTeamFromName ( playerTeam ) ) then setPlayerTeam ( source, getTeamFromName ( playerTeam ) ) end fadeCamera ( source, true ) setCameraTarget ( source, source ) for weapon = 0, 12 do local weap = getAccountData ( playeraccount, "s.weap".. weapon ) local ammo = getAccountData ( playeraccount, "s.ammo".. weapon ) giveWeapon ( source, weap, ammo ) end end ) Wait, i dont know if it's needed but... didnt it need a line to start when server starts? I guess that's optional.. Not sure otherwise you can try.. addEventHandler ( "onResourceStart", getRootElement ( ), function) For server^ addEventHandler ( "onClientResourceStart", getRootElement ( ), function) For Client^ Link to comment
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