[Ajuda] Sistema de Login
#1

Boa noite!
Fiz um sistema de login ai to com alguns problemas para ajustar.

1° Quando logo me registro, logo ai pedi meu sexo escolho o sexo e sou spawnado. Mais nгo com a skin setada para homem/mulher. quando olho no arquivo da conta ta salvando a skin 0 a do CJ ou nгo ta salvando as skins que coloquei como a do CJ й 0 apareзo com ela.

2° Quando relogo eu digito minha senha dou confirmar mais nгo sou spawnado tenho que clicar no botгo SPAWN.

Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new arquivo[40], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, 32); 
    format(arquivo, 40, "Contas/%s.ini", name);
    if(dialogid == DIALOG_SEXO)
    {
        if(response)
        {
            SendClientMessage(playerid,0xFFFFFFFF,"Ok,vocк й homem");
            Player[playerid][Sexo] = 1;
            SetPlayerSkin(playerid,23);
            SetPlayerInterior(playerid,0);
            SetPlayerPos(playerid,1538.4579,-1674.7726,13.5469);
            SpawnPlayer(playerid);
        }
        else
        {
            SendClientMessage(playerid,0xFFFFFFFF,"Ok vocк й mulher");
            Player[playerid][Sexo] = 2;
            SetPlayerSkin(playerid,192);
            SetPlayerInterior(playerid,0);
            SetPlayerPos(playerid,1538.4579,-1674.7726,13.5469);
            SpawnPlayer(playerid);
        }
        return 1;
    }
    if(dialogid == DIALOG_REGISTRO)
    {
        if(!strval(inputtext)) 
        { 
            ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Digite apenas nъmeros!\nDigite sua Senha novamente para se registrar!", "Confirma", "Cancelar");
            return 1;
        }
        if(!response) 
        { 
            Kick(playerid);
            return 1;
        }
        else 
        { 
            Registrado[playerid] = 1;
            Player[playerid][Senha] = strval(inputtext);
            DOF2_CreateFile(arquivo); 
            DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
            DOF2_SetInt(arquivo, "Membro", Player[playerid][Membro]);
            DOF2_SetInt(arquivo, "Sexo", Player[playerid][Sexo]);
            DOF2_SetInt(arquivo, "Skin", Player[playerid][Skin]);
            DOF2_SaveFile(); 
            ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк se cadastrou, agora й sу logar com sua Senha registrada!", "Confirma", "Cancelar");
            
        }
    }
    if(dialogid == DIALOG_LOGAR)
    {
        if(!strval(inputtext)) 
        { 
            ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Digite apenas nъmeros!\nDigite sua Senha cadastrada para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
            return 1;
        }
        if(!response) 
        { 
            Kick(playerid);
            return 1;
        }
        else 
        { 
            Player[playerid][Senha] = DOF2_GetInt(arquivo, "Senha");
            Player[playerid][Membro] = DOF2_GetInt(arquivo, "Membro");
            Player[playerid][Sexo] = DOF2_GetInt(arquivo, "Sexo");
            Player[playerid][Skin] = DOF2_GetInt(arquivo, "Skin");
            Logado[playerid] = 1;
            if(Registrado[playerid] == 1)
			{
                Registrado[playerid] = 0;
                ShowPlayerDialog(playerid, DIALOG_SEXO, DIALOG_STYLE_MSGBOX, "Qual seu sexo?", "Escolha seu sexo", "Homem", "Mulher");

            }
            if(strval(inputtext) == Player[playerid][Senha])
            { 
               SpawnPlayer(playerid);
            }
            else 
            {
                ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк digitou sua Senha errado, digite-a novamente para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
                Erro[playerid]++; 
                if(Erro[playerid] == 5) 
                {
                    SendClientMessage(playerid, -1, "Sua conta estб banida por errar 5 vezes a sua Senha, contacte o Admin para retirar seu Ban!");
                    Ban(playerid);
                    return 1;
                }
            }
        }
    }
	return 1;
}
Код:
public OnPlayerConnect(playerid)
{
    new arquivo[40], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, 32);
    format(arquivo, 40, "Contas/%s.ini", name);
    Player[playerid][Membro] = DOF2_GetInt(arquivo, "Membro");
    SetPlayerSkin(playerid, Player[playerid][Skin]);
    if(DOF2_FileExists(arquivo))
    { 
        ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк й Registrado, digite sua Senha para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
        
    }
    else  
    { 
        ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Vocк ainda nгo й Registrado, digite uma Senha para se registrar!", "Confirma", "Cancelar");
    }
Код:
public OnPlayerDisconnect(playerid, reason)
{
    new arquivo[40], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, 32); 
    format(arquivo, 40, "Contas/%s.ini", name);
    if(DOF2_FileExists(arquivo)) 
    {
       
        DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
        DOF2_SetInt(arquivo, "Membro", Player[playerid][Membro]);
        DOF2_SetInt(arquivo, "Sexo", Player[playerid][Sexo]);
        DOF2_SetInt(arquivo, "Skin", Player[playerid][Skin]);
        
        DOF2_SaveFile(); 
    }
	return 1;
}
Код:
public OnGameModeExit()
{
	DOF2_Exit();
	return 1;
}
Reply
#2

pawn Код:
public OnPlayerSpawn(playerid) {
    SetPlayerSkin( playerid , Player[playerid][Skin] ) ;
    return ( true ) ;
}
Estou com sono, desculpa se saiu errado kk'
Reply
#3

Quote:
Originally Posted by tonisantolia
Посмотреть сообщение
pawn Код:
public OnPlayerSpawn(playerid) {
    SetPlayerSkin( playerid , Player[playerid][Skin] ) ;
    return ( true ) ;
}
Estou com sono, desculpa se saiu errado kk'
De boa kkk
Mais eu ja fiz isso tambйm, sу nгo postei junto ai em cima, mais mesmo assim nгo dб.
Reply
#4

