[AJUDA] Org
#1

Olб pessoal sou eu de novo precisando de ajuda pra ajeitar as orgs do meu server, eu queria botar tipo quando eu promovesse alguйm aparece o Cargo dele EXlvl 1 Soldado, lvl 2 Sargento, lvl 3 tenente, lvl 4 major, lvl 5 coronel, lvl 6 comandante geral) e tambйm colocar carros sу para orgs, ai quando um player de outra gang entra no carro aparecer mensagem ex: (este carro й da gang Yakuza vc nao pode entrar) e tipo bloquear os comandos de /convidar so para lvl 5 e 6 e o de /demitir e /promover so para o 6, e tb salarios de cargos EXlvl 1 Soldao recebe 1000, lvl 2 sargento 2000 e etc.) Olha ai meus code:

[panw]new org[MAX_PLAYERS];
new CargoOrg[MAX_PLAYERS];[/pawn]

pawn Код:
#define C_OPM   0x33CCFFAA
#define C_YKZ      0xFF0000AA
pawn Код:
#define OPM  61
#define YK  62
pawn Код:
#define Salario_OPM 4000
#define Salario_YKZ 4000
pawn Код:
if(strcmp(cmd, "/convidar", true) == 0)
    {
        new tmp[256];
        new PlayerB;
        tmp = strtok(cmdtext, idx); // si der erro aki, undefinide idx, coloque new idx; antes dessa linha.
        if(!strlen(tmp)) return SendClientMessage(playerid, Branco, "Uso correto: /convidar [id]");
        PlayerB = strval(tmp);
        if(!IsPlayerConnected(PlayerB)) return SendClientMessage(playerid, Branco, "Este jogador nгo estб conectado");
        if(org[playerid] == OPM && CargoOrg[playerid] == 6) //aki verifica se й da OPM e se й cargo 6 lider.
        {
            org[PlayerB] = OPM; //seta pro outro cara a mesma org
            CargoOrg[PlayerB] = 1; // seta pro outro cara o cargo 1
            SendClientMessage(PlayerB, Branco, "Vocк entrou na Polнcia Militar");
            SetPlayerColor(PlayerB, C_OPM);
            return 1;
        }
        else
        if(org[playerid] == YKZ && CargoOrg[playerid] == 6)
            {
                org[PlayerB] = YKZ;
                CargoOrg[PlayerB] = 1;
                SendClientMessage(PlayerB, Branco, "Vocк entrou na Yakuza");
                SetPlayerColor(PlayerB, C_YKZ);
                return 1;
            }
        return 1;
    }

if(strcmp(cmd, "/promover", true) == 0)
    {
        new tmp[256];
        new cargo[256],PlayerB, level, promovedor[24];
        tmp = strtok(cmdtext, idx);
        cargo = strtok(cmdtext, idx);
        if(!strlen(tmp) || !strlen(cargo)) return SendClientMessage(playerid, VERMELHO, "Uso correto: /promover [id] [cargo]");

        PlayerB = strval(tmp), level = strval(cargo);
        if(!IsPlayerConnected(PlayerB)) return SendClientMessage(playerid, VERMELHO, "Este jogador nгo estб conectado");
        if(level < 1 || level > 6) return SendClientMessage(playerid, VERMELHO, "O level deve ser maior que 0 e menor que 7");
        GetPlayerName(playerid, promovedor, sizeof(promovedor));

        if(org[playerid] == org[PlayerB])
        {
            CargoOrg[PlayerB] = level;
            format(string, sizeof(string), "Vocк foi promovido a level %d por %s", level, promovedor);
            SendClientMessage(PlayerB, GREEN, string);
        }
        else
            {
                return SendClientMessage(playerid, Branco, "Este jogador nгo й da sua org");
            }
        return 1;
    }


    if(strcmp(cmd, "/demitir", true) == 0)
    {
        new tmp[256];
        new PlayerB, promovedor[24];
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)) return SendClientMessage(playerid, VERMELHO, "Uso correto: /demitir [id]");

        PlayerB = strval(tmp);
        if(!IsPlayerConnected(PlayerB)) return SendClientMessage(playerid, VERMELHO, "Este jogador nгo estб conectado");
        GetPlayerName(playerid, promovedor, sizeof(promovedor));

        if(org[playerid] == org[PlayerB])
        {
            CargoOrg[PlayerB] = 0;
            org[PlayerB] = 0;
            format(string, sizeof(string), "Vocк foi demitido por %s",promovedor);
            SendClientMessage(PlayerB, GREEN, string);
        }
        else
            {
                return SendClientMessage(playerid, Branco, "Este jogador nгo й da sua org");
            }
        return 1;
    }
