[Ajuda] Help-me Algum Scripter ( Please )
#1

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.
Reply
#2

Cara, uma dica que lhe dou, para mais seguranзa do seu sistema de registro, utilize um settimer, com um tempo de 5 ou 10 segundos, para que se o jogador nгo digitar a senha, ele seja kickado automaticamente, pois o SA:MP ainda nгo tem funзгo para detecзгo de ESC.
Reply
#3

Os servidores que eu jogo , quando dгo "ESC" na pбgina inicial toma disconnect, teve um scripter que mandou eu colocar isso :

Код:
  if(!response)
 {
 Kick(playerid);
 return 1;
 }
Sу que eu nгo sei aonde eu coloco isso, porque eu sou meio novato.

Ele nгo explicou aonde colocar

Ajuda ae , porfavor.
Reply
#4

Quote:
Originally Posted by GustavinCTN
Посмотреть сообщение
Os servidores que eu jogo , quando dгo "ESC" na pбgina inicial toma disconnect, teve um scripter que mandou eu colocar isso :

Код:
  if(!response)
 {
 Kick(playerid);
 return 1;
 }
Sу que eu nгo sei aonde eu coloco isso, porque eu sou meio novato.

Ele nгo explicou aonde colocar

Ajuda ae , porfavor.
LOL, coloque isso no OnDialogResponse -.-
Reply
#5

Posta os comandos que dao problemas (/mudarsenha e /mudarnick)
Reply
#6

Quote:
Originally Posted by BielCOP
Посмотреть сообщение
Posta os comandos que dao problemas (/mudarsenha e /mudarnick)
Nгo precisa, ja que o problema й com as dialogs.
Reply
#7

Cara, nao й bug / erro com dialog.

Й problema com o comando, farei uma variбvel para ele aн mano.

Posta aн mlkote
Reply
#8

Tem como colocar pra falar no "T" sу quando tiver logado, e pra usar os comandos sу quando tiver logado.
Reply
#9

Quote:
Originally Posted by GustavinCTN
Посмотреть сообщение
Tem como colocar pra falar no "T" sу quando tiver logado, e pra usar os comandos sу quando tiver logado.
Sim.
Mas que mula iria fazer o /mudarsenha sem pedir a senha para confirmar a mudanзa.

Sabe o que й strtok? Baixe ele no seu gm. E faзa alguma coisa assim

/mudarsenha [senha antiga] [senha nova]

Porque vamos combinar, й uma mulice fazer o que tu fez.
Reply
#10

Pф, mas tem como colocar tambйm pra dar "Kick" quando vocк da "Esc" na бrea de login, registro?

Se puder , me ajuda ai, estou faz um tempo querendo ajuda , mas ta dificil
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)