Faz um debug, imprima o valor da variavel Player[playerid][Skin]. E veja se ta carregando ou nгo.


E setar a skin logo no OnPlayerConect sem obter os dados do arquivo ela vai ser zero, pois ela ainda nгo teve o seu valor alterado.
Reply
#5

Ali onde defini sexo.. Tenta fazer assim..
pawn Код:
if(response)
        {
            SendClientMessage(playerid,0xFFFFFFFF,"Ok,vocк й homem");
            Player[playerid][Sexo] = 1;
            Player[playerid][Skin] = 23;
            SetPlayerInterior(playerid,0);
            SetSpawnInfo(playerid,0,0,0.0,0.0,0.0,0.0,-1,-1,-1,-1,-1,-1);
            SpawnPlayer(playerid);
        }
        else
        {
            SendClientMessage(playerid,0xFFFFFFFF,"Ok vocк й mulher");
            Player[playerid][Sexo] = 2;
            Player[playerid][Skin] = 192;
            SetPlayerInterior(playerid,0);
            SetSpawnInfo(playerid,0,0,0.0,0.0,0.0,0.0,-1,-1,-1,-1,-1,-1);
            SpawnPlayer(playerid);
        }
Ai a callback OnPlayerSpawn fica assim:
pawn Код:
public OnPlayerSpawn( playerid ) {
    SetPlayerSkin( playerid , Player[playerid][Skin] ) ;
    SetPlayerPos( playerid , 1538.4579 , -1674.7726 , 13.5469 ) ;
    return ( true ) ;
}
Reply
#6

Tenta adicionar umas classes, AddPlayerClass.
Reply
#7

Vi um coisa que tinha visto antes
Код:
if(dialogid == DIALOG_SEXO)
    {
        if(response)
        {
            SendClientMessage(playerid,0xFFFFFFFF,"Ok,vocк й homem");
            Player[playerid][Sexo] = 1;
            SetPlayerSkin(playerid,23);
            SetPlayerInterior(playerid,0);
            SetPlayerPos(playerid,1538.4579,-1674.7726,13.5469);
            SpawnPlayer(playerid);
        }
        else
        {
            SendClientMessage(playerid,0xFFFFFFFF,"Ok vocк й mulher");
            Player[playerid][Sexo] = 2;
            SetPlayerSkin(playerid,192);
            SetPlayerInterior(playerid,0);
            SetPlayerPos(playerid,1538.4579,-1674.7726,13.5469);
            SpawnPlayer(playerid);
        }
        return 1;
    }
Tirei os dois SpawnPlayer ai eu era spawnado com a Skin sу que quando eu relogo apareзo com a do CJ
Reply
#8

Quote:
Originally Posted by StrondaXxT
Посмотреть сообщение
Vi um coisa que tinha visto antes
Код:
if(dialogid == DIALOG_SEXO)
    {
        if(response)
        {
            SendClientMessage(playerid,0xFFFFFFFF,"Ok,vocк й homem");
            Player[playerid][Sexo] = 1;
            SetPlayerSkin(playerid,23);
            SetPlayerInterior(playerid,0);
            SetPlayerPos(playerid,1538.4579,-1674.7726,13.5469);
            SpawnPlayer(playerid);
        }
        else
        {
            SendClientMessage(playerid,0xFFFFFFFF,"Ok vocк й mulher");
            Player[playerid][Sexo] = 2;
            SetPlayerSkin(playerid,192);
            SetPlayerInterior(playerid,0);
            SetPlayerPos(playerid,1538.4579,-1674.7726,13.5469);
            SpawnPlayer(playerid);
        }
        return 1;
    }
Tirei os dois SpawnPlayer ai eu era spawnado com a Skin sу que quando eu relogo apareзo com a do CJ
Ali onde defini sexo.. Tenta fazer assim..
pawn Код:
if(response)
        {
            SendClientMessage(playerid,0xFFFFFFFF,"Ok,vocк й homem");
            Player[playerid][Sexo] = 1;
            Player[playerid][Skin] = 23;
            SetPlayerInterior(playerid,0);
            SetSpawnInfo(playerid,0,0,0.0,0.0,0.0,0.0,-1,-1,-1,-1,-1,-1);
            SpawnPlayer(playerid);
        }
        else
        {
            SendClientMessage(playerid,0xFFFFFFFF,"Ok vocк й mulher");
            Player[playerid][Sexo] = 2;
            Player[playerid][Skin] = 192;
            SetPlayerInterior(playerid,0);
            SetSpawnInfo(playerid,0,0,0.0,0.0,0.0,0.0,-1,-1,-1,-1,-1,-1);
            SpawnPlayer(playerid);
        }
Ai a callback OnPlayerSpawn fica assim:
pawn Код:
public OnPlayerSpawn( playerid ) {
    SetPlayerSkin( playerid , Player[playerid][Skin] ) ;
    SetPlayerPos( playerid , 1538.4579 , -1674.7726 , 13.5469 ) ;
    return ( true ) ;
}
Reply
#9

Certo kk vlw e o 2°? Tipo eu relogo ai digito a senha mais nгo spawna de uma vez eu tenho que clicar em spawn
Reply
#10

Quote:
Originally Posted by StrondaXxT
Посмотреть сообщение
Certo kk vlw e o 2°? Tipo eu relogo ai digito a senha mais nгo spawna de uma vez eu tenho que clicar em spawn
No script que postei no post anterior resolve ambos problemas..
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)