Jump to content

Save System


G.KinG

Recommended Posts

Hello , i'm so tired so i will go to the point

i have a save system but i get some problems

when i die or zombie kill me i lose my all weapons

and this the code

function playerLogin (thePreviousAccount, theCurrentAccount, autoLogin) 
    if  not (isGuestAccount (getPlayerAccount (source))) then 
        local accountData = getAccountData (theCurrentAccount, "MoneyS") 
        if (accountData) then 
            local playerMoney = getAccountData (theCurrentAccount, "MoneyS") 
            local playerWeaponID0 = getAccountData (theCurrentAccount, "WeaponID0") 
            local playerWeaponID1 = getAccountData (theCurrentAccount, "WeaponID1") 
            local playerWeaponID2 = getAccountData (theCurrentAccount, "WeaponID2") 
            local playerWeaponID3 = getAccountData (theCurrentAccount, "WeaponID3") 
            local playerWeaponID4 = getAccountData (theCurrentAccount, "WeaponID4") 
            local playerWeaponID5 = getAccountData (theCurrentAccount, "WeaponID5") 
            local playerWeaponID6 = getAccountData (theCurrentAccount, "WeaponID6") 
            local playerWeaponID7 = getAccountData (theCurrentAccount, "WeaponID7") 
            local playerWeaponID8 = getAccountData (theCurrentAccount, "WeaponID8") 
            local playerWeaponID9 = getAccountData (theCurrentAccount, "WeaponID9") 
            local playerWeaponID10 = getAccountData (theCurrentAccount, "WeaponID10") 
            local playerWeaponID11 = getAccountData (theCurrentAccount, "WeaponID11") 
            local playerWeaponID12 = getAccountData (theCurrentAccount, "WeaponID12") 
            local playerWeaponAmmo0 = getAccountData (theCurrentAccount, "WeaponAmmo0") 
            local playerWeaponAmmo1 = getAccountData (theCurrentAccount, "WeaponAmmo1") 
            local playerWeaponAmmo2 = getAccountData (theCurrentAccount, "WeaponAmmo2") 
            local playerWeaponAmmo3 = getAccountData (theCurrentAccount, "WeaponAmmo3") 
            local playerWeaponAmmo4 = getAccountData (theCurrentAccount, "WeaponAmmo4") 
            local playerWeaponAmmo5 = getAccountData (theCurrentAccount, "WeaponAmmo5") 
            local playerWeaponAmmo6 = getAccountData (theCurrentAccount, "WeaponAmmo6") 
            local playerWeaponAmmo7 = getAccountData (theCurrentAccount, "WeaponAmmo7") 
            local playerWeaponAmmo8 = getAccountData (theCurrentAccount, "WeaponAmmo8") 
            local playerWeaponAmmo9 = getAccountData (theCurrentAccount, "WeaponAmmo9") 
            local playerWeaponAmmo10 = getAccountData (theCurrentAccount, "WeaponAmmo10") 
            local playerWeaponAmmo11 = getAccountData (theCurrentAccount, "WeaponAmmo11") 
            local playerWeaponAmmo12 = getAccountData (theCurrentAccount, "WeaponAmmo12") 
            setPlayerMoney (source, playerMoney) 
            giveWeapon(source, playerWeaponID0, playerWeaponAmmo0, true) 
            giveWeapon(source, playerWeaponID1, playerWeaponAmmo1, false) 
            giveWeapon(source, playerWeaponID2, playerWeaponAmmo2, false) 
            giveWeapon(source, playerWeaponID3, playerWeaponAmmo3, false) 
            giveWeapon(source, playerWeaponID4, playerWeaponAmmo4, false) 
            giveWeapon(source, playerWeaponID5, playerWeaponAmmo5, false) 
            giveWeapon(source, playerWeaponID6, playerWeaponAmmo6, false) 
            giveWeapon(source, playerWeaponID7, playerWeaponAmmo7, false) 
            giveWeapon(source, playerWeaponID8, playerWeaponAmmo8, false) 
            giveWeapon(source, playerWeaponID9, playerWeaponAmmo9, false) 
            giveWeapon(source, playerWeaponID10, playerWeaponAmmo10, false) 
            giveWeapon(source, playerWeaponID11, playerWeaponAmmo11, false) 
            giveWeapon(source, playerWeaponID12, playerWeaponAmmo12, false) 
        end 
    end 
