[Ajuda] Criar uma variavel de string pra playerid
#1

Tava tentando atribuir um valor ao jogador em string de acordo com o seu cargo pra facilitar muito minha vida e diminuir meu GM, mas ta dando erro, o que eu fiz de errado?

pawn Код:
forward CargoName(playerid);
public CargoName(playerid)
{
    new org = GetPlayerOrg(playerid);
    if(org == 1 || org == 11 || org == 5 || org == 16 || org == 10 || org == 26)
    {
        if(PlayerInfo[playerid][pCargo] == 1)
        {
            nomecargo[playerid] = "Soldado";
        }
        else if(PlayerInfo[playerid][pCargo] == 2)
        {
            nomecargo[playerid] = "Cabo";
        }
        else if(PlayerInfo[playerid][pCargo] == 3)
        {
            nomecargo[playerid] = "Sargento";
        }
        else if(PlayerInfo[playerid][pCargo] == 4)
        {
            nomecargo[playerid] = "Subtenente";
        }
        else if(PlayerInfo[playerid][pCargo] == 5)
        {
            nomecargo[playerid] = "Segundo-tenente";
        }
        else if(PlayerInfo[playerid][pCargo] == 6)
        {
            nomecargo[playerid] = "Primeiro-tenente";
        }
        else if(PlayerInfo[playerid][pCargo] == 7)
        {
            nomecargo[playerid] = "Capitгo";
        }
        else if(PlayerInfo[playerid][pCargo] == 8)
        {
            nomecargo[playerid] = "Major";
        }
        else if(PlayerInfo[playerid][pCargo] == 9)
        {
            nomecargo[playerid] = "Tenente-coronel";
        }
        else if(PlayerInfo[playerid][pCargo] == 10)
        {
            nomecargo[playerid] = "Tenente-coronel";
        }
    }
   
    return 1;
}
Reply
#2

Que eu saiba nгo hб como fazer isto, sу usando um enumerador.
pawn Код:
enum ex
{
    string[4]
}
new Exemplo[MAX_PLAYERS][ex];


Exemplo[playerid][string] = "eae";
Reply
#3

Cara, Usa Switch, Bem melhor que fazer 10 if's
Reply
#4

Que tal assim:
pawn Код:
static stock GetPlayerCargo(playerid)
{
    new org = GetPlayerOrg(playerid);
    new cargo = PlayerInfo[playerid][pCargo];
    new cargoname[40];
    switch(org)
    {
        case 1, 5, 10, 11, 16, 26:
        {
            switch(cargo)
            {
                case 1:cargoname = "Soldado";
                case 2:cargoname = "Cabo";
                case 3:cargoname = "Sargento";
                case 4:cargoname = "Subtenente";
                case 5:cargoname = "Segundo-tenente";
                case 6:cargoname = "Primeiro-tenente";
                case 7:cargoname = "Capitгo";
                case 8:cargoname = "Major";
                case 9:cargoname = "Tenente-coronel";
                case 10:cargoname = "Tenente-coronel";
            }
        }
        default: cargoname = "Nenhum";
    }
    return cargoname;
}
Reply
#5

Obrigado pela ajuda pessoal, melhorou mt o codigo, mas n to conseguindo fazer pra isso ser um valor global

DavidCosta
Do teu jeito ficou perfeito, mas ai eu ia ter q chamar essa funзгo toda vez em cada comando, o que eu queria fazer era um valor global pra cada playerid entende?
Mas valeu pelo switch

Com as dicas do pessoal eu fiz assim, mas ta dando varios erros de sintaxe parece
pawn Код:
enum cnex
{
    cargstring[40]
}
new cargoname[MAX_PLAYERS][cnex];
pawn Код:
static stock CargoName(playerid)
{
    new org = GetPlayerOrg(playerid);
    new cargo = PlayerInfo[playerid][pCargo];
    switch(org)
    {
        case 1, 5, 10, 11, 16, 26:
        {
            switch(cargo)
            {
                case 1:cargoname[playerid][cargstring] = "Soldado";
                case 2:cargoname[playerid][cargstring] = "Cabo";
                case 3:cargoname[playerid][cargstring] = "Sargento";
                case 4:cargoname[playerid][cargstring] = "Subtenente";
                case 5:cargoname[playerid][cargstring] = "Segundo-tenente";
                case 6:cargoname[playerid][cargstring] = "Primeiro-tenente";
                case 7:cargoname[playerid][cargstring] = "Capitгo";
                case 8:cargoname[playerid][cargstring] = "Major";
                case 9:cargoname[playerid][cargstring] = "Tenente-coronel";
                case 10:cargoname[playerid][cargstring] = "Tenente-coronel";
            }
        }
        default: cargoname[playerid][cargstring] = "Nenhum";
    }
    return cargoname[playerid][cargstring];
}
pawn Код:
public OnPlayerSpawn(playerid)
{
    CargoName(playerid);
pawn Код:
if(PlayerInfo[playerid][pMembro] == 1 || PlayerInfo[playerid][pLider] == 1)
            {
                format(string, sizeof(string), "** %s- %s: %s, over. **", cargoname[playerid][string], sendername, result);
                SendFamilyMessage(1,COLOR_R,string);
                printf("%s", string);
                format(string, sizeof(string), "%s (rбdio): %s", sendername, result);
                ProxDetector(20.0, playerid, string, COLOR_GREY,COLOR_GREY,COLOR_GREY,COLOR_GREY,COLOR_GREY);
                return 1;
            }
Reply
#6

Do jeito que eu fiz pode ser usado assim:
pawn Код:
if(PlayerInfo[playerid][pMembro] == 1 || PlayerInfo[playerid][pLider] == 1)
            {
                format(string, sizeof(string), "** %s- %s: %s, over. **", GetPlayerCargo(playerid), sendername, result);
                SendFamilyMessage(1,COLOR_R,string);
                printf("%s", string);
                format(string, sizeof(string), "%s (rбdio): %s", sendername, result);
                ProxDetector(20.0, playerid, string, COLOR_GREY,COLOR_GREY,COLOR_GREY,COLOR_GREY,COLOR_GREY);
                return 1;
            }
Reply
#7

Quote:
Originally Posted by DavidCosta
Посмотреть сообщение
Do jeito que eu fiz pode ser usado assim:
pawn Код:
if(PlayerInfo[playerid][pMembro] == 1 || PlayerInfo[playerid][pLider] == 1)
            {
                format(string, sizeof(string), "** %s- %s: %s, over. **", GetPlayerCargo(playerid), sendername, result);
                SendFamilyMessage(1,COLOR_R,string);
                printf("%s", string);
                format(string, sizeof(string), "%s (rбdio): %s", sendername, result);
                ProxDetector(20.0, playerid, string, COLOR_GREY,COLOR_GREY,COLOR_GREY,COLOR_GREY,COLOR_GREY);
                return 1;
            }
Nгo to conseguindo te dar rep, mas obrigadгo mano, desculpe a demora!
Reply
#8

De nada jovem, atй a prуxima!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)