[Ajuda] Por que 1codigo pega e o outro nгo?
#1

Olб pessoal, eu estou ficando careca de tanto tentar e nгo conseguir fazer os carros das organizaзхes
Gangues-Mafias-Terroristas
Ficarem reservados somente para eles ultilizarem, ou seja, quem й grove sу pode usar o carro grove.

Os carros dos policiais estгo pegando perfeitamente, quem entra no carro deles automaticamente sai, porque ele verifica se й COP ou nгo e se nгo for й expulso!

1 exemplo de carro dos policiais
ID 1 = PM
ID 14 = PRF
ID 21 = BOPE
pawn Код:
if(vid==PMcars[0]||vid==PMcars[1]||vid==PMcars[2]||vid==PMcars[3]||vid==PMcars[4]||vid==PMcars[5]||vid==PMcars[6]||vid==PMcars[7]||vid==PMcars[8]||vid==PMcars[9])
        {
            if(PlayerInfo[playerid][pMember] == 1||PlayerInfo[playerid][pLeader] == 1) { }
            else if(PlayerInfo[playerid][pMember] == 1||PlayerInfo[playerid][pMember] == 3||PlayerInfo[playerid][pMember] == 14||PlayerInfo[playerid][pMember] == 21)
            {
            RemovePlayerFromVehicle(playerid);
            }
            else
            {
                SendClientMessage(playerid, COLOR_RED, "{FF3D3D}[Erro]{FFFFFF} Vocк nгo й um Federal.");
                RemovePlayerFromVehicle(playerid);
                TogglePlayerControllable(playerid, 1);
            }
        }

1 exemplo de Carro das Gangues
ID 26 = Crips
pawn Код:
if(vid==Cripscar[0]||vid==Cripscar[1]||vid==Cripscar[2]||vid==Cripscar[3]||vid==Cripscar[4]||vid==Cripscar[5])
        {
            if(PlayerInfo[playerid][pMember] == 26 || PlayerInfo[playerid][pLeader] == 26) {  }
            else
            {
                SendClientMessage(playerid,COLOR_RED,"{FF3D3D}[Erro]{FFFFFF} Vocк nгo й dos Crips.");
                RemovePlayerFromVehicle(playerid);
                TogglePlayerControllable(playerid, 1);
            }
        }
Repitindo: os carros dos cops sгo restritos somente a eles, e eu quero fazer o mesmo com as gangues e nгo estб funcionando!
Reply
#2

pawn Код:
for(new i; i < sizeof(Cripscar); ++i) {
    if(vid == Cripscar[i]) {
        if(PlayerInfo[playerid][pMember] != 26 || PlayerInfo[playerid][pLeader] != 26) {
            SendClientMessage(playerid,-1,"{FF3D3D}[Erro]{FFFFFF} Vocк nгo й dos Crips.");
            RemovePlayerFromVehicle(playerid);
        }
    }
    return true;
}
Reply
#3

Quote:
Originally Posted by zbt
Посмотреть сообщение
pawn Код:
for(new i; i < sizeof(Cripscar); ++i) {
    if(vid == Cripscar[i]) {
        if(PlayerInfo[playerid][pMember] != 26 || PlayerInfo[playerid][pLeader] != 26) {
            SendClientMessage(playerid,-1,"{FF3D3D}[Erro]{FFFFFF} Vocк nгo й dos Crips.");
            RemovePlayerFromVehicle(playerid);
        }
    }
    return true;
}
Nгo deu certo zbt, ainda posso entrar!
Reply
#4

Й melhor fazer uma reforma em todo o cуdigo .


Coloque no inнcio da public OnPlayerStateChange :


