[Ajuda] Botao de spawn
#1

Estou com um problema, que quando o player erra a senha aparece o botгo de spawn e quando o player clica ele dar spawn sem o player logar e o dialog fica na frente, queria saber um jeito de o botгo de spawn aparecer sу quando o player logar jб tentei porйm eu nгo consegui.
Reply
#2

Vocк tem que criar uma funзгo, para que envie uma mensagem e retorne a funзгo do login novamente, qual o sistema de salvamento ?
Reply
#3

em OnPlayerSpawn
Quote:

if(gPlayerLogged[playerid] == 0)
return SendClientMessage(playerid, COLOR_LIGHTRED, " [AVISO] Vocк precisa logar antes do Spawn");

Reply
#4

Obrigado pessoal
Reply
#5

Quote:
Originally Posted by MediaCL
Посмотреть сообщение
em OnPlayerSpawn
Seria melhor fazer isso em OnPlayerRequestSpawn na minha opiniao, que й quando o jogador usa o botao assim o jogador nao da spawn enquanto nao logar.
Reply
#6

Eu fiz assim:

PHP код:
public OnPlayerRequestSpawn(playerid)
{
    if(
Logadoo[playerid] == 0
    {
    
SendClientMessage(playerid, -1"NГO VAI ENTRAR ATЙ REGISTRA/LOGAR");
    return 
0;
    }
    return 
1;

Reply
#7

qual o tipo de salvamento ? que atй dava para fazer sem ele conseguir apertar o "spawn", assim que ele errar a senha, ele vai ter que digitar novamente, caso passe exemplo: 5 tentativas, dava um kick, mais toda vez que ele errar volta para tela de login entendeu ?
Reply
#8

Eu jб fiz, o sistema й mysql.

PHP код:
static Logadoo[MAX_PLAYERS];
public 
OnPlayerConnect(playerid)
{
        
Logadoo[playerid] = 0;
    return 
1;
}
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    
//Local que vai verificar se o que vocк digitou й a senha, se sim, vai acontecer o que estб aн em baixo.
    
{
            
Logadoo[playerid] = 1;
    }        
    return 
1;
}
public 
OnPlayerRequestSpawn(playerid)
{
    if(
Logadoo[playerid] == 0)
    {
    
SendClientMessage(playerid, -1"Registre-se/logue para spawnar!");
    return 
0;
    }
    if(
Logadoo[playerid] == 1)
    {
    return 
1;
    }
    return 
1;

Reply
#9

Base
PHP код:
enum e_PLAYER_INFO
{
    
bool:Logado,
}
new 
    
Player[MAX_PLAYERS][e_PLAYER_INFO];
public 
OnPlayerRequestClass(playeridclassid)
{
    if(!
Player[playerid][Logado])
    {
        
TogglePlayerSpectating(playeridtrue); // esconde o botгo de spawn
        
return true;
    }
    return 
true;
}
public 
OnPlayerSpawn(playerid)
{
    if(!
Player[playerid][Logado])
    {
        
Player[playerid][Logado] = true;
    }
    return 
true;
}
public 
OnPlayerRequestSpawn(playerid)
{
    return 
Player[playerid][Logado];
}
public 
OnPlayerLogin(playerid// Onde serб executado a query de login para carregar as informaзхes/dados do banco de dados.
{
    if(
Player[playerid][Logado])
        return 
false;
    
// Preencha a funзгo abaixo.
    
SetSpawnInfo(playerid0skinxyzrotationweapon1weapon1_ammoweapon2weapon2_ammoweapon3weapon3_ammo); // seta a posiзгo do spawn e +
    
SendClientMessage(playerid, -1"autenticado com sucesso.");
    
TogglePlayerSpectating(playeridfalse); // "spawna" o jogador
    
return true;

Reply
#10

Um Exemplo, quase completo, agora divirta-se

PHP код:
new errado[MAX_PLAYERS];

public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[]){

    new 
string[100];
    switch(
dialogid){
    
        case 
5555:{ //ID do Dialog

            
if(!responseSendClientMessage(playeridSuaCor"Vocк nгo quis Logar por isso foi Kickado!"), SetTimerEx("KickPublic"1000false"i"playerid); // Se der Sair vai ser kickado automaticamente

            
else {

                    if(
strlen(inputtext) < 4){

                        
format(stringsizeof(string), "SEU NOME: %s\n\n\nDigite sua senha para Logar!\n"GetName(playerid)); //Oque vai aparecer no Dialog
                        
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"Servidor"string"Ir""sair"); //Os Botхes
                        
SendClientMessage(playeridCOR_VERMELHO"Sua senha deve ter mais de 4 Digitos!"); //Tem que digitar mais de 4 digitos
                
}
                else
                     
MySqlLogin(playeridinputtext); //Public da Senha
            
}
        }
    }
    return 
1;
}

//MySql Login й a public que seleciona б conta,e depois na public de resposta do mysql

public r@MySQlLogin(playerid){

    new 
rowsfieldsstring[256]; //as news
    
cache_get_data(rowsfieldsMysqlC);

    if(
rowsConta(playerid); //Se б senha for certa chama para cadastrar

    
else { //Se caso nгo existir a senha
        
errrado[playerid] += 1;
        if(
errado[playerid] == 5)
             return 
SendClientMessage(playeridSuaCor"Vocк nгo quis Logar por isso foi Kickado!"), SetTimerEx("KickPublic"1000false"i"playerid); // Se der Sair vai ser kickado automaticamente
        
SendClientMessage(playeridSuaCor"Senha errada, Se errar 5 vezes !"),
        
format(stringsizeof(string), "SEU NOME: %s\n\n\nDigite sua senha para Logar!\n"GetName(playerid));
        
ShowPlayerDialog(playerid5555DIALOG_STYLE_PASSWORD"Servidor"string"Ir""Sair");
    }
    return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)