Jump to content

Help With Save System


xXMADEXx

Recommended Posts

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

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

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...