Quote:
Originally Posted by Cycle
Vamos fazer de uma forma mais simples, й уbvio.
Tome uma base, e desenvolva o seu prуprio.
PHP код:
new enterGrade[] =
{
/* Vamos inserir uma variбvel alocada. */
/* Coloque sua senha, digamos que a minha й '2001' */
2001
};
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 201)
{
if(response)
{
for(new i = 0, e = sizeof(enterGrade); i < e; i++)
{
if(strval(inputtext) != enterGrade[i])
return SendClientMessage(playerid, -1, "Senha incorreta, nгo foi possivel abrir o portгo.");
/* Atй aqui, jб estб com todo o caminho andado, agora vocк apenas faz as alteraзхes com o portгo.
Usando MoveObject e etc. */
}
}
}
return true;
}
CMD:opengrade(playerid)
{
if(!IsPlayerConnected(playerid))
return false;
ShowPlayerDialog(playerid, 201, DIALOG_STYLE_INPUT, "Senha para abertura do portгo", "Digite a senha para executar a abertura do portгo", "Avanзar", "Cancelar");
return true;
}
|
Tem um erro neste teu cуdigo. Vamos supor que ele coloque mais de uma senha no vetor EnterGrade, suponhamos o nъmero 2002. Ficaria assim:
PHP код:
new enterGrade[] =
{
2001,
2002
};
Caso o player coloque na dialog a senha 2002, irб enviar a mensagem de erro que a senha estб incorreta, pois vocк estб usando return. Verifica se o valor que estб armazenado no нndice 0 (primeira passada do looping) й igual ao que o player digitou, caso nгo seja retorna a mensagem de erro, mesmo ele digitando outra senha correta, no caso 2002. Ele usando apenas um portгo com senha basta usar uma constante nгo necessita de um vetor.