Basta criar variáveis globais para armazenar cada um dos valores, setar eles para o jogador após ele logar, e recuperar os mesmos quando ele deslogar, realizando o salvamento. Irei te passar um exemplo utilizando o DOF2, e levarei em conta que já possue a função responsável por criar o arquivo para cada conta criada.
Quanto ao sistema de salvamento das armas, existe um tutorial bem completo a respeito do mesmo aqui no fórum: https://portalsamp.com/showthread.php?tid=2382
	
	
	
Código PHP:
// Macro para facilitar o desenvolvimento durante a manipulação dos dados
#define PASTA_CONTAS "/Contas/%s.ini"
// Variável criada para facilitar o "format()" ao manipular os dados
new File[128];
// Conjunto de variáveis responsáveis por armazenar informações do jogador
enum pInfo {
    Float:pColete,
    pVida
}
// Variável para armazenar diferentes valores referentes ao jogador
new PlayerInfo[MAX_PLAYERS][pInfo];
// Recarrega os dados do jogador após o mesmo se conectar
public OnPlayerConnect(playerid) {
    LoadAccount(playerid);
    return 1;
}
// Recupera a vida e colete atuais do jogador, e seta dentro de suas respectivas variáveis, e após realiza o salvamento.
public OnPlayerDisconnect(playerid) {
    new Float:health, Float:armour;
    PlayerInfo[playerid][pColete] = GetPlayerArmour(playerid, armour);
    PlayerInfo[playerid][pVida] = GetPlayerHealth(playerid, health);
    SaveAccount(playerid);
    return 1;
}
// Função responsável por salvar os dados do player
stock SaveAccount(playerid) {
    format(File, sizeof(File), PASTA_CONTAS, GetPlayerNameEx(playerid));
    DOF2_SetFloat(File, "Vida", PlayerInfo[playerid][pVida]);
    DOF2_SetFloat(File, "Colete", PlayerInfo[playerid][pColete]);
    DOF2_SaveFile();
    return 1;
}
// Função responsável por fazer o carregamento nos dados do player
stock LoadAccount(playerid) {
    format(File, sizeof(File), PASTA_CONTAS, GetPlayerNameEx(playerid));
    PlayerInfo[playerid][pVida] = DOF2_GetFloat(File, "Vida");
    PlayerInfo[playerid][pColete] = DOF2_GetFloat(File, "Colete");
    
    return 1;
}
// Função para pegar o nome do player
stock GetPlayerNameEx(playerid) {
    static Name[MAX_PLAYER_NAME+1];
    GetPlayerName(playerid, Name, sizeof(Name));
    return Name;
} 
Quanto ao sistema de salvamento das armas, existe um tutorial bem completo a respeito do mesmo aqui no fórum: https://portalsamp.com/showthread.php?tid=2382

 
	   
	

