13.02.2013, 18:19
Boas, eu fiz um sistema de salvar dinheiro, admin, score, skin, mas salva tudo menos a skin :S alguem me ajuda? agradeзo
#include <DOF2> #define FileUsers "Contas/%s.ini" enum pDados { pAdmin, pVIP }; new PlayerDados[MAX_PLAYERS][pDados]; new giveplayerid,nivel; public OnPlayerConnect(playerid) { new string[70]; format(string,sizeof(string),"{00FF7F}%s {FFFAFA}entrou!",PlayerName(playerid)); SendClientMessageToAll(-1,string); if(!DOF2_FileExists(ReturnFileUser(playerid))) return ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT,"[NOME] - Registro","Se registre para poder jogar, se clicar em sair serб kickado.", "Registrar","Cancelar"); else if(DOF2_FileExists(ReturnFileUser(playerid))) return ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"[Nome] - Login", "Para logar digite sua senha", "Logar","Cancelar"); INI_ParseFile(repPath(playerid),"loadreps",.bExtra = true, .extra = playerid); return 1; } public OnPlayerDisconnect(playerid, reason) { new string[90]; switch(reason) { case 0: format(string,sizeof(string),"{00FF7F}%s {FFFAFA}saiu (Crash/Conexгo).",PlayerName(playerid)); case 1: format(string,sizeof(string),"{00FF7F}%s {FFFAFA}saiu (Vontade prуpria).",PlayerName(playerid)); case 2: format(string,sizeof(string),"{00FF7F}%s {FFFAFA}saiu (Kickado/Banido).",PlayerName(playerid)); } SendClientMessageToAll(-1,string); SalvarPlayer(playerid); DOF2_Exit(); return 1; } if(dialogid == DIALOG_LOGIN) { if(response) { if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"[NOME] - Login","Digite sua senha","Logar","Cancelar"); if(strcmp(inputtext,DOF2_GetString(ReturnFileUser(playerid),"Senha"),true) == 0) { SetSpawnInfo(playerid,0,0,1933.3275,1345.1874,9.9688,270.3551,0,0,0,0,0,0); SpawnPlayer(playerid); CarregarPlayer(playerid); SendClientMessage(playerid,0x2CB60AAA,"<!>Logado com sucesso!"); } else { if(SenhaErrada[playerid] == 4) { SendClientMessage(playerid,0xC5B43AAA,"Vocк foi banido por errar a senha 5 vezes."); Ban(playerid); } else if(SenhaErrada[playerid] < 4) { SenhaErrada[playerid] ++; ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"[NOME] - Login","Senha incorreta, tente novamente. Se errar a senha 5 vezes serб banido!","Logar","Sair"); } } } else if(!response) { SendClientMessage(playerid,0xC5B43AAA,"Vocк foi kickado por nгo logar"); Kick(playerid); } return 1; } stock SalvarPlayer(playerid) { if(DOF2_FileExists(ReturnFileUser(playerid))) { DOF2_SetInt(ReturnFileUser(playerid),"Level",GetPlayerScore(playerid)); DOF2_SetInt(ReturnFileUser(playerid),"Dinheiro",GetPlayerMoney(playerid)); DOF2_SetInt(ReturnFileUser(playerid),"Admin Level",PlayerDados[playerid][pAdmin]); DOF2_SetInt(ReturnFileUser(playerid),"Skin",GetPlayerSkin(playerid)); DOF2_SetInt(ReturnFileUser(playerid),"VIP", PlayerDados[playerid][pVIP]); DOF2_SaveFile(); } } stock CarregarPlayer(playerid) { if(DOF2_FileExists(ReturnFileUser(playerid))) { SetPlayerScore(playerid, DOF2_GetInt(ReturnFileUser(playerid), "Level")); SetPlayerMoney(playerid, DOF2_GetInt(ReturnFileUser(playerid), "Dinheiro")); PlayerDados[playerid][pAdmin] = DOF2_GetInt(ReturnFileUser(playerid),"Admin Level"); SetPlayerSkin(playerid, DOF2_GetInt(ReturnFileUser(playerid),"Skin")); PlayerDados[playerid][pVIP] = DOF2_GetInt(ReturnFileUser(playerid),"VIP"); } } CMD:setskin(playerid, params[]) { if(!IsPlayerAdmin(playerid) && PlayerDados[playerid][pAdmin] < 2) return SendClientMessage(playerid,-1,"Vocк precisa estar logado na RCON ou ser admin level 2."); new skin; if(sscanf(params,"ud", giveplayerid, skin)) return SendClientMessage(playerid,-1,"Use: /setskin [ID] [Skin]"); if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid,-1,"Jogador nгo estб conectado."); new string[120]; format(string,sizeof(string),"{FF4040}%s {FFFAFA}trocou a skin de {FF4040}%s {FFFAFA}para {FF4040}%d", PlayerName(playerid), PlayerName(giveplayerid), skin); SendClientMessage(giveplayerid,-1,string); SetPlayerSkin(giveplayerid,skin); GetPlayerSkin(playerid); SalvarPlayer(giveplayerid); return 1; }