SA-MP Forums Archive
[Ajuda] Dialog nгo bomba - 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] Dialog nгo bomba (/showthread.php?tid=627891)



Dialog nгo bomba - Diggie - 03.02.2017

Simplesmente meus dialogs nгo abrem. Os possнveis causadores estгo aн. E nгo й o return 0 do dialog, eu jб tentei arrumar ele pra 1 e n deu em nada.
Код:
public OnPlayerConnect(playerid)
{
	new consulta[128];
	LimparChat(playerid);
	ChecarBanimento(playerid);
	PlayerInfo[playerid][pAdminDuty]=0;
	    
	GetPlayerName(playerid, PlayerInfo[playerid][pNome], MAX_PLAYER_NAME);
	mysql_format(mysql_con, consulta, sizeof(consulta), "SELECT * FROM `jogadores` WHERE `nome` = '%s'", PlayerInfo[playerid][pNome]);
	
 	mysql_tquery(mysql_con, consulta, "ProcurarUsuario", "i", playerid);
	return 1;
}
Код:
forward ProcurarUsuario(playerid);
public ProcurarUsuario(playerid)
{
	new rows;
    cache_get_row_count(rows);
	
	if(!rows)
	{
	    ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "{FFFFFF}Server de Roleplay — Registro", "{FFFFFF}Digite uma senha abaixo para se registrar", "Registrar", "Cancelar");
	}
	else
	{
        cache_get_value_name(0, "senha", PlayerInfo[playerid][pSenha]);
		ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "{FFFFFF}Server de Roleplay — Login", "{FFFFFF}Digite sua senha abaixo para se conectar no server", "Conectar", "Cancelar");
	}
	return 1;
}
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	new nome[125];
	
	GetPlayerName(playerid, nome, sizeof(nome));
	
	switch(dialogid)
	{
	    case 1:
	    {
     		new loginattemp, buf[129];

            if(!response) Kick(playerid);
            WP_Hash(buf, sizeof(buf), inputtext);
            if(!strcmp(buf, PlayerInfo[playerid][pSenha], true))
            {
                new consulta[70], Cache:GetCache;
                mysql_format(mysql_con, consulta, sizeof(consulta), "SELECT * FROM `jogadores` WHERE `nome` = '%s' LIMIT 1", nome);
                GetCache = mysql_query(mysql_con, consulta);

                
                new rows;
                cache_get_row_count(rows);
                if(rows == 1)
                {
                    cache_get_value_name_int(0, "leveladm", PlayerInfo[playerid][pAdmin]);
                }
                SendClientMessage(playerid, -1, "SERVER: Vocк se conectou com sucesso.");
                cache_delete(GetCache);
            }
            else 
            {
                if(loginattemp == 3) return Kick(playerid);
                EnviarMensagemErro(playerid, "SERVER: Vocк inseriu uma senha incorreta.");
                ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "{FFFFFF}Server de Roleplay — Login", "{FFFFFF}Digite sua senha abaixo para se conectar no server", "Conectar", "Cancelar");
                loginattemp++;
            }
        }

		case 2:
		{
		    if(!response) return Kick(playerid);
            if(strlen(inputtext) < 5)
            {
				EnviarMensagemErro(playerid, "SERVER: A sua senha precisa ter mais de 4 caracteres.");
                return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "{FFFFFF}Server de Roleplay — Registro", "{FFFFFF}Digite uma senha abaixo para se registrar", "Registrar", "Cancelar");
            }
            new
                query[287],

                buf[129]
            ;
            WP_Hash(buf, sizeof(buf), inputtext);
            mysql_format(mysql_con, query, sizeof(query), "INSERT INTO `jogadores` (`nome`, `senha`, `leveladm`) VALUES ('%s', '%s', 0)", nome, buf);
            mysql_query(mysql_con, query); 
        }

	}
	return 0;
}



Re: Dialog nгo bomba - RodrigoMSR - 03.02.2017

Elas nгo aparecem ou quando vocк responde ela nгo retorna nada?

Se nгo aparece, o problema estб na query/conexгo, faзa um debug com printf:
Код:
public OnPlayerConnect(playerid)
{
	new consulta[128];
	LimparChat(playerid);
	ChecarBanimento(playerid);
	PlayerInfo[playerid][pAdminDuty]=0;

	GetPlayerName(playerid, PlayerInfo[playerid][pNome], MAX_PLAYER_NAME);
	mysql_format(mysql_con, consulta, sizeof(consulta), "SELECT * FROM `jogadores` WHERE `nome` = '%s'", PlayerInfo[playerid][pNome]);
 	mysql_tquery(mysql_con, consulta, "ProcurarUsuario", "i", playerid);
 	printf("OnPlayerConnect query error: %d", mysql_errno(mysql_con));
	return 1;
}



Re: Dialog nгo bomba - Diggie - 05.02.2017

Elas simplesmente nгo aparecem. Vou tentar.


Re: Dialog nгo bomba - Diggie - 05.02.2017

OnPlayerConnect query error: 1064

Isso й o que deu.


Re: Dialog nгo bomba - [BOPE]Seu._.Madruga - 05.02.2017

mostre como estб sendo criado sua variбvel juntamente com a enum.
PHP код:
PlayerInfo[playerid][pNome



Re: Dialog nгo bomba - Diggie - 05.02.2017

//ENUMS//
enum pEnum
{
pNome[125],
pSenha,
pLevel,
pAdmin,
pTogAdmin,
pAdminDuty,
pNomeAdmin[128],
pBan,
pBanAplicante[125],
pBanMotivo[125],
pAutenticado,
pTentativasLogin
};
new PlayerInfo[MAX_PLAYERS][pEnum];