[Ajuda] Registro não funciona
#1

Bom eu estava fazendo o meu GM e precisava de um Sistema de Registro, mais todos que eu tentava davam 26 errors, até que achei um que funcionava. Bom entrei no meu Servidor, apareceu para registrar, registrei e não apareceu para logar, foi direto para o jogo, então testei, comando /status funcionando, aparecia as coisas, ai sai do jogo e quando entrei, apareceu para registrar de novo, e nada estava salvo.

Estou usando este sistema:

Код:
#include <a_samp>
#include <Dini>

#define FILTERSCRIPT

#define REGISTRO 1
#define LOGIN    2

#define CONTAS "Players/%s.ini"

new Matou[MAX_PLAYERS];
new Morreu[MAX_PLAYERS];
new Logou[MAX_PLAYERS];

public OnFilterScriptInit()
{
	return 1;
}

public OnFilterScriptExit()
{
	for(new i=0; i<MAX_PLAYERS; i++)
	SalvarPlayer(i);
	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	return 1;
}
public OnPlayerConnect(playerid)
{
	new Nome[MAX_PLAYER_NAME];
	GetPlayerName(playerid, Nome, sizeof(Nome));
	new String[100];
	format(String, sizeof(String), CONTAS, Nome);
	if(!dini_Exists(String))
	{
		format(String, sizeof(String), "{7FFFD4}Nick: {1E90FF}%s  {1E90FF}Não Registrado\n\n{FFFFFF} Digite Uma Senha Para Continuar", Nome);
		ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Registro", String, "Registrar", "Cancelar");
	}
	else
	{
		format(String, sizeof(String), "{7FFFD4}Nick: {1E90FF}%s  {1E90FF}Registrado\n\n{FFFFFF} Digite Sua Senha Para Logar", Nome);
        ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Registro", String, "Logar", "Cancelar");
	}
	return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
    SalvarPlayer(playerid);
	return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
	if(IsPlayerConnected(killerid))
	{
		Matou[killerid]++;
	}
	Morreu[playerid]++;
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	if (strcmp("/status", cmdtext, true, 8) == 0)
	{
		Status(playerid);
		return 1;
	}
	return 0;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == REGISTRO)
	{
		if(response)
		{
		    if(!strlen(inputtext))
		    {
				new Nome[MAX_PLAYER_NAME];
				GetPlayerName(playerid, Nome, sizeof(Nome));
				new String[100];
	        	format(String, sizeof(String), "{7FFFD4}Nick: {1E90FF}%s  {1E90FF}Não Registrado\n\n{FFFFFF} Digite Uma Senha Para Continuar", Nome);
		        ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Registro", String, "Registrar", "Cancelar");
				SendClientMessage(playerid,0x1E90FFAA,"Senha invalida, digite uma senha válida");
				return 1;
			}
			new Nome[MAX_PLAYER_NAME];
			GetPlayerName(playerid, Nome, sizeof(Nome));
			new String[100];
			format(String, sizeof(String), CONTAS, Nome);
			dini_Create(String);
			dini_Set(String,"Senha",inputtext);
			dini_IntSet(String,"Dinheiro",0);
			dini_IntSet(String,"Vida", 100);
			dini_IntSet(String,"Colete", 100);
			dini_IntSet(String,"Matou",0);
			dini_IntSet(String,"Morreu",0);
			dini_IntSet(String,"Logou",0);
        	ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Login", "{1E90FF}Pronto você se registrou agora digite Sua Senha Para Logar-Se", "Logar", "Cancelar");
			return 1;
		}
        else
        {
            SendClientMessage(playerid, 0xFF0000AA, "Você Foi Kickado Porque Não Quis Se Registrar!!");
            Kick(playerid);
            return 1;
        }
    }
    if(dialogid == LOGIN)
	{
		if(response)
		{
			if(!strlen(inputtext))
		    {
				new Nome[MAX_PLAYER_NAME];
				GetPlayerName(playerid, Nome, sizeof(Nome));
				new String[100];
				format(String, sizeof(String), "{7FFFD4}Nick: {1E90FF}%s  {1E90FF}Registrado\n\n{FFFFFF} Digite Sua Senha Para Logar", Nome);
       		    ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Registro", String, "Logar", "Cancelar");
				SendClientMessage(playerid,0x1E90FFAA,"Senha Incorreta !");
				return 1;
			}
			new Nome[MAX_PLAYER_NAME];
			GetPlayerName(playerid, Nome, sizeof(Nome));
			new String[100];
			format(String, sizeof(String), CONTAS, Nome);
			if(!strcmp(inputtext,dini_Get(String,"Senha"),false))
			{
			    SetarPlayer(playerid);
			    Logou[playerid]++;
			    SendClientMessage(playerid,0x00FF00AA,"Você Foi Logado Com Sucesso > Escolha Sua Skin!");
			    return 1;
			}
			else
			{
			    SendClientMessage(playerid,0x00FF00AA,"Senha incorreta digite-a novamente");
				format(String, sizeof(String), "{7FFFD4}Nick: {1E90FF}%s  {1E90FF}Registrado\n\n{FFFFFF} Digite Sua Senha Para Logar", Nome);
        		ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Registro", String, "Logar", "Cancelar");
			}
			return 1;
		}
		else
		{
			SendClientMessage(playerid, 0xFF0000AA, "Você não quis se logar, por este motivo será Kickado");
			Kick(playerid);
			return 1;
		}
	}
	return 1;
}