end 
addEventHandler ("onPlayerLogin", getRootElement(), playerLogin) 
  
  
function onQuit (quitType, reason, responsibleElement) 
    if not (isGuestAccount (getPlayerAccount (source))) then 
        local account = getPlayerAccount (source) 
        if (account) then 
            setAccountData (account, "MoneyS", tostring (getPlayerMoney (source))) 
            setAccountData (account, "WeaponID0", getPedWeapon (source, 0)) 
            setAccountData (account, "WeaponID1", getPedWeapon (source, 1)) 
            setAccountData (account, "WeaponID2", getPedWeapon (source, 2)) 
            setAccountData (account, "WeaponID3", getPedWeapon (source, 3)) 
            setAccountData (account, "WeaponID4", getPedWeapon (source, 4)) 
            setAccountData (account, "WeaponID5", getPedWeapon (source, 5)) 
            setAccountData (account, "WeaponID6", getPedWeapon (source, 6)) 
            setAccountData (account, "WeaponID7", getPedWeapon (source, 7)) 
            setAccountData (account, "WeaponID8", getPedWeapon (source, -- s8) -->) 
            setAccountData (account, "WeaponID9", getPedWeapon (source, 9)) 
            setAccountData (account, "WeaponID10", getPedWeapon (source, 10)) 
            setAccountData (account, "WeaponID11", getPedWeapon (source, 11)) 
            setAccountData (account, "WeaponID12", getPedWeapon (source, 12)) 
            setAccountData (account, "WeaponAmmo0", getPedTotalAmmo (source, 0)) 
            setAccountData (account, "WeaponAmmo1", getPedTotalAmmo (source, 1)) 
            setAccountData (account, "WeaponAmmo2", getPedTotalAmmo (source, 2)) 
            setAccountData (account, "WeaponAmmo3", getPedTotalAmmo (source, 3)) 
            setAccountData (account, "WeaponAmmo4", getPedTotalAmmo (source, 4)) 
            setAccountData (account, "WeaponAmmo5", getPedTotalAmmo (source, 5)) 
            setAccountData (account, "WeaponAmmo6", getPedTotalAmmo (source, 6)) 
            setAccountData (account, "WeaponAmmo7", getPedTotalAmmo (source, 7)) 
            setAccountData (account, "WeaponAmmo8", getPedTotalAmmo (source, -- s8) -->) 
            setAccountData (account, "WeaponAmmo9", getPedTotalAmmo (source, 9)) 
            setAccountData (account, "WeaponAmmo10", getPedTotalAmmo (source, 10)) 
            setAccountData (account, "WeaponAmmo11", getPedTotalAmmo (source, 11)) 
            setAccountData (account, "WeaponAmmo12", getPedTotalAmmo (source, 12)) 
        end 
    end 
end 
addEventHandler ("onPlayerQuit", getRootElement(), onQuit) 

thanks for help. :D

Link to comment

This one only Save the weapons when you Quit and Login.

If you want save weapons when you die, then use this:

local playerWeapons = { } 
  
addEventHandler ( "onPlayerWasted", root, 
    function ( ) 
        if ( not playerWeapons [ source ] ) then 
            playerWeapons [ source ] = { } 
        end 
        for slot = 0, 12 do 
            local weapon = getPedWeapon ( source, slot ) 
            if ( weapon > 0 ) then 
                local ammo = getPedTotalAmmo ( source, slot ) 
                if ( ammo > 0 ) then 
                    playerWeapons [ source ] [ weapon ] = ammo 
                end 
            end 
        end 
    end 
) 
  
