[Ajuda] Dialog nгo bomba
#1

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;
}
Reply
#2

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;
}
Reply
#3

Elas simplesmente nгo aparecem. Vou tentar.
Reply
#4

OnPlayerConnect query error: 1064

Isso й o que deu.
Reply
#5

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

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


Forum Jump:


Users browsing this thread: 1 Guest(s)