[Ajuda] OnPlayerSpawn
#1

Oque estб acontecendo й o seguinte, O player se registra e й indexado true em uma variбvel para identificar no Spawn que ele й um player novato e irб para um Spawn diferente. Porйm o Pawn estб pulando estб variavel.
Fiz debug e no debug apareceu que ele entra na chave da variavel sai e entra na else dela O.o

Dialog Registro
PHP код:
    if(dialogid == DIALOG_REGISTRO)
    {
        new 
string[400], file[300];
        
format(filesizeof(file), PASTA_CONTASPlayerName(playerid));
        if(
response)
        {
            if(
strlen(inputtext) <= 7)
            {
                
SendClientMessage(playerid, -1"[LB-RP] Sua senha deve conter no mнnimo{58D3F7} 8 {FFFFFF}caracteres!");
                
format(stringsizeof(string), "{FFFFFF}Olб {58D3F7}%s {FFFFFF}seja bem vindo(a) pela primeira vez em nosso servidor!\n\n{58D3F7}Nick: {FFFFFF}%s\n{58D3F7}Level: {FFFFFF}%d\n{58D3F7}Conta: {FF0000}Nгo Registrada\n\n{FFF300}Insira sua senha para registrar sua conta!"PlayerName(playerid), PlayerName(playerid), DOF2_GetInt(file"Level"));
                
ShowPlayerDialog(playeridDIALOG_REGISTRODIALOG_STYLE_PASSWORD"LostBullets Roleplay - Registro"string"Registrar""Cancelar");
            }
            else
            {
                new 
anomesdiahoraminutossegundos;
                
getdate(anomesdia);
                
gettime(horaminutossegundos);
                
DOF2_CreateFile(file);
                
DOF2_SetInt(file"Level"0);
                
DOF2_SetInt(file"Dinheiro"6000);
                
DOF2_SetString(file"Senha"inputtext);
                
DOF2_SetInt(file"RegistroDia"dia);
                
DOF2_SetInt(file"RegistroMes"mes);
                
DOF2_SetInt(file"RegistroAno"ano);
                
DOF2_SetInt(file"RegistroHora"hora);
                
DOF2_SetInt(file"RegistroMinutos"minutos);
                
DOF2_SetInt(file"RegistroSegundos"segundos);
                
DOF2_SaveFile();
                
PlayerInfo[playerid][pRegistrou] = true;
                
TogglePlayerSpectating(playeridfalse);
                
SpawnPlayer(playerid);
                return 
1;
            }
        }
        else
        {
            
format(stringsizeof(string), "[LB-RP] O(A) player %s foi kickado(a) do servidor por nгo se registrar."PlayerName(playerid));
            
SendClientMessageToAll(0xFF0000AAstring);
            
PlayerTimer[playerid][Bye] = SetTimerEx("KickPlayer"1000false"i"playerid);
        }
    } 
OnPlayerSpawn
PHP код:
public OnPlayerSpawn(playerid)
{
    new 
file[300];
    
format(filesizeof(file), PASTA_CONTASPlayerName(playerid));
    for(new 
07i++) TextDrawHideForPlayer(playeridIntroTD[i]);
    if(
PlayerInfo[playerid][pRegistrou] == true)
    {
        print(
"Entrei registrou");
        
PlayerInfo[playerid][pRegistrou] = false;
        
SetPlayerPos(playerid1714.7008,-1898.6792,13.5666);
        
SetPlayerFacingAngle(playerid0.0000);
        
GivePlayerMoney(playeridDOF2_GetInt(file"Dinheiro"));
        
SetPlayerScore(playeridDOF2_GetInt(file"Level"));
        return 
1;
    }
    else
    {
        print(
"Passei direto");
        
SetPlayerPos(playeridDOF2_GetFloat(file"PosX"), DOF2_GetFloat(file"PosY"), DOF2_GetFloat(file"PosZ"));
    }
    return 
1;

Print do Painel:
Reply
#2

Em OnDialogResponse, remova o SpawnPlayer abaixo do TogglePlayerSpectating.

Quote:

When spectator mode is disabled, OnPlayerSpawn will automatically be called.

Reply
#3

Nгo funcionou zPain, Retirei o SpawnPlayer porйm sу a TooglePlayerSpectating Me kickava do servidor.

Resolvi criando um Timer separado, quando o Player der spawn ativar o timer para liberar outro spawn em 2 segundos.
Reply
#4

nгo se se e isso que vocк precisa
PHP код:
public OnPlayerRequestSpawn(playerid)
{
    if(
pInfo[playerid][StatsSpawn] == 0)
    {
        
SendClientMessage(playeridCOLOR_ERROR"Spere carregar ai Viado!");
        return 
0;
    }
    else
    {
        
SpawnPlayer(playerid);
    }
    return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)