pawn Код:
if(dini_Int(file, "Profissao") == YKZ){
SendClientMessage(playerid, C_YKZ,"~~~~~~~~~~~~~~ [ORG] Yakuza [ORG] ~~~~~~~~~~~~~~");
SendClientMessage(playerid, VERMELHO,"/venderak [id] - /venderm4 [id]");
SendClientMessage(playerid, VERMELHO,"/venderswanoff [id - /vendersniper [id]");
SendClientMessage(playerid, VERMELHO,"/vendertec [id");
SendClientMessage(playerid, VERMELHO,"/plantarbomba");
SendClientMessage(playerid, VERMELHO,"/manualykz - /objetivoykz");
SendClientMessage(playerid, VERMELHO,"/regrasykz");
SendClientMessage(playerid, VERMELHO,"/Cargosykz");
SendClientMessage(playerid, VERMELHO,"/hqyakuza");
SendClientMessage(playerid, VERMELHO,"/cykz - Chat da Org.");
SendClientMessage(playerid, C_YKZ,"~~~~~~~~~~~~~~ [ORG] Yakuza [ORG] ~~~~~~~~~~~~~~");
}
return 1;
}
pawn Код:
if(dini_Int(file, "Profissao") == OPM){
SendClientMessage(playerid, C_OPM,"~~~~~~~~~~~~~~ [ORG] Policнa Militar [ORG] ~~~~~~~~~~~~~~");
SendClientMessage(playerid, azul,"/pegararmas [id] - /paradoai [ID]");
SendClientMessage(playerid, azul,"/algemar [id], /desalgemar [id]");
SendClientMessage(playerid, azul,"/prender [id] - /rondaspm");
SendClientMessage(playerid, azul,"/ad - /fd");
SendClientMessage(playerid, azul,"/ad2 - /fd2");
SendClientMessage(playerid, azul,"/regraspm - /regraspm2");
SendClientMessage(playerid, azul,"/objetivopm - /manualpm");
SendClientMessage(playerid, azul,"/cpm - Chat org.");
SendClientMessage(playerid, C_OPM,"~~~~~~~~~~~~~~ [ORG] Polнcia Militar [ORG] ~~~~~~~~~~~~~~");
}
Valendo +REP, porfavor ajudem.
Reply
#2

forward ShowStats(playerid,targetid);

pawn Код:
public ShowStats(playerid,targetid)
{
    if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
    {
        new orgtext[64];
        if(org[playerid] == OPM)
        {
            if(PlayerInfo[targetid][CargoOrg] == 1) { orgtext= "Cadete"; }
            else if(PlayerInfo[targetid][CargoOrg] == 2) { orgtext = "Cabo"; }
            else if(PlayerInfo[targetid][CargoOrg] == 3) { orgtext= "Sargento"; }
            else if(PlayerInfo[targetid][CargoOrg] == 4) { orgtext= "Tenente"; }
            else if(PlayerInfo[targetid][CargoOrg] == 5) { orgtext= "Capitгo"; }
                    else if(PlayerInfo[targetid][CargoOrg] == 6) { orgtext= "Comandante"; }
            else { orgtext= "Soldado"; }
        }
        else
        {
            orgtext= "Nenhum";
        }
    }
}
implante isso no seu sistema.
Reply
#3

deu esse erro
pawn Код:
C:\Documents and Settings\Peu Menezes\Desktop\samp03dsvr_R2_win32\gamemodes\BTG.pwn(20923) : error 001: expected token: ")", but found "["
C:\Documents and Settings\Peu Menezes\Desktop\samp03dsvr_R2_win32\gamemodes\BTG.pwn(20923) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Peu Menezes\Desktop\samp03dsvr_R2_win32\gamemodes\BTG.pwn(20923) : warning 215: expression has no effect
C:\Documents and Settings\Peu Menezes\Desktop\samp03dsvr_R2_win32\gamemodes\BTG.pwn(20923) : error 001: expected token: ";", but found "]"
C:\Documents and Settings\Peu Menezes\Desktop\samp03dsvr_R2_win32\gamemodes\BTG.pwn(20923) : fatal error 107: too many error messages on one line
Linha:
pawn Код:
if(org[targetid][CargoOrg] == 1) { orgtext= "Soldado"; }
sera se foi pq bugou com a linha
pawn Код:
else { orgtext= "Soldado"; }
Reply
#4

retire else { orgtext= "Soldado"; }
Reply
#5

continua o mermo erro
Reply
#6

alguйm ai me ajuda por favor !!!
Reply
#7

eu fiz assim e funcionou

