[Ajuda] Problema no Registro
#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

Por isso que e bom criar outro comando para o admin permitir o player de trocar o nick e nгo ele.
Reply
#3

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

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:
Reply
#5

Mostre o cуdigo da linha!
Reply
#6

Lembre-se else para case й else case:
Reply
#7

Quote:
Originally Posted by Cidiei
Посмотреть сообщение
Mostre o cуdigo da linha!
Cidiei estб ai em cima.
Reply
#8

Alguйm poderia me ajudar? estou precisando muito, desculpe pelo double post.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)