SalvarPlayer(playerid)
{
	new Float:Vida;
    new Float:Colete;
    GetPlayerHealth(playerid, Vida);
    GetPlayerArmour(playerid, Colete);
    new Nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Nome, sizeof(Nome));
    new String[50];
    format(String, sizeof(String), CONTAS, Nome);
    dini_IntSet(String,"Dinheiro", GetPlayerMoney(playerid));
    dini_FloatSet(String,"Vida", Vida);
    dini_FloatSet(String,"Colete", Colete);
    dini_IntSet(String,"Matou", Matou[playerid]);
    dini_IntSet(String,"Morreu", Morreu[playerid]);
    dini_IntSet(String,"Logou", Logou[playerid]);
    return 1;
}

SetarPlayer(playerid)
{
	new Nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Nome, sizeof(Nome));
    new String[50];
    format(String, sizeof(String), CONTAS, Nome);
    GivePlayerMoney(playerid, dini_Int(String,"Dinheiro"));
    SetPlayerHealth(playerid, dini_Int(String,"Vida"));
    SetPlayerArmour(playerid, dini_Int(String,"Colete"));
    Matou[playerid] = dini_Int(String, "Matou");
    Morreu[playerid] = dini_Int(String, "Morreu");
    Logou[playerid] = dini_Int(String, "Logou");
	return 1;
}

Status(playerid)
{
	new Nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Nome, sizeof(Nome));
	new String[128];
 	SendClientMessage(playerid, 0xFF0000AA, "================================================");
	format(String, sizeof(String),"Status De %s",Nome);
	SendClientMessage(playerid, 0xFFFF00AA,String);
	format(String, sizeof(String),"Dinheiro: %d", GetPlayerMoney(playerid));
	SendClientMessage(playerid, 0x1E90FFAA,String);
	format(String, sizeof(String),"Matou: %d",Matou[playerid]);
	SendClientMessage(playerid, 0x1E90FFAA,String);
	format(String, sizeof(String),"Morreu: %d",Morreu[playerid]);
	SendClientMessage(playerid, 0x1E90FFAA,String);
	format(String, sizeof(String),"Você Já Logou %d Vezes Neste Servidor",Logou[playerid]);
	SendClientMessage(playerid, 0x1E90FFAA,String);
    SendClientMessage(playerid, 0xFF0000AA, "================================================");
	return 1;
}
Criei em scriptfiles uma pasta com o nome "Players", criei até uma com o nome "Contas" mais não salva.

Alguém sabe oque tem de errado ?
Reply


Messages In This Thread
Registro não funciona - by Ever_SH - 28.12.2012, 20:41
Re: Registro não funciona - by mau.tito - 28.12.2012, 21:03
Re: Registro não funciona - by Ever_SH - 28.12.2012, 21:45
Re: Registro não funciona - by Galhardo - 28.12.2012, 21:47
Re: Registro não funciona - by Ever_SH - 28.12.2012, 22:13
Re: Registro nгo funciona - by XStylerX - 28.12.2012, 22:48
Re: Registro nгo funciona - by Ever_SH - 28.12.2012, 23:06
Re: Registro não funciona - by Galhardo - 28.12.2012, 23:41
Re: Registro não funciona - by Ever_SH - 28.12.2012, 23:51
Re: Registro não funciona - by Schocc - 28.12.2012, 23:58

Forum Jump:


Users browsing this thread: 7 Guest(s)