addEventHandler ( "onPlayerSpawn", root, 
    function ( ) 
        if ( playerWeapons [ source ] ) then 
            for weapon, ammo in pairs ( playerWeapons [ source ] ) do 
                giveWeapon ( source, tonumber ( weapon ), tonumber ( ammo ) ) 
            end 
        end 
  
        playerWeapons [ source ] = nil 
    end 
) 

Made by Castillo

Link to comment

OMG it is Work !

but i have some little problem , when zombie killed me i lose my all weapons ?

lock this is the full code

function playerLogin (thePreviousAccount, theCurrentAccount, autoLogin) 
    if  not (isGuestAccount (getPlayerAccount (source))) then 
        local accountData = getAccountData (theCurrentAccount, "MoneyS") 
        if (accountData) then 
            local playerMoney = getAccountData (theCurrentAccount, "MoneyS") 
            local playerWeaponID0 = getAccountData (theCurrentAccount, "WeaponID0") 
            local playerWeaponID1 = getAccountData (theCurrentAccount, "WeaponID1") 
            local playerWeaponID2 = getAccountData (theCurrentAccount, "WeaponID2") 
            local playerWeaponID3 = getAccountData (theCurrentAccount, "WeaponID3") 
            local playerWeaponID4 = getAccountData (theCurrentAccount, "WeaponID4") 
            local playerWeaponID5 = getAccountData (theCurrentAccount, "WeaponID5") 
            local playerWeaponID6 = getAccountData (theCurrentAccount, "WeaponID6") 
            local playerWeaponID7 = getAccountData (theCurrentAccount, "WeaponID7") 
            local playerWeaponID8 = getAccountData (theCurrentAccount, "WeaponID8") 
            local playerWeaponID9 = getAccountData (theCurrentAccount, "WeaponID9") 
            local playerWeaponID10 = getAccountData (theCurrentAccount, "WeaponID10") 
            local playerWeaponID11 = getAccountData (theCurrentAccount, "WeaponID11") 
            local playerWeaponID12 = getAccountData (theCurrentAccount, "WeaponID12") 
            local playerWeaponAmmo0 = getAccountData (theCurrentAccount, "WeaponAmmo0") 
            local playerWeaponAmmo1 = getAccountData (theCurrentAccount, "WeaponAmmo1") 
            local playerWeaponAmmo2 = getAccountData (theCurrentAccount, "WeaponAmmo2") 
            local playerWeaponAmmo3 = getAccountData (theCurrentAccount, "WeaponAmmo3") 
            local playerWeaponAmmo4 = getAccountData (theCurrentAccount, "WeaponAmmo4") 
            local playerWeaponAmmo5 = getAccountData (theCurrentAccount, "WeaponAmmo5") 
            local playerWeaponAmmo6 = getAccountData (theCurrentAccount, "WeaponAmmo6") 
            local playerWeaponAmmo7 = getAccountData (theCurrentAccount, "WeaponAmmo7") 
            local playerWeaponAmmo8 = getAccountData (theCurrentAccount, "WeaponAmmo8") 
            local playerWeaponAmmo9 = getAccountData (theCurrentAccount, "WeaponAmmo9") 
            local playerWeaponAmmo10 = getAccountData (theCurrentAccount, "WeaponAmmo10") 
            local playerWeaponAmmo11 = getAccountData (theCurrentAccount, "WeaponAmmo11") 
            local playerWeaponAmmo12 = getAccountData (theCurrentAccount, "WeaponAmmo12") 
            setPlayerMoney (source, playerMoney) 
            giveWeapon(source, playerWeaponID0, playerWeaponAmmo0, true) 
            giveWeapon(source, playerWeaponID1, playerWeaponAmmo1, false) 
            giveWeapon(source, playerWeaponID2, playerWeaponAmmo2, false) 
            giveWeapon(source, playerWeaponID3, playerWeaponAmmo3, false) 
            giveWeapon(source, playerWeaponID4, playerWeaponAmmo4, false) 
            giveWeapon(source, playerWeaponID5, playerWeaponAmmo5, false) 
            giveWeapon(source, playerWeaponID6, playerWeaponAmmo6, false) 
            giveWeapon(source, playerWeaponID7, playerWeaponAmmo7, false) 
            giveWeapon(source, playerWeaponID8, playerWeaponAmmo8, false) 
            giveWeapon(source, playerWeaponID9, playerWeaponAmmo9, false) 
            giveWeapon(source, playerWeaponID10, playerWeaponAmmo10, false) 
            giveWeapon(source, playerWeaponID11, playerWeaponAmmo11, false) 
            giveWeapon(source, playerWeaponID12, playerWeaponAmmo12, false) 
        end 
    end 
