[Ajuda] Bloquear
#1

como faзo para bloquear o trem apenas para uma suposta organizaзгo?, pois eu estou fazendo o gamemode do ctrl +n e tem o trem q fica em sf e em lv se nгo me engano, tem como fazer para apenas uma organizaзгo entrar nele para dirigir?
Reply
#2

й sу fazer uma simples verificaзгo...
Reply
#3

Quote:
Originally Posted by LockedLucas
Посмотреть сообщение
й sу fazer uma simples verificaзгo...
Eu sei, mais a minha dъvida й em que parte, pois nгo fui eu que criei o trem, ele jб veio no gamemode...
Reply
#4

no momento em que ele entrar no veiculo
Reply
#5

Quote:
Originally Posted by Whoo
Посмотреть сообщение
no momento em que ele entrar no veiculo
como eu faria para identificar o trem??, teria q fazer um format igual estб no exemplo?
Reply
#6

Й algo assim, eu fiz no onplayerstatechange, mas vocк pode fazer na callback OnPlayerEnterVehicle sу que se o jogador for teleportado/puxado pra dentro do trem sem fazer a animaзгo de entrar nгo vai ter a checagem, recomendo usar o onplayerstatechange

PHP код:
public OnPlayerStateChange(playeridnewstateoldstate)
{
    if(
oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER// Player entered a vehicle as a driver
    
{
        new 
vehicleid GetPlayerVehicleID(playerid);
        if(
IsPlayerInVehicle(playeridvehicleid) && GetVehicleModel(vehicleid) == id do trem)
        {
            if(
pInfo[playerid][pOrg] != id da org)
            {
                
SendClientMessage(playerid, -1"vc nao й da org e nao pode dirigir este veiculo");
                
RemovePlayerFromVehicle(playerid);
            }
        }
    }
    return 
1;

Reply
#7

Код:
if(GetVehicleModel(vehicleid) == 538 && PLAYER_FACЗГO)
{
	//...
}
else RemovePlayerFromVehicle(playerid);
Reply
#8

Quote:
Originally Posted by JPedro
Посмотреть сообщение
Й algo assim, eu fiz no onplayerstatechange, mas vocк pode fazer na callback OnPlayerEnterVehicle sу que se o jogador for teleportado/puxado pra dentro do trem sem fazer a animaзгo de entrar nгo vai ter a checagem, recomendo usar o onplayerstatechange

PHP код:
public OnPlayerStateChange(playeridnewstateoldstate)
{
    if(
oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER// Player entered a vehicle as a driver
    
{
        new 
vehicleid GetPlayerVehicleID(playerid);
        if(
IsPlayerInVehicle(playeridvehicleid) && GetVehicleModel(vehicleid) == id do trem)
        {
            if(
pInfo[playerid][pOrg] != id da org)
            {
                
SendClientMessage(playerid, -1"vc nao й da org e nao pode dirigir este veiculo");
                
RemovePlayerFromVehicle(playerid);
            }
        }
    }
    return 
1;

Cara obrigado, ainda com esse cуdigo vc me deu uma ideia mt melhor rsrs, vlw.
Reply
#9

Quote:
Originally Posted by Whoo
Посмотреть сообщение
Код:
if(GetVehicleModel(vehicleid) == 538 && PLAYER_FACЗГO)
{
	//...
}
else RemovePlayerFromVehicle(playerid);
Nгo precisa fazer esse tipo de coisa pra ejetar o jogador, vocк simplesmente pode fazer a checagem do modelo do veнculo e se o jogador pertence a uma org diferente da qual й permitida

PHP код:
if(GetVehicleModel(vehicleid) == 538 && Organizacao[playerid] != ORGANIZAO_PERTMIDA)
{
    
RemovePlayerFromVehicle(playerid);

Reply
#10

Quote:
Originally Posted by JPedro
Посмотреть сообщение
Nгo precisa fazer esse tipo de coisa pra ejetar o jogador, vocк simplesmente pode fazer a checagem do modelo do veнculo e se o jogador pertence a uma org diferente da qual й permitida

PHP код:
if(GetVehicleModel(vehicleid) == 538 && Organizacao[playerid] != ORGANIZAO_PERTMIDA)
{
    
RemovePlayerFromVehicle(playerid);

Eu peguei uma base do seu e executei esse cуdigo
PHP код:
       if(newstate == PLAYER_STATE_DRIVER)
    {
        new 
vehicleid GetPlayerVehicleID(playerid);
        if(
IsPlayerInVehicle(playeridvehicleid) && GetVehicleModel(vehicleid) == 538)
        {
            if(
Player[playerid][pBallas] >= 4)
            {
            }
            else
            {
                
RemovePlayerFromVehicle(playerid);
                   
SendClientMessage(playeridCOR_ERRO"Vocк nгo pode pegar esse veнculo!");
            }
        }
    } 
nгo sei se vai funcionar, irei testar rsrsrs
Reply
#11

Quote:
Originally Posted by FabioGTP
Посмотреть сообщение
Eu peguei uma base do seu e executei esse cуdigo
PHP код:
       if(newstate == PLAYER_STATE_DRIVER)
    {
        new 
vehicleid GetPlayerVehicleID(playerid);
        if(
IsPlayerInVehicle(playeridvehicleid) && GetVehicleModel(vehicleid) == 538)
        {
            if(
Player[playerid][pBallas] >= 4)
            {
            }
            else
            {
                
RemovePlayerFromVehicle(playerid);
                   
SendClientMessage(playeridCOR_ERRO"Vocк nгo pode pegar esse veнculo!");
            }
        }
    } 
nгo sei se vai funcionar, irei testar rsrsrs
Vc pode fazer assim:

PHP код:
    if(newstate == PLAYER_STATE_DRIVER)
    {
        new 
vehicleid GetPlayerVehicleID(playerid);
        if(
IsPlayerInVehicle(playeridvehicleid) && GetVehicleModel(vehicleid) == 538)
        {
            if(
Player[playerid][pBallas] < 4)
            {
                
RemovePlayerFromVehicle(playerid);
                
SendClientMessage(playeridCOR_ERRO"Vocк nгo pode pegar esse veнculo!");
            }
        }
    } 
Vai lhe poupar algumas linhas e aliбs recomendo que leia este tуpico
https://sampforum.blast.hk/showthread.php?tid=493276

Leia a parte de "Lуgicas, sem lуgica"
Reply
#12

nгo faz diferenзa.. no caso do seu cуdigo vocк pega o id do veiculo em que o player esta e armazena do vehicleid, e depois faz a verificaзгo novamente se ele esta no veiculo em que ele esta nгo entendi..
Reply
#13

Quote:
Originally Posted by Whoo
Посмотреть сообщение
nгo faz diferenзa.. no caso do seu cуdigo vocк pega o id do veiculo em que o player esta e armazena do vehicleid, e depois faz a verificaзгo novamente se ele esta no veiculo em que ele esta nгo entendi..
Eu armazeno o ID do veнculo no vehicleid e depois verifico se ele estб neste veнculo e tambйm faзo a checagem do modelo.
Reply
#14

tudo bem rs, sу quis dizer que quando usamos GetPlayerVehicleID o player tem que estar dentro do veiculo se nгo retorna falso, com isso nгo seria necessбrio verificar se ele esta no mesmo veiculo em que pegamos o ID, neste caso poderia utilizar IsPlayerInAnyVehicle que retorna verdadeiro se o player esta em um veiculo antes de pegar o ID do mesmo.
Reply
#15

Quote:
Originally Posted by Whoo
Посмотреть сообщение
tudo bem rs, sу quis dizer que quando usamos GetPlayerVehicleID o player tem que estar dentro do veiculo se nгo retorna falso, com isso nгo seria necessбrio verificar se ele esta no mesmo veiculo em que pegamos o ID, neste caso poderia utilizar IsPlayerInAnyVehicle que retorna verdadeiro se o player esta em um veiculo antes de pegar o ID do mesmo.
Ah sim, nгo sabia disto
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)