pawn Код:
if(newstate == PLAYER_STATE_DRIVER) //Se o novo estado do jogador for de motorista de veнculo.
    {
        new IDVeiculo = GetPlayerVehicleID(playerid); //Cria uma variбvel e armazena o ID do veнculo do jogador nela.
        new IDOrg; //Cria uma variбvel para armazenar o ID da organizaзгo do jogador.
        if(PlayerInfo[playerid][pMember] > 0)   IDOrg = PlayerInfo[playerid][pMember];
        else if(PlayerInfo[playerid][pLeader] > 0)   IDOrg = PlayerInfo[playerid][pLeader];
        //Normalmente quando um jogador й lнder ele nгo й membro e vice-versa. As duas linhas logo acima se aproveitam disso para capturar o ID da organizaзгo do mesmo.
        for(new x = 0; x < sizeof(PMcars); x++) //Executa um loop para percorrer todos os valores na variбvel array "PMcars".
        {
            if(IDVeiculo == PMcars[x] && IDOrg != 1) //Se o ID do veнculo do jogador for igual a um dos dos veнculos da PM e se o ID da organizaзгo do jogador for diferente do da PM.
            {
                SendClientMessage(playerid, COLOR_RED, "{FF3D3D}[Erro]{FFFFFF} Vocк nгo й um Federal."); //Envia uma mensagem ao jogador.
                RemovePlayerFromVehicle(playerid); //Remove o jogador do veнculo.
                TogglePlayerControllable(playerid, 1); //Retira a paralisaзгo do jogador.
            }
        }
        for(new x = 0; x < sizeof(Cripscar); x++) //Executa um loop para percorrer todos os valores na variбvel array "Cripscar".
        {
            if(IDVeiculo == Cripscar[x] && IDOrg != 26) //Se o ID do veнculo do jogador for igual a um dos dos veнculos dos Crips e se o ID da organizaзгo do jogador for diferente do dos Crips.
            {
                SendClientMessage(playerid,COLOR_RED,"{FF3D3D}[Erro]{FFFFFF} Vocк nгo й dos Crips."); //Envia uma mensagem ao jogador.
                RemovePlayerFromVehicle(playerid); //Remove o jogador do veнculo.
                TogglePlayerControllable(playerid, 1); //Retira a paralisaзгo do jogador.
            }
        }
        //A partir daqui coloque os loops refentes аs outras organizaзхes...
    }

Leia os comentбrios.



Espero ter ajudado .
Reply
#5

Tente :
pawn Код:
if(vid == Cripscar[0] || vid== Cripscar[1] || vid == Cripscar[2] || vid == Cripscar[3] || vid == Cripscar[4] || vid == Cripscar[5])
        {
            if(PlayerInfo[playerid][pMember] == 26 || PlayerInfo[playerid][pLeader] == 26)
            {
                return 1;
            }
            else
            {
                SendClientMessage(playerid,COLOR_RED,"{FF3D3D}[Erro]{FFFFFF} Vocк nгo й dos Crips.");
                RemovePlayerFromVehicle(playerid);
                TogglePlayerControllable(playerid, 1);
            }
        }
E lembre-se, os veнculos devem ser definido quando criados, veja um exemplo:
pawn Код:
VeiculoPrivado[0] = AddStaticVehicle...
VeiculoPrivado[1] = AddStaticVehicle...
VeiculoPrivado[2] = AddStaticVehicle...
Para mais informaзхes:
https://sampforum.blast.hk/showthread.php?tid=339051
Reply
#6

rjjj e CidadeNovaRP eu fiz o que ambos pediram respectivamente e tambйm nгo deu certo!
Reply
#7

Certeza que o id da org й 26?
Reply
#8

sim kkk, mais tipow, se ela nao fosse 26 fosse 20, mesmo assim eu estando na org 50 e tentando entrar no carro da org 20 ou 26 ou 30 eu nao conseguiria, certo?

ta foda isso
Reply
#9

Posta os defines das orgs..

mais, vc pode tentar assim:

pawn Код:
// na public OnplayerEnterVehicle

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    for(new i=0; i < sizeof(Cripscar); i++)
    {
        if(vehicleid == Cripscar[i] && PlayerInfo[playerid][pLeader] != 26 || vehicleid == Cripscar[i] && PlayerInfo[playerid][pMember] != 26 || )
        {
            RemovePlayerFromVehicle(playerid);
            SendClientMessage(playerid, -1, "vc nao pode usar esse veiculo");
            return 0;
        }
    }
    return 1;
}
Reply
#10

eu fiz o que voce pedio steeldark mais ele sу envia a mensagem : vc nao pode usar esse veiculo
mais nao remove o cara do carro!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)