pawn Код:
forward ShowStats(playerid,targetid);
public ShowStats(playerid,targetid)
{
    if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
    {
        new orgtext[64];
        if(org[playerid] == OPM)
        {
            if(CargoOrg[targetid] == 1) { orgtext= "Soldado"; }
            else if(CargoOrg[targetid] == 2) { orgtext = "Sargento"; }
            else if(CargoOrg[targetid] == 3) { orgtext= "Tenente"; }
            else if(CargoOrg[targetid] == 4) { orgtext= "Major"; }
            else if(CargoOrg[targetid] == 5) { orgtext= "Coronel"; }
            else if(CargoOrg[targetid] == 6) { orgtext= "Comandante Geral"; }
        }
        else
        {
            orgtext= "Nenhum";
        }
    }
}
agora como boto salario para cada cargo, skyn para cada cargo.
Reply
#8

Cara, leia as regras..

https://sampforum.blast.hk/showthread.php?tid=267034

vocк vai acabar levando ban..

ja te dei a base nos comandos ai, se vc ler da pra fazer oq vc pediu...

exemplo, /convidar so pra lvl 5 ou 6 de cargo..

bastaria trocar essa linha:
pawn Код:
if(org[playerid] == OPM && CargoOrg[playerid] == 6)
if(org[playerid] == YKZ && CargoOrg[playerid] == 6)
por essa:

pawn Код:
if(org[playerid] == OPM && CargoOrg[playerid] >= 5)
if(org[playerid] == YKZ && CargoOrg[playerid] >= 5)
isso faria q tanto, o membro com cargo, 5 ou 6 pudesce usar o comando.

----------
vc queria q aparecece o cargo dele onde??

----------

os veiculos, baseados neste topico:

https://sampforum.blast.hk/showthread.php?tid=270889

pawn Код:
// no OnGameModeInit
new VeiculoYakusa[5];

VeiculoYakusa[0] = CreateVehicle(modelo, X, Y, Z, Rotaзгo, Cor1, Cor2, RespawnDelay); //Veiculo numero 0
VeiculoYakusa[1] = CreateVehicle(modelo, X, Y, Z, Rotaзгo, Cor1, Cor2, RespawnDelay); //Veiculo numero 1
VeiculoYakusa[2] = CreateVehicle(modelo, X, Y, Z, Rotaзгo, Cor1, Cor2, RespawnDelay); //Veiculo numero 2
VeiculoYakusa[3] = CreateVehicle(modelo, X, Y, Z, Rotaзгo, Cor1, Cor2, RespawnDelay); //Veiculo numero 3
VeiculoYakusa[4] = CreateVehicle(modelo, X, Y, Z, Rotaзгo, Cor1, Cor2, RespawnDelay); //Veiculo numero 4


//depois no OnPlayerStateChange

if(newstate == PLAYER_STATE_DRIVER) VerificarVeiculo(playerid);

// no final do gm

forward VerificarVeiculo(playerid);
public VerificarVeiculo(playerid)
{
    for(new c = 0; c <= 4; c++)
    {
        if(IsPlayerInVehicle(playerid, VeiculoYakusa[c]) && org[playerid] != YKZ )
        {
            SendClientMessage(playerid, Branco, "Vocк nгo й da Yakuza, portanto Vaza!!!");
            RemovePlayerFromVehicle(playerid);
            return 1;
        }
    }
    return 1;
}
----------------------

e no /demitir e /promover
pawn Код:
if(CargoOrg[playerid] != 6) return SendClientMessage(playerid, -1, "Oww presta tenзгo.. vc ainda nгo й lider");
Reply
#9

amigo e como faзo o skin tipo cada lvl ter um skin diferente e tb essa parta do promover

pawn Код:
if(strcmp(cmd, "/promover", true) == 0)
    {
        new tmp[256];
        new cargo[256],PlayerB, level, promovedor[24];
        tmp = strtok(cmdtext, idx);
        cargo = strtok(cmdtext, idx);
        if(!strlen(tmp) || !strlen(cargo)) return SendClientMessage(playerid, VERMELHO, "Uso correto: /promover [id] [cargo]");

        PlayerB = strval(tmp), level = strval(cargo);
        if(!IsPlayerConnected(PlayerB)) return SendClientMessage(playerid, VERMELHO, "Este jogador nгo estб conectado");
        if(level < 1 || level > 6) return SendClientMessage(playerid, VERMELHO, "O level deve ser maior que 0 e menor que 7");
        GetPlayerName(playerid, promovedor, sizeof(promovedor));

        if(org[playerid] == org[PlayerB])
        {
            CargoOrg[PlayerB] = level;
            format(string, sizeof(string), "Vocк foi promovido a level %d por %s", level, promovedor);
            SendClientMessage(PlayerB, GREEN, string);
        }
        else
            {
                return SendClientMessage(playerid, Branco, "Este jogador nгo й da sua org");
            }
        return 1;
    }