end 
addEventHandler ("onPlayerLogin", getRootElement(), playerLogin) 
  
  
function onQuit (quitType, reason, responsibleElement) 
    if not (isGuestAccount (getPlayerAccount (source))) then 
        local account = getPlayerAccount (source) 
        if (account) then 
            setAccountData (account, "MoneyS", tostring (getPlayerMoney (source))) 
            setAccountData (account, "WeaponID0", getPedWeapon (source, 0)) 
            setAccountData (account, "WeaponID1", getPedWeapon (source, 1)) 
            setAccountData (account, "WeaponID2", getPedWeapon (source, 2)) 
            setAccountData (account, "WeaponID3", getPedWeapon (source, 3)) 
            setAccountData (account, "WeaponID4", getPedWeapon (source, 4)) 
            setAccountData (account, "WeaponID5", getPedWeapon (source, 5)) 
            setAccountData (account, "WeaponID6", getPedWeapon (source, 6)) 
            setAccountData (account, "WeaponID7", getPedWeapon (source, 7)) 
            setAccountData (account, "WeaponID8", getPedWeapon (source, -- s8) -->) 
            setAccountData (account, "WeaponID9", getPedWeapon (source, 9)) 
            setAccountData (account, "WeaponID10", getPedWeapon (source, 10)) 
            setAccountData (account, "WeaponID11", getPedWeapon (source, 11)) 
            setAccountData (account, "WeaponID12", getPedWeapon (source, 12)) 
            setAccountData (account, "WeaponAmmo0", getPedTotalAmmo (source, 0)) 
            setAccountData (account, "WeaponAmmo1", getPedTotalAmmo (source, 1)) 
            setAccountData (account, "WeaponAmmo2", getPedTotalAmmo (source, 2)) 
            setAccountData (account, "WeaponAmmo3", getPedTotalAmmo (source, 3)) 
            setAccountData (account, "WeaponAmmo4", getPedTotalAmmo (source, 4)) 
            setAccountData (account, "WeaponAmmo5", getPedTotalAmmo (source, 5)) 
            setAccountData (account, "WeaponAmmo6", getPedTotalAmmo (source, 6)) 
            setAccountData (account, "WeaponAmmo7", getPedTotalAmmo (source, 7)) 
            setAccountData (account, "WeaponAmmo8", getPedTotalAmmo (source, -- s8) -->) 
            setAccountData (account, "WeaponAmmo9", getPedTotalAmmo (source, 9)) 
            setAccountData (account, "WeaponAmmo10", getPedTotalAmmo (source, 10)) 
            setAccountData (account, "WeaponAmmo11", getPedTotalAmmo (source, 11)) 
            setAccountData (account, "WeaponAmmo12", getPedTotalAmmo (source, 12)) 
        end 
    end 
end 
addEventHandler ("onPlayerQuit", getRootElement(), onQuit) 
  
  
local playerWeapons = { } 
  
addEventHandler ( "onPlayerWasted", root, 
    function ( ) 
        if ( not playerWeapons [ source ] ) then 
            playerWeapons [ source ] = { } 
        end 
        for slot = 0, 12 do 
            local weapon = getPedWeapon ( source, slot ) 
            if ( weapon > 0 ) then 
                local ammo = getPedTotalAmmo ( source, slot ) 
                if ( ammo > 0 ) then 
                    playerWeapons [ source ] [ weapon ] = ammo 
                end 
            end 
        end 
    end 
) 
  
