SA-MP Forums Archive
[Ajuda] Criar uma variavel de string pra playerid - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Criar uma variavel de string pra playerid (/showthread.php?tid=539814)



Criar uma variavel de string pra playerid - maikons - 30.09.2014

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;
}



Re: Criar uma variavel de string pra playerid - MultiKill - 30.09.2014

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";



Re: Criar uma variavel de string pra playerid - CLANdok - 30.09.2014

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


Re: Criar uma variavel de string pra playerid - DavidCosta - 30.09.2014

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;
}



Re: Criar uma variavel de string pra playerid - maikons - 30.09.2014

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;
            }



Re: Criar uma variavel de string pra playerid - DavidCosta - 01.10.2014

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;
            }



Re: Criar uma variavel de string pra playerid - maikons - 09.10.2014

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!


Re: Criar uma variavel de string pra playerid - DavidCosta - 09.10.2014

De nada jovem, atй a prуxima!