essa parte ao ivez disso aparecer vc foi promovido a soldado, vc foi promovido a comandante etc.
pawn Код:
Vocк foi promovido a level %d por %s
Reply
#10

Quote:
Originally Posted by peumenezes
Посмотреть сообщение
amigo e como faзo o skin tipo cada lvl ter um skin diferente e tb essa parta do promover

pawn Код:
if(strcmp(cmd, "/promover", true) == 0)
    {
        new tmp[256];
        new cargo[256],PlayerB, level, promovedor[24];
        tmp = strtok(cmdtext, idx);
        cargo = strtok(cmdtext, idx);
        if(!strlen(tmp) || !strlen(cargo)) return SendClientMessage(playerid, VERMELHO, "Uso correto: /promover [id] [cargo]");

        PlayerB = strval(tmp), level = strval(cargo);
        if(!IsPlayerConnected(PlayerB)) return SendClientMessage(playerid, VERMELHO, "Este jogador nгo estб conectado");
        if(level < 1 || level > 6) return SendClientMessage(playerid, VERMELHO, "O level deve ser maior que 0 e menor que 7");
        GetPlayerName(playerid, promovedor, sizeof(promovedor));

        if(org[playerid] == org[PlayerB])
        {
            CargoOrg[PlayerB] = level;
            format(string, sizeof(string), "Vocк foi promovido a level %d por %s", level, promovedor);
            SendClientMessage(PlayerB, GREEN, string);
        }
        else
            {
                return SendClientMessage(playerid, Branco, "Este jogador nгo й da sua org");
            }
        return 1;
    }
essa parte ao ivez disso aparecer vc foi promovido a soldado, vc foi promovido a comandante etc.
pawn Код:
Vocк foi promovido a level %d por %s
substitui seu comando por esse:

pawn Код:
if(strcmp(cmd, "/promover", true) == 0)
    {
        new cargo[256],PlayerB, level, promovedor[24], tmp[256], ;
        tmp = strtok(cmdtext, idx);
        cargo = strtok(cmdtext, idx);
       
        if(!strlen(tmp) || !strlen(cargo)) return SendClientMessage(playerid, VERMELHO, "Uso correto: /promover [id] [cargo]");

        PlayerB = strval(tmp), level = strval(cargo);
       
        if(CargoOrg[playerid] < 6) return SendClientMessage(playerid, -1, "Oww presta tenзгo.. vc ainda nгo й lider");
        if(!IsPlayerConnected(PlayerB)) return SendClientMessage(playerid, VERMELHO, "Este jogador nгo estб conectado");
        if(level < 1 || level > 6) return SendClientMessage(playerid, VERMELHO, "O level deve ser maior que 0 e menor que 7");
        GetPlayerName(playerid, promovedor, sizeof(promovedor));

       
        if(org[playerid] == org[PlayerB])
        {
            CargoOrg[PlayerB] = level;
            format(string, sizeof(string), "Vocк foi promovido ao Cargo de %s por %s", cargos(org[playerid],level), promovedor);
            SendClientMessage(PlayerB, GREEN, string);
        }
        else
            {
                return SendClientMessage(playerid, Branco, "Este jogador nгo й da sua org");
            }
        return 1;
    }
   
// no final do gm


stock cargos(org,cargo)
{
    new meucargo[50];
   
    switch(org)
    {
        case 1: // supondo que 1 fosse PM
        {
            switch(cargo)
            {
                case 1: meucargo = "Soldado";
                case 2: meucargo = "Sargento";
                case 3: meucargo = "Tenente";
                case 4: meucargo = "Major";
                case 5: meucargo = "Coronel";
                case 6: meucargo = "Comandante Geral";
                default: meucargo = "Civil";
            }
        }
        case 2: // supondo que 2 fosse Yakusa
        {
            switch(cargo)
            {
                case 1: meucargo = "Cargo 1 da Yakusa";
                case 2: meucargo = "Cargo 2 da Yakusa";
                case 3: meucargo = "Cargo 3 da Yakusa";
                case 4: meucargo = "Cargo 4 da Yakusa";
                case 5: meucargo = "Cargo 5 da Yakusa";
                case 6: meucargo = "Cargo lider da Yakusa";
                default: meucargo = "Civil";
            }
        }
       
        // si tiver mais orgs entraria aki...
        default: meucargo = "Civil"; // nгo mude essa linha.. pois caso nao tenha org, ela sera chamada.
    }
   
    return meucargo;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)