Portal SAMP
[Ajuda] Tela login - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Tela login (/showthread.php?tid=2875)



Tela login - Everton Leandro - 09/10/2022

Opa eu sou novo aq no Samp e tipo eu fiz uma tela login e ela tá funcionando normalmente mais tem um problema q quando eu entro no servidor tem um botão com nome spawn na parte inferior da tela e tipo se eu clicar nesse botão o player spawna sem colocar a senha e depois e só clicar esc pra remover a tela login na tela do player resumindo com esse problema e possível q as pessoas possam acessar as contas de outras pessoas aí eu queria saber se alguém sabe alguma maneira de tipo bloquear o spawn através desse botão exemplo clicar nesse botão levar kick ou sei lá


RE: Tela login - Sants - 09/10/2022

Olá, creio que essa função irá te ajudar:

Código PHP:
TogglePlayerSpectating(playeridtoggle); 



RE: Tela login - Device-Black - 09/10/2022

Basta retornar 0 em OnPlayerRequestClass e OnPlayerRequestSpawn, assim o jogador não spawna
Coloque tempo no login do jogador, caso ele não logue em tantos segundos kicke-o

Código PHP:
new tempo[MAX_PLAYERS], bool:emlogin[MAX_PLAYERS];

// ao entrar no servidor
emlogin[playerid] = true;
tempo[playerid] = gettime() + 150;

// ao logar na conta
emlogin[playerid] = false;

public 
OnPlayerUpdate(playerid)
{
    if(
emlogin[playerid])
    {
        if(
gettime() > tempo[playerid])
        {
            
SendClientMessage(playerid, -1"Voce nao logou a tempo!");
            
SetTimerEx("OnPlayerKick"1500"d"playerid);
            
emlogin[playerid] = false;
        }
    }
    
    return 
1;
}

public 
OnPlayerRequestClass(playeridclassid)
{
    return 
0;
}

public 
OnPlayerRequestSpawn(playerid)
{
    return 
0;
}

forward OnPlayerKick(playerid);
public 
OnPlayerKick(playerid)
{
    return 
Kick(playerid);