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];