addEventHandler ( "onPlayerSpawn", root, 
    function ( ) 
        if ( playerWeapons [ source ] ) then 
            for weapon, ammo in pairs ( playerWeapons [ source ] ) do 
                giveWeapon ( source, tonumber ( weapon ), tonumber ( ammo ) ) 
            end 
        end 
  
        playerWeapons [ source ] = nil 
    end 
) 

Link to comment

Use my Save System

addEventHandler ("onPlayerLogin",root, 
function() 
loadPedStats(  getPlayerAccount(source)) 
end 
) 
addEventHandler ("onPlayerQuit",root, 
function() 
savePedStats(  getPlayerAccount(source)) 
end 
) 
addEventHandler ("onPlayerLogout",root, 
function(thePreviousAccount) 
savePedStats( thePreviousAccount ) 
end 
) 
function savePedStats( Acc) 
local pedposx,pedposy,pedposz = getElementPosition( source ) 
local pedrotx,pedroty,pedrotz = getElementRotation( source ) 
setAccountData(Acc, "pos.x", pedposx) 
setAccountData(Acc, "pos.y", pedposy) 
setAccountData(Acc, "pos.z", pedposz) 
setAccountData(Acc, "rot.x", pedrotx) 
setAccountData(Acc, "rot.y", pedroty) 
setAccountData(Acc, "rot.z", pedrotz) 
setAccountData(Acc, "skin", getPedSkin( source )) 
setAccountData(Acc, "armor", getPedArmor( source )) 
setAccountData(Acc, "health", getElementHealth( source )) 
setAccountData(Acc, "money",getPlayerMoney( source )) 
for i = 21 , 25 do 
setAccountData(Acc, "stat."..i , getPedStat(source,i)) 
end 
for i = 69 , 79 do 
setAccountData(Acc, "stat."..i , getPedStat(source,i)) 
end 
end 
function loadPedStats(Acc ) 
setElementPosition(source,getAccountData(Acc, "pos.x"),getAccountData(Acc, "pos.y"),getAccountData(Acc, "pos.z")) 
setElementRotation(source,getAccountData(Acc, "rot.x"),getAccountData(Acc, "rot.y"),getAccountData(Acc, "rot.z")) 
setPedSkin(source,getAccountData(Acc, "skin")) 
setPedArmor(source,getAccountData(Acc, "armor")) 
setElementHealth(source,getAccountData(Acc, "health")) 
setPlayerMoney(source,getAccountData(Acc, "money")) 
for i = 21 , 25 do 
setPedStat(source,i,getAccountData(Acc, "stat."..i)) 
end 
for i = 69 , 79 do 
setPedStat(source,i,getAccountData(Acc, "stat."..i)) 
end 
end 
  
local playerWeapons = { } 
  
addEventHandler ( "onPlayerWasted", root, 
    function ( ) 
        if ( not playerWeapons [ source ] ) then 
            playerWeapons [ source ] = { } 
        end 
        for slot = 0, 12 do 
            local weapon = getPedWeapon ( source, slot ) 
            if ( weapon > 0 ) then 
                local ammo = getPedTotalAmmo ( source, slot ) 
                if ( ammo > 0 ) then 
                    playerWeapons [ source ] [ weapon ] = ammo 
                end 
            end 
        end 
    end 
) 
  
addEventHandler ( "onPlayerSpawn", root, 
    function ( ) 
        if ( playerWeapons [ source ] ) then 
            for weapon, ammo in pairs ( playerWeapons [ source ] ) do 
                giveWeapon ( source, tonumber ( weapon ), tonumber ( ammo ) ) 
            end 
        end 
  
        playerWeapons [ source ] = nil 
    end 
) 

Link to comment
If it's Client side then it won't work, If Server side then tell me what debugscript 3 say.
Does not work.

EDIT:

you know , bro can you make a code if my health 5 then i will be died automatic please ?

you will help me with this problem.

:) ?

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