Problema no Registro -
GustavinCTN - 07.05.2013
Entгo, estou com um sйrio problema no meu servidor de sa-mp, preciso muito da ajuda de vocкs, no meu server tem 2 Sistema de Mudar Nick e de Mudar Senha, tem um bug na бrea de registro que vocк pode mudar o nick ou a senha de algum Administrador sem saber a senha dele.
Como й esse bug?
Quando vocк entra no servidor com o nick de algum Administrador , vai ter a tela inicial certo, pra vocк escolher бs opзхes se vocк quer se "Registrar" ou "Logar" , nessa tela se vocк der "ESC" vocк nгo toma disconnect, ai й so vocк aperta "T" e escrever /mudarsenha "A senha que vocк quer" e fica com a conta do administrador, da ban's.
Entгo o certo era vocк apertar "Esc" e tomar disconnect automaticamente, estб faltando alguma coisa na бrea de registro, pois quando aperta "Esc" nгo da disconnect, isso acontece apenas na tela inicial, se vocк clica em "Logar" e da "ESC" vocк toma kick, serб que alguйm poderia me ajudar nesse bug?
Estб faltando adaptar o Kick(playerid); em algum lugar da бrea de registro.
Vou deixar б бrea de registro aqui, quem souber resolver, porfavor me ajude, preciso muito.
БREA DE REGISTRO
-----------------------------
PUBLIC
Код:
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1303.0870,2105.7612,39.0228);
SetPlayerCameraLookAt(playerid, 1380.7771,2195.2405,22.5776);
new string[25];
format(string, 25, "%s", getPName(playerid));
ShowPlayerDialog(playerid,COREIA_EO_PODER,DIALOG_STYLE_LIST, string, "Logar\nRegistrar\nSair","Selecionar","");
return 1;
}
----------------------------
DIALOG
Код:
if(dialogid == COREIA_EO_PODER)
{
new String[260];
switch(response)
{
case 1:
{
switch(listitem)
{
case 0:
{
if(DOF2_FileExists(ContaLog(playerid)))
{
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
format(String, sizeof(String), "{E3E3E3}Nick: %s\nConta: {32CD32}Registrada\n\n{E3E3E3}Digite a senha que vocк registrou.\nLembre-se, nгo passe sua senha para ninguйm.", Nome);
ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"Logar", String, "Logar","Voltar");
return 1;
}
else
{
new string[25];
format(string, 25, "%s", getPName(playerid));
ShowPlayerDialog(playerid,COREIA_EO_PODER,DIALOG_STYLE_LIST, string, "Logar\nRegistrar\nSair","Selecionar","");
return 1;
}
}
case 1:
{
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
format(String, sizeof(String),CONTAS,Nome);
if(!DOF2_FileExists(ContaLog(playerid)))
{
format(String, sizeof(String), "{E3E3E3}Nick: %s\nConta: {FF0000}Nгo Registrada\n\n{E3E3E3}Digite uma senha abaixo para se registrar.", Nome);
ShowPlayerDialog(playerid,REGISTRO,DIALOG_STYLE_INPUT, "Registro", String, "Registrar","Voltar");
return 1;
}
else
{
new string[25];
format(string, 25, "%s", getPName(playerid));
ShowPlayerDialog(playerid,COREIA_EO_PODER,DIALOG_STYLE_LIST, string, "Logar\nRegistrar\nSair","Selecionar","");
return 1;
}
}
case 2:
{
Kick(playerid);
}
}
return 1;
}
}
return 1;
}
Desde jб agradeзo, abraзos.
Re: Problema no Registro -
ViictorDaay- - 07.05.2013
Por isso que e bom criar outro comando para o admin permitir o player de trocar o nick e nгo ele.
Re: Problema no Registro -
Cidiei - 07.05.2013
Tenta ai.
pawn Код:
if(dialogid == COREIA_EO_PODER)
{
new String[260];
if(!response)
{
//Funзгo Kickar
}
if(response)
{
case 1:
{
switch(listitem)
{
case 0:
{
if(DOF2_FileExists(ContaLog(playerid)))
{
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
format(String, sizeof(String), "{E3E3E3}Nick: %s\nConta: {32CD32}Registrada\n\n{E3E3E3}Digite a senha que vocк registrou.\nLembre-se, nгo passe sua senha para ninguйm.", Nome);
ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"Logar", String, "Logar","Voltar");
return 1;
}
else
{
new string[25];
format(string, 25, "%s", getPName(playerid));
ShowPlayerDialog(playerid,COREIA_EO_PODER,DIALOG_STYLE_LIST, string, "Logar\nRegistrar\nSair","Selecionar","");
return 1;
}
}
case 1:
{
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
format(String, sizeof(String),CONTAS,Nome);
if(!DOF2_FileExists(ContaLog(playerid)))
{
format(String, sizeof(String), "{E3E3E3}Nick: %s\nConta: {FF0000}Nгo Registrada\n\n{E3E3E3}Digite uma senha abaixo para se registrar.", Nome);
ShowPlayerDialog(playerid,REGISTRO,DIALOG_STYLE_INPUT, "Registro", String, "Registrar","Voltar");
return 1;
}
else
{
new string[25];
format(string, 25, "%s", getPName(playerid));
ShowPlayerDialog(playerid,COREIA_EO_PODER,DIALOG_STYLE_LIST, string, "Logar\nRegistrar\nSair","Selecionar","");
return 1;
}
}
}
return 1;
}
}
return 1;
}
Re: Problema no Registro -
GustavinCTN - 07.05.2013
C:\Game Mode\gamemodes\GM.pwn(14521) : error 014: invalid statement; not in switch
C:\Game Mode\gamemodes\GM.pwn(14521) : warning 215: expression has no effect
C:\Game Mode\gamemodes\GM.pwn(14521) : error 001: expected token: ";", but found ":"
C:\Game Mode\gamemodes\GM.pwn(14521) : error 029: invalid expression, assumed zero
C:\Game Mode\gamemodes\GM.pwn(14521) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
4 Errors.
------------------
Linha que estб com erro:
LINHA 14521 : case 1:
Re: Problema no Registro -
Cidiei - 07.05.2013
Mostre o cуdigo da linha!
Re: Problema no Registro -
ViictorDaay- - 07.05.2013
Lembre-se
else para case й
else case:
Re: Problema no Registro -
GustavinCTN - 07.05.2013
Quote:
Originally Posted by Cidiei
Mostre o cуdigo da linha!
|
Cidiei estб ai em cima.
Re: Problema no Registro -
GustavinCTN - 07.05.2013
Alguйm poderia me ajudar? estou precisando muito, desculpe pelo double post.