[Ajuda] Proibir da G Sem Motorista no Veiculo
#1

Como o Titulo Disse eu Gostaria de Implantar um Code no meu GM Em que o Player Que For da G em um Veiculo Sem Motorista o Veiculo Nгo Deixe o Player Entrar e Aparece um TextDraw Para o Player Falando Vocк Nгo Pode Dar G em um Veiculo SEM Motorista Lembrando que se Tiver com Motorista e o Player For Entrar ae sim o Veiculo Deixa kk' Alguem pode me ajudar ?


@Edit se Nгo For Encomodo Alguem Poderia me Fazer um Sistema de que Quando um jogador Estiver de Esc outro Jogador Poder Matar Ele normalmente.
Reply
#2

nessa callback
https://sampwiki.blast.hk/wiki/OnPlayerEnterVehicle

quando for entrar como passageiro й so verificar se tem condutor https://sampforum.blast.hk/showthread.php?tid=201809
Reply
#3

Sou novato ainda Estudo a Linguagem Pawn Poderia Explicar Melhor ?
Reply
#4

cara, sу ler na wiki, й leve! mas eu explico

"ispassenger 0 if entering as driver. 1 if entering as passenger." (estб na wiki) voce quer detectar quando entra como passageiro certo? entao й 1, entao temos

pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    if(ispassenger)//nao preciso de verificar se й igual a 1 (ispassenger==1) porque se fosse falso serio nulo logo, seria (ispassenger==0) ou (!ispassenger) quando for diferente de zero, basta usar (ispassenger) ok?
    {
    }
    return 1;
}
entao no final do GM vamos colar isso
pawn Код:
public VehicleHasDriver(vehicleid)
{
     for(new i=0;i<=MAX_PLAYERS;i++)
     {
           if(!IsPlayerConnected(i)) continue;
           if(IsPlayerInAnyVehicle(i))
           {
                if(GetPlayerVehicleID(i)==vehicleid)
                {
                       if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
                       {
                             return 1;
                        }
                 }
           }
     }
     return 0;
}
a tal funcao que tava no outro link (voce tem de criar porque nao existe uma nativa do sa-mp que verifique isso)
entao agora й so verificar se б condutor

pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    if(ispassenger)
    {
        if(!VehicleHasDriver(vehicleid)) //se for nulo (zero) nao tem condutor
        {
            //mensagem a dizer que nao tem condutor
        }
    }
    return 1;
}
entendeu?
Reply
#5

tipo eu implanetei o codico mais os carros od sv inteiro sumiram '-'
Reply
#6

Tenta isso:

pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    if(ispassenger && !EVeiculoComMotorista(vehicleid))
    {
        SendClientMessage(playerid, -1, #Nгo pode ser um caroneiro sem um motorista);
        RemovePlayerFromVehicle(playerid);
        ClearAnimations(playerid);
        SetPlayerSpecialAction(playerid,SPECIAL_ACTION_NONE);
        return 1;
    }
    return 0;
}
stock EVeiculoComMotorista(vehicleid)
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
        return 1;
    }
    return 0;
}
Reply
#7

deu um monte de erro '-'
Reply
#8

Tenta agora '-'

pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    if(ispassenger && !EVeiculoComMotorista(vehicleid))
    {
        SendClientMessage(playerid, -1, #Nгo pode ser um caroneiro sem um motorista);
        RemovePlayerFromVehicle(playerid);
        ClearAnimations(playerid);
        SetPlayerSpecialAction(playerid,SPECIAL_ACTION_NONE);
        return 1;
    }
    return 0;
}

No final do gm

pawn Код:
stock EVeiculoComMotorista(vehicleid)
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
        return 1;
    }
    return 0;
}
Reply
#9

Resultou mt Obrigado Mas se Nгo For Encomodo Posso Le PEdir Mais 1 sistema ou й Apenas 1 Por Tуpico ?
Reply
#10

pode pedir.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)