[Pedido] Selecionar Char pela callback RequestClass
#1

Pessoal, eu mexi tanto com Gamemode de RPG, que me esqueci agora como mexe com a callback OnPlayerRequestClass, Alguem poderia fazer um favor e criar um sistema simples da callback, com Grupos e cada grupo com suas skins. Sу de base. Obrigado! , +REP quem ajudar
Reply
#2

https://sampwiki.blast.hk/wiki/OnPlayerRequestClass
Reply
#3

Jб fui na wiki , nao tem mais aquela explicaзao da callback.

Por isso tou pedindo um exemplo.

Quero um exemplo tipo asimm

Seleзгo de Grupos

Grupo 1 -- > 3 skin

Grupo 2 --> outras 3 skin

Tipo isso entende?
Reply
#4

Ok, vamos lб!

primeiramente vocк deve adicionar as skins que queira, lembre-se que os ID das classes vгo ser atribuidos de acordo com a sequкncia que vocк adicionar.

Para isso vocк deverб usar a funзгo AddPlayerClass em OnGameModeInit

PHP код:
public OnGameModeInit()
{
    
// skins para a equipe ALFA
    //Class 0:
    
AddPlayerClass(2850.00.00.00.0000000);
    
//Class 1:
    
AddPlayerClass(2800.00.00.00.0000000);
    
// skins para a equipe BRAVO
    //Class 2:
    
AddPlayerClass(1000.00.00.00.0000000);
    
//Class 3:
    
AddPlayerClass(1210.00.00.00.0000000);
    return 
1;

Em OnPlayerRequestClass, o parвmetro classid vai receber o id da skin que vocк visualiza na tela quando se conecta/muda pelas setinhas.

Sabendo-se disso dб para se fazer o quк vocк quer:

PHP код:
public OnPlayerRequestClass(playeridclassid)
{
    new 
string_[50], equipe_[50];
    
    if(
classid <= 1equipe_ "ALFA";
    else if(
classid >= 2equipe_ "BRAVO";
    
    
format(string_50"classid: %02i | equipe: %s"classidequipe_);
    
SendClientMessage(playerid, -1string_);
    return 
1;

Espero que tenha entendido.

Cumprimentos.
Reply
#5

Olha, eu atй entendi, ai eu fiz assim no meu

pawn Код:
public OnGameModeInit()
{
    SetGameModeText("Blank Script");
    AddPlayerClass(280, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    AddPlayerClass(107, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    AddPlayerClass(104, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    AddPlayerClass(109, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    AddPlayerClass(115, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    return 1;
}
pawn Код:
public OnPlayerRequestClass(playerid, classid)
{
    SetPlayerPos(playerid, 2141.9072,-1038.2037,70.9141);
    SetPlayerCameraPos(playerid, 2145.6262,-1036.9430,70.9141);
    SetPlayerCameraLookAt(playerid, 2141.9072,-1038.2037,70.9141);
    new string[128];
    PlayerPlaySound(playerid, 1187, 0.0, 0.0, 0.0);
    if (classid == 1)
    {
            format(string, sizeof(string), "~b~Governo");
            GameTextForPlayer(playerid,string,3500,6);

    }
    else if (classid == 2)
    {
            format(string, sizeof(string), "~g~~h~Groove Street");
            GameTextForPlayer(playerid,string,3500,6);

    }
    else if (classid == 3)
    {
            format(string, sizeof(string), "~p~Front Yard Ballas");
            GameTextForPlayer(playerid,string,3500,6);

    }
    else if (classid == 4)
    {
            format(string, sizeof(string), "~y~~h~Los Santos Vagos");
            GameTextForPlayer(playerid,string,3500,6);

    }
    else if (classid == 5)
    {
            format(string, sizeof(string), "~g~~h~Varrios Los Aztecas");
            GameTextForPlayer(playerid,string,3500,6);

    }
    return 1;
}
E A Skin 280 que й para ser do grupo "GOVERNO", ela nгo estб definida para nenhum grupo, por que ?
Reply
#6

Primeiramente vocк nгo precisa usar format para exibir o gametext. Pode-se usar diretamente a string na funзгo:

PHP код:
GameTextForPlayer(playerid"~b~Governo"35006); 
e o erro ocorreu pois como eu disse, o primeiro id comeзa do 0 e nгo do 1, basta trocar os valores e tudo vai funcionar.



Cumprimentos.
Reply
#7

Eu uso assim

pawn Код:
if(classid >= 0 && classid <= 162) // Assim da Skin 0 atй a skin 162
    {
        GameTextForPlayer(playerid,"~g~Humanos Sobreviventes",5000,6);
        gTeam[playerid] = TEAM_HUMAN;
    }
Marcando na init
pawn Код:
AddPlayerClass
Reply
#8

class id й o numero da skin? Nгo tem como criar 2 grupos diferentes com a mesma skin?
Reply
#9

Nгo me lembro se utilizei 2 skins em grupos diferente, mas acho que usei sim, faзa o teste..
Reply
#10

Vocк pode usar https://sampwiki.blast.hk/wiki/AddPlayerClassEx.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)