[Ajuda] Spawn Sem Logar
#1

Bom eu uso um sistema de login em SII, só que os players conseguem spawnar sem login.

Tentei resolver da seguinte maneira:

News:
Код:
new bool:PlayerLogado[MAX_PLAYERS];
OnPlayerConnect:
Код:
PlayerLogado[playerid] = false;
Junto ao carregamento de dados do player ao apertar logar com a senha correta:
Код:
PlayerLogado[playerid] = true;
OnPlayerRequestClass:
Код:
if(PlayerLogado[playerid]) return GameTextForPlayer(playerid,"~n~~n~~n~~r~Logue-se primeiro",7000,4);
Com isso que eu fiz, não aparece mais as skins, e a camera não muda, mas o player clica em logoar sem digitar a senha e continua na mesma tela, só que dai em baixo da dialog de login aparece o botão spawn e da para spawnar.
Reply
#2

pawn Код:
if(PlayerLogado[playerid] == false ) return GameTextForPlayer(playerid,"~n~~n~~n~~r~Logue-se primeiro",7000,4);
Reply
#3

Quote:
Originally Posted by iSmirnoff
Посмотреть сообщение
pawn Код:
if(PlayerLogado[playerid] == false ) return GameTextForPlayer(playerid,"~n~~n~~n~~r~Logue-se primeiro",7000,4);
Não funciono, fiz isso e agora ainda mostra as skins.
Reply
#4

Vocк estб teleportando o jogador depois que ele faz o login?

se nгo use quando ele clicar em login e checar se a senha ta certo
https://sampwiki.blast.hk/wiki/SetSpawnInfo
Reply
#5

Quote:
Originally Posted by iSmirnoff
Посмотреть сообщение
Vocк estб teleportando o jogador depois que ele faz o login?

se nгo use quando ele clicar em login e checar se a senha ta certo
https://sampwiki.blast.hk/wiki/SetSpawnInfo
Desculpe mas não entendi.

Olha como esta:

OnPlayerConnect:

pawn Код:
public OnPlayerConnect(playerid)
{
    PlayerLogado[playerid] = false;
    GetPlayerName(playerid, gPlayerName[playerid], MAX_PLAYER_NAME);
    if (fexist(ObterINI(playerid)))
    {
        ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT,""BRANCO"Login",""BRANCO"Digite sua senha abaixo para efetuar login.","logar","Sair");
    }
    else
    {
        ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT,""BRANCO"Registrando",""BRANCO"Digite sua senha abaixo para registrar uma nova conta.","Registrar","Sair");
    }
    return 1;
}
OnPlayerRequestClass:

pawn Код:
public OnPlayerRequestClass(playerid, classid)
{
    if(PlayerLogado[playerid]) return GameTextForPlayer(playerid,"~n~~n~~n~~r~Logue-se primeiro",3000,4);
//Resto do code
e aquele pedaço que carrega os dados:

pawn Код:
if(strcmp(inputtext,PlayerInfo[playerid][pSenha],false)) {
                ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_INPUT, ""BRANCO"Logar",""VERMELHO"Você digitou uma senha incorreta.\n"BRANCO"Digite sua senha abaixo para acessar.","Logar","Quit");
                }

                SetPlayerScore( playerid, INI_ReadInt("Score" ) );
                ResetPlayerMoney( playerid );
                GivePlayerMoney( playerid, INI_ReadInt( "Dinheiro" ) );
                PlayerLogado[playerid] = true;
                PlayerInfo[playerid][pAdmin] = INI_ReadInt("Admin");
                INI_Close();
Reply
#6

pawn Код:
public OnPlayerRequestSpawn(playerid)
{
    if(PlayerLogado[playerid] == false) {
    GameTextForPlayer(playerid,"~n~~n~~n~~r~Logue-se primeiro",3000,4) ;
    return false;
}
else {
    return true;
}
//Resto do code
Reply
#7

Quote:
Originally Posted by iDreak
Посмотреть сообщение
pawn Код:
public OnPlayerRequestSpawn(playerid)
{
    if(PlayerLogado[playerid] == false) {
    GameTextForPlayer(playerid,"~n~~n~~n~~r~Logue-se primeiro",3000,4) ;
    return false;
}
else {
    return true;
}
//Resto do code
Não tem OnPlayerRequestSpawn no meu gm, então botei como você mostrou acima deu erro, então botei assim:
pawn Код:
public OnPlayerRequestSpawn(playerid)
{
    if(PlayerLogado[playerid] == false) {
    GameTextForPlayer(playerid,"~n~~n~~n~~r~Logue-se primeiro",3000,4) ;
    return false;
}
    else
{
    GameTextForPlayer(playerid,"~n~~n~~n~~g~Bom Jogo",3000,4) ;
    return true;
}
    return 1;
}
Deu warning 225: unreachable code

Linha:
pawn Код:
return 1;
@edit
troquei:
pawn Код:
if(PlayerLogado[playerid] == false)
por:

pawn Код:
if(PlayerLogado[playerid])
agora funciona certo, só que a warning continua.
Reply
#8

Basta vocк colocar assim:

pawn Код:
public OnPlayerRequestSpawn(playerid)
{
    if(PlayerLogado[playerid] == false) {
        GameTextForPlayer(playerid,"~n~~n~~n~~r~Logue-se primeiro",3000,4) ;
        return false;
    } else {
        GameTextForPlayer(playerid,"~n~~n~~n~~g~Bom Jogo",3000,4) ;
        return true;
    }
}
Reply
#9

pawn Код:
public OnPlayerRequestSpawn(playerid)
{
    if(PlayerLogado[playerid] == false) {
    GameTextForPlayer(playerid,"~n~~n~~n~~r~Logue-se primeiro",3000,4) ;
    return false;
}
    GameTextForPlayer(playerid,"~n~~n~~n~~g~Bom Jogo",3000,4) ;
    return true;
}
Reply
#10

Quote:
Originally Posted by zSuYaNw
Посмотреть сообщение
pawn Код:
public OnPlayerRequestSpawn(playerid)
{
    if(PlayerLogado[playerid] == false) {
    GameTextForPlayer(playerid,"~n~~n~~n~~r~Logue-se primeiro",3000,4) ;
    return false;
}
    GameTextForPlayer(playerid,"~n~~n~~n~~g~Bom Jogo",3000,4) ;
    return true;
}
isso nгo irб funcionar.

Vocк nгo colocou o else entao a callback irб retornar false sempre
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)