SA-MP Forums Archive
[Ajuda] Contas Salvando apartir da primeira Logada... - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Contas Salvando apartir da primeira Logada... (/showthread.php?tid=408144)



Contas Salvando apartir da primeira Logada... - maikonk - 17.01.2013

Pessoal, o que esta acontecendo aqui, й meio complicado de explicar, e tambem de postar as linhas pois nao tenho ideia de como esta vindo esse problema.

Mas й o seguinte, estou usando o sistema Dof_2, e o player loga normal, salva normal, as informaзхes sao carregada, tudo certinho conforme o esperado.
Mas o problema ta quando o segundo, o terceiro, o quarto, e assim em diante...
Quando todos deslogando que eu desligo o server. Todas as contas sao Salvas com as informaзхes do primeiro player.
Dinheiro, Nivel, Carro, e atй mesmo o nick. Na verdade quando esses players logam, apartir do momento que entram no servidor, eles ja carregam com as informaзхes do primeiro personagem.

Aqui estao as Linhas:

OnPlayerRequestClass:

Код:
	    PlayerDados[playerid][Logado] = false;
	    format(StringContas, sizeof(StringContas), "Contas/%s.ini", Nome(playerid));
	    if(!DOF2_FileExists(StringContas))
	    {
	        SetPlayerCameraPos(playerid, 1883.210815, -1433.973876, 97.572807);
			SetPlayerCameraLookAt(playerid, 1878.508300, -1432.563720, 98.520172);
			SetPlayerPos(playerid, 1541.7875,-1703.0524,13.9816);
			PlayAudioStreamForPlayer(playerid,"http://dl.dropbox.com/u/84402336/musica%20de%20gta%20san%20andreas.mp3");
	        //PlayerPlaySound(playerid, 1097, 0.0, 0.0, 0.0);
	        format(String, sizeof(String), "{FFFAFA}Bem Vindo {1BCCE0}%s{FFFAFA}\nServidor Reinascece RPG (CrashGames)\n\nDigite uma senha abaixo para se registrar:", Nome(playerid));
	        ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "COMEЗANDO NO SERVIDOR", String, "Registrar", "");
	    }
OnPlayerDialogResponse:
Код:
    if(dialogid == LOGIN)
    {
        if(!strlen(inputtext)) return SendClientMessage(playerid, VERMELHO, "Digite sua senha"), format(String, sizeof(String), "{FFFFFF}Ola Novamente, {1BCCE0}%s{FFFFFF}\n\nLogue-se usando sua senha :D\nE Tenha um bom jogo !!!", Nome(playerid)), ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Logando", String, "Conectar", "");
        if(!strcmp(inputtext, DOF2_GetString(StringContas, "Senha"), false))
        {
  	        SetPlayerCameraPos(playerid, 1616.129516, -1503.749755, 83.916160);
			SetPlayerCameraLookAt(playerid, 1615.509277, -1499.735717, 86.832138);
			SetPlayerPos(playerid, 1541.7875,-1703.0524,13.9816);
            PlayerDados[playerid][Logado] = true;
			strmid(PlayerDados[playerid][pPNOME], DOF2_GetString(StringContas, "Nome"), 0, strlen(DOF2_GetString(StringContas, "Nome")), 255);
            GivePlayerMoneyEx(playerid,DOF2_GetInt(StringContas, "Dinheiro"));
            SetPlayerScore(playerid,DOF2_GetInt(StringContas, "Nivel"));
			SetPlayerSkin(playerid, DOF2_GetInt(StringContas, "Skin1"));
            PlayerDados[playerid][pNivel] = DOF2_GetInt(StringContas, "Nivel");
            PlayerDados[playerid][pExp] = DOF2_GetInt(StringContas, "Exp");
            PlayerDados[playerid][pAdmin] = DOF2_GetInt(StringContas, "Admin");
            PlayerDados[playerid][pRegis] = DOF2_GetInt(StringContas, "Registro");
            PlayerDados[playerid][pSexo] = DOF2_GetInt(StringContas, "Sexo");
            PlayerDados[playerid][pHabit] = DOF2_GetInt(StringContas, "Habitacao");
            PlayerDados[playerid][pRMoney] = DOF2_GetInt(StringContas, "RMoney");
            PlayerDados[playerid][pRMoneyBanco] = DOF2_GetInt(StringContas, "RMoneyBanco");
            PlayerDados[playerid][pVip] = DOF2_GetInt(StringContas, "Vip");
            PlayerDados[playerid][pSkin1] = DOF2_GetInt(StringContas, "Skin1");
            PlayerDados[playerid][pSkin2] = DOF2_GetInt(StringContas, "Skin2");
            PlayerDados[playerid][pTG] = DOF2_GetInt(StringContas, "TempoLogado");
            PlayerDados[playerid][pLicTer] = DOF2_GetInt(StringContas, "LicTerrestre");
            PlayerDados[playerid][pLicMar] = DOF2_GetInt(StringContas, "LicMaritima");
            PlayerDados[playerid][pLicAer] = DOF2_GetInt(StringContas, "LicAerea");
            PlayerDados[playerid][pLicArmas] = DOF2_GetInt(StringContas, "LicArmas");
            PlayerDados[playerid][pEmprego] = DOF2_GetInt(StringContas, "Emprego");
            PlayerDados[playerid][pMembro] = DOF2_GetInt(StringContas, "Membro");
            PlayerDados[playerid][pNumLoteria] = DOF2_GetInt(StringContas, "NumLoteria");
            PlayerDados[playerid][pDinBanco] = DOF2_GetInt(StringContas, "DinBanco");
            PlayerDados[playerid][pEstudos] = DOF2_GetInt(StringContas, "Estudos");
            PlayerDados[playerid][pFormacao] = DOF2_GetInt(StringContas, "Formacao");
            PlayerDados[playerid][pEmpAdv] = DOF2_GetInt(StringContas, "AdvEmprego");
            PlayerDados[playerid][pCasa] = DOF2_GetInt(StringContas, "Casas");
            PlayerDados[playerid][pEmpresa] = DOF2_GetInt(StringContas, "Empresas");
            PlayerDados[playerid][pAluguel] = DOF2_GetInt(StringContas, "Aluguel");
            PlayerDados[playerid][pidaluguel] = DOF2_GetInt(StringContas, "CasaAluguel");
            PlayerDados[playerid][XXX] = DOF2_GetFloat(StringContas, "XXX");
            PlayerDados[playerid][YYY] = DOF2_GetFloat(StringContas, "YYY");
            PlayerDados[playerid][ZZZ] = DOF2_GetFloat(StringContas, "ZZZ");
            PlayerDados[playerid][ROT] = DOF2_GetFloat(StringContas, "ROT");
            PlayerDados[playerid][pEmprestado] = DOF2_GetInt(StringContas, "Emprestado");
            PlayerDados[playerid][pEmprestimo] = DOF2_GetInt(StringContas, "Emprestimo");
            PlayerDados[playerid][pCarro] = DOF2_GetInt(StringContas, "Carro");
            PlayerDados[playerid][pChaveCarro] = DOF2_GetInt(StringContas, "ChaveCarro");
            PlayerDados[playerid][pEvento] = DOF2_GetInt(StringContas, "Evento");
            PlayerDados[playerid][pFome] = DOF2_GetInt(StringContas, "Fome");
            PlayerDados[playerid][pTipoLuta] = DOF2_GetInt(StringContas, "Luta");
            PlayerDados[playerid][pTempoVip] = DOF2_GetInt(StringContas, "TempoVip");
            PlayerDados[playerid][pTitulos] = DOF2_GetInt(StringContas, "Titulos");
            PlayerDados[playerid][pBan] = DOF2_GetInt(StringContas, "Ban");
            gLogado[playerid] = 1;
            Contagem[playerid] = SetTimer("TempoLogado",600000,true);
            //
            if(PlayerDados[playerid][pRegis] == 0)
            {
            ShowPlayerDialog(playerid,SEXO,DIALOG_STYLE_MSGBOX,"PREENCHA AS INFORMAЗХES","Escolha o SEXO do seu Personagem","Masculino","Feminino");
			}
            if(PlayerDados[playerid][pRegis] == 1)
            {
            ShowPlayerDialog(playerid, REGRAS, DIALOG_STYLE_MSGBOX, "REGRAS DO SERVIDOR (RPG)","Veja Abaixo as regras essenciais para Manter sua conta Limpa:\n\n*Extremamente Proibido uso de Cheater\n*Proibido DM/DB sem motivo\n*Respeito Total com seus colegas, idependendo de Nivel, Dinheiro e Cor, Todos Sao iguais\n*Nгo Peзa Admin, isso vai queimar seu filme (;\n*Nгo Flood o Chat, muito menos Anuncios e relatos para os Admin\n\nLeia nossas Regras: /regras", "Aceitar", "Sair");
			}
        }
        else
        {
            SendClientMessage(playerid, VERMELHO, "Senha Incorreta!");
            format(String, sizeof(String), "{FFFFFF}Ola Novamente, {1BCCE0}%s{FFFFFF}\n\nLogue-se usando sua senha :D\nE Tenha um bom jogo !!!", Nome(playerid));
            ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Logando", String, "Conectar", "");
			return 1;
        }
    }
Salvamento (OnPlayerDisconnect)

Код:
	if(gLogado[playerid])
	{
		new PlayerName[MAX_PLAYER_NAME];
		GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
		format(StringContas, sizeof(StringContas), "Contas/%s.ini", PlayerName);
		if(DOF2_FileExists(StringContas))
		{
			DOF2_SetString(StringContas, "Nome", PlayerDados[playerid][pPNOME]);
		    DOF2_SetInt(StringContas, "Dinheiro", GetPlayerMoney(playerid));
		    DOF2_SetInt(StringContas, "Nivel", PlayerDados[playerid][pNivel]);
		    DOF2_SetInt(StringContas, "Exp", PlayerDados[playerid][pExp]);
		    DOF2_SetInt(StringContas, "Admin", PlayerDados[playerid][pAdmin]);
		    DOF2_SetInt(StringContas, "Registro", PlayerDados[playerid][pRegis]);
		    DOF2_SetInt(StringContas, "Sexo", PlayerDados[playerid][pSexo]);
		    DOF2_SetInt(StringContas, "Habitacao", PlayerDados[playerid][pHabit]);
		    DOF2_SetInt(StringContas, "RMoney", PlayerDados[playerid][pRMoney]);
		    DOF2_SetInt(StringContas, "RMoneyBanco", PlayerDados[playerid][pRMoneyBanco]);
		    DOF2_SetInt(StringContas, "Vip", PlayerDados[playerid][pVip]);
		    DOF2_SetInt(StringContas, "Skin1", PlayerDados[playerid][pSkin1]);
		    DOF2_SetInt(StringContas, "Skin2", PlayerDados[playerid][pSkin2]);
		    DOF2_SetInt(StringContas, "TempoLogado", PlayerDados[playerid][pTG]);
		    DOF2_SetInt(StringContas, "LicTerrestre", PlayerDados[playerid][pLicTer]);
		    DOF2_SetInt(StringContas, "LicMaritima", PlayerDados[playerid][pLicMar]);
		    DOF2_SetInt(StringContas, "LicAerea", PlayerDados[playerid][pLicAer]);
		    DOF2_SetInt(StringContas, "LicArmas", PlayerDados[playerid][pLicArmas]);
		    DOF2_SetInt(StringContas, "Emprego", PlayerDados[playerid][pEmprego]);
		    DOF2_SetInt(StringContas, "Membro", PlayerDados[playerid][pMembro]);
		    DOF2_SetInt(StringContas, "NumLoteria", PlayerDados[playerid][pNumLoteria]);
		    DOF2_SetInt(StringContas, "DinBanco", PlayerDados[playerid][pDinBanco]);
		    DOF2_SetInt(StringContas, "Estudos", PlayerDados[playerid][pEstudos]);
		    DOF2_SetInt(StringContas, "Formacao", PlayerDados[playerid][pFormacao]);
		    DOF2_SetInt(StringContas, "AdvEmprego", PlayerDados[playerid][pEmpAdv]);
		    DOF2_SetInt(StringContas, "Casas", PlayerDados[playerid][pCasa]);
		    DOF2_SetInt(StringContas, "Empresas", PlayerDados[playerid][pEmpresa]);
		    DOF2_SetInt(StringContas, "Aluguel", PlayerDados[playerid][pAluguel]);
		    DOF2_SetInt(StringContas, "CasaAluguel", PlayerDados[playerid][pidaluguel]);
			DOF2_SetFloat(StringContas, "XXX", PlayerDados[playerid][XXX]);
			DOF2_SetFloat(StringContas, "YYY", PlayerDados[playerid][YYY]);
			DOF2_SetFloat(StringContas, "ZZZ", PlayerDados[playerid][ZZZ]);
			DOF2_SetFloat(StringContas, "ROT", PlayerDados[playerid][ROT]);
		    DOF2_SetInt(StringContas, "Emprestado", PlayerDados[playerid][pEmprestado]);
		    DOF2_SetInt(StringContas, "Emprestimo", PlayerDados[playerid][pEmprestimo]);
		    DOF2_SetInt(StringContas, "Carro", PlayerDados[playerid][pCarro]);
		    DOF2_SetInt(StringContas, "ChaveCarro", PlayerDados[playerid][pChaveCarro]);
		    DOF2_SetInt(StringContas, "Evento", PlayerDados[playerid][pEvento]);
		    DOF2_SetInt(StringContas, "Fome", PlayerDados[playerid][pFome]);
		    DOF2_SetInt(StringContas, "Luta", PlayerDados[playerid][pTipoLuta]);
		    DOF2_SetInt(StringContas, "TempoVip", PlayerDados[playerid][pTempoVip]);
		    DOF2_SetInt(StringContas, "Titulos", PlayerDados[playerid][pTitulos]);
		    DOF2_SetInt(StringContas, "Ban", PlayerDados[playerid][pBan]);
		}
	}
Entao, alguem ai sabe o que pode ser ?
Se alguem ja enfrentou esse problema, como arrumou ?
Se Alguem quiser ajudar, ja agradeзo desde ja (;
Att