[Ajuda] OnPlayerRequestClass
#1

Tipo quando a pessoa loga no servidor e faz login, chama a callback OnPlayerRequestClass...

E queria fazer o seguinte: Se a skin do player no .ini for maior ou igual a "1" , ai pula a callback OnPlayerRequestClass e da spawn direto?

Eu coloquei o seguinte:

pawn Code:
public OnPlayerRequestClass(playerid,classid)
{
    if(skine[playerid] >= 1) //coloquei isso
    {
        OnPlayerSpawn(playerid);
        return 1;
    }
    SetPlayerPos(playerid,251.0581,-63.1020,11.7210);
    SetPlayerFacingAngle(playerid,356.9788);
    SetPlayerCameraPos(playerid,251.0978,-60.9160,14.7210);
    SetPlayerCameraLookAt(playerid,251.0581,-63.1020,11.7210);
    new a[20];
    format(a,20,"~r~Skin: ~w~%d",classid);
    GameTextForPlayer(playerid,a,3000,6);
    skine[playerid] = classid;
    return 1;
}
Funcionou perfeitamente, mas acontece que ainda fica as setinhas e o botгo "spawn" lб em baixo, e o player tem que apertar spawn pra poder realmente dar spawn...
Reply
#2

Poem return 0; em baixo do OnPlayerSpawn
Reply
#3

Quote:
Originally Posted by Juniiro3
View Post
Poem return 0; em baixo do OnPlayerSpawn
Se eu colocar return 0; ai o botгo "Spawn" nгo faz efeito nenhum, clica mas nгo acontece nada...
Reply
#4

pхe
pawn Code:
return SpawnPlayer(playerid);
Reply
#5

Caso dele der errado. TENTE assim:
pawn Code:
return 0;
            }
        }
        return 1;
    }
Reply
#6

Jб tinha tentado desse jeito ai que vocкs falaram, e nenhum deles funcionaram :S
Reply
#7

pawn Code:
public OnPlayerRequestClass(playerid,classid)
{
    if(skine[playerid] >= 1) return OnPlayerSpawn(playerid);
    SetPlayerPos(playerid,251.0581,-63.1020,11.7210);
    SetPlayerFacingAngle(playerid,356.9788);
    SetPlayerCameraPos(playerid,251.0978,-60.9160,14.7210);
    SetPlayerCameraLookAt(playerid,251.0581,-63.1020,11.7210);
    new a[20];
    format(a,20,"~r~Skin: ~w~%d",classid);
    GameTextForPlayer(playerid,a,3000,6);
    skine[playerid] = classid;
    return 1;
}
Reply
#8

@willttoonn

Jб tinha tentado dessa forma tambйm e nгo pegou, msm assim estб tendo que apertar "spawn" pra pro "OnPlayerSpawn(playerid);" funcionar :/
Reply
#9

Tentaкh:

pawn Code:
public OnPlayerConnect(playerid)
{
    if(GetPlayerSkin(playerid) > 0) return SpawnPlayer(playerid), 1;
    return 1;
}
Reply
#10

Nгo tem como spawnar o player chamando a callback OnPlayerSpawn, tente a funзгo SpawnPlayer(playerid);
Reply
#11

Vocк nгo mudaram nada, pegaram a funзгo que adicionei e mudaram a posiзгo...

Creio que esteja na Callback errada!
pawn Code:
public OnPlayerRequestSpawn(playerid)
{
    if(skine[playerid] >= 1)
    {
        return OnPlayerSpawn(playerid);
    }
    SetPlayerPos(playerid,251.0581,-63.1020,11.7210);
    SetPlayerFacingAngle(playerid,356.9788);
    SetPlayerCameraPos(playerid,251.0978,-60.9160,14.7210);
    SetPlayerCameraLookAt(playerid,251.0581,-63.1020,11.7210);

    new a[20];
    format(a,20,"~r~Skin: ~w~%d",classid);
    GameTextForPlayer(playerid,a,3000,6);
    skine[playerid] = classid;
}
Reply
#12

Tentei todos e nгo obtive sucesso :S
Reply
#13

PHP Code:
public OnPlayerRequestSpawn(playerid)
{
    if(
skine[playerid] >= 1)
    {
        return 
SpawnPlayer(playerid);
    } else {
        
SetPlayerPos(playerid,251.0581,-63.1020,11.7210);
        
SetPlayerFacingAngle(playerid,356.9788);
        
SetPlayerCameraPos(playerid,251.0978,-60.9160,14.7210);
        
SetPlayerCameraLookAt(playerid,251.0581,-63.1020,11.7210);
        new 
a[20];
        
format(a,20,"~r~Skin: ~w~%d",classid);
        
GameTextForPlayer(playerid,a,3000,6);
        
skine[playerid] = classid;
    }

Reply
#14

Tenta usar SetSpawnInfo antes.
Reply
#15

Valeu galera pela ajuda, depois de tanto quebrar a cabeзa decidi fazer o seguinte:

pawn Code:
public OnPlayerRequestClass(playerid,classid)
{
    if(Player[playerid][matou] >= 1)
    {
    SetSpawnInfo(playerid,0,skine[playerid],0,0,0,0,0,0,0,0,0,0);
    SpawnPlayer(playerid);
    }
    else
    {
    SetPlayerPos(playerid,251.0581,-63.1020,11.7210);
    SetPlayerFacingAngle(playerid,356.9788);
    SetPlayerCameraPos(playerid,251.0978,-60.9160,11.7210);
    SetPlayerCameraLookAt(playerid,251.0581,-63.1020,11.7210);
    new a[20];
    format(a,20,"~r~Skin: ~w~%d",classid);
    GameTextForPlayer(playerid,a,3000,6);
    skine[playerid] = classid;
    }
    return 1;
}
Mas ai apareceu um bug pros players novos que iam registrar a conta, e depois fazer login... Ai coloquei pra depois que digitar a senha pra registrar a conta jб fazer login automaticamente e resolveu o bug!

#Noix o/
Reply
#16

Testado por mim e aprovado !

Se nгo funcionar.. й erro aн com o seu pc...

pawn Code:
public OnPlayerConnect(playerid)
{
    SetTimerEx("pSpawn", 400, false, "i", playerid);
    return 1;
}

forward pSpawn(playerid);
public pSpawn(playerid)
{
    SpawnPlayer(playerid);
    return 1;
}
Reply
#17

acho que so assim

pawn Code:
public OnPlayerRequestClass(playerid,classid)
{
    SetPlayerPos(playerid,251.0581,-63.1020,11.7210);
    SetPlayerFacingAngle(playerid,356.9788);
    SetPlayerCameraPos(playerid,251.0978,-60.9160,14.7210);
    SetPlayerCameraLookAt(playerid,251.0581,-63.1020,11.7210);
    new a[20];
    format(a,20,"~r~Skin: ~w~%d",classid);
    GameTextForPlayer(playerid,a,3000,6);
    skine[playerid] = classid;
    SpawnPlayer(playerid);
    return 0;
}
da
Reply
#18

Poderia tentar assim e um metodo que tambem pode funcionar!

PHP Code:
public OnPlayerRequestClass(playerid,classid)
{
    if(
skine[playerid] != 1)
    {
          
SetPlayerPos(playerid,251.0581,-63.1020,11.7210);
          
SetPlayerFacingAngle(playerid,356.9788);
          
SetPlayerCameraPos(playerid,251.0978,-60.9160,14.7210);
          
SetPlayerCameraLookAt(playerid,251.0581,-63.1020,11.7210);
          new 
a[20];
          
format(a,20,"~r~Skin: ~w~%d",classid);
          
GameTextForPlayer(playerid,a,3000,6);
          
skine[playerid] = classid;
          return 
1;
    }
    else 
OnPlayerSpawn(playerid);
    return 
1;

Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)