[AJUDA]Blockeio de veнculo
#1

Eae pessoal, como eu posso iniciar a fazer um blockeio de veнculo ?

ex: se este veнculo explodir, vocк sу vai poder usar ele depois de um tempo.....

obrigado
Reply
#2

Usa o OnVehicleSpawn

https://sampwiki.blast.hk/wiki/OnVehicleSpawn


estuda isto:


pawn Код:
stock LockVehicle(vehicleid, bool:lock) {
    for(new i; i<MAX_PLAYERS; i++) {
        if(lock == true) {
        SetVehicleParamsForPlayer(vehicleid, i, 0, 1);
        }
        else if(lock == false) {
        SetVehicleParamsForPlayer(vehicleid, i, 0, 0);
        }
    }
    return 1;
}

Usa tb:

pawn Код:
forward coiso(playerid);
SetTimmer

https://sampwiki.blast.hk/wiki/SetTimer
Reply
#3

por acaso eu posso usar um blockeio de 2 veнculos com o mesmo ID ?

ex: o veнculo id 560 explodiu
e vocк nгo pode usar.

e no seu lado tem + outro veнculo com o mesmo id 560
e ele poder usar, tem como isso ?
Reply
#4

Nossa, viajei...
no OnVehicleSpawn

o veнculo nгo vai aparecer por um tempo.

ok...

eu fiz isso aqui:
pawn Код:
forward DeathHydra(playerid, vehicleid);
pawn Код:
new HydraBaselV = GetVehicleModel(vehicleids);
    new IdHydra[MAX_VEHICLES];

    if (modeloids == 425 || == 432)
    {
        if (pDataGM[playerid][pGang] > 0) for (new x = 0; x < MAX_BASES; x++)
        {
            if (BasesInfo[x][7] == pDataGM[playerid][pGang])
            {
                DeathHydra(playerid, veiculo);
                IdHydra[veiculo] = 1;
            }
        }
    }
pawn Код:
public DeathHydra(playerid, vehicleid)
{
    if(IdHydra[vehicleid] == 1)
    {
        for(new i=0;i<MAX_PLAYERS;i++)
        {
            SetVehicleParamsForPlayer(vehicleid,i,0,0);
        IdHydra[vehicleid] = 0;
        SetTimer("DeathHydra",1200000,0);
        SendClientMessage(playerid, COR_BRANCA, "Vocк nгo pode usar a hydra aguarde.");
        }
    }
    if(IdHydra[vehicleid] == 0)
    {
      for(new i=0;i<MAX_PLAYERS;i++)
        {
            SetVehicleParamsForPlayer(vehicleid,i,0,1);
        }
    }
    return 1;
}
+ nгo deu.

o veнculo nгo blockiou.
Reply
#5

Quote:
Originally Posted by Antropede
Nossa, viajei...
no OnVehicleSpawn

o veнculo nгo vai aparecer por um tempo.

ok...

eu fiz isso aqui:
pawn Код:
forward DeathHydra(playerid, vehicleid);
pawn Код:
new HydraBaselV = GetVehicleModel(vehicleids);
    new IdHydra[MAX_VEHICLES];

    if (modeloids == 425 || == 432)
    {
        if (pDataGM[playerid][pGang] > 0) for (new x = 0; x < MAX_BASES; x++)
        {
            if (BasesInfo[x][7] == pDataGM[playerid][pGang])
            {
                DeathHydra(playerid, veiculo);
                IdHydra[veiculo] = 1;
            }
        }
    }
pawn Код:
public DeathHydra(playerid, vehicleid)
{
    if(IdHydra[vehicleid] == 1)
    {
        for(new i=0;i<MAX_PLAYERS;i++)
        {
            SetVehicleParamsForPlayer(vehicleid,i,0,0);
        IdHydra[vehicleid] = 0;
        SetTimer("DeathHydra",1200000,0);
        SendClientMessage(playerid, COR_BRANCA, "Vocк nгo pode usar a hydra aguarde.");
        }
    }
    if(IdHydra[vehicleid] == 0)
    {
      for(new i=0;i<MAX_PLAYERS;i++)
        {
            SetVehicleParamsForPlayer(vehicleid,i,0,1);
        }
    }
    return 1;
}
+ nгo deu.

o veнculo nгo blockiou.
acredita: n te vou dar o codigo... estuda esses exemplos...
Reply
#6

eu estudei 0o

jб fiz o cуdigo.
й esse que vocк deu "quote"
sу que nгo funcionou.

eu no meu ponto de vista estб correto.

sу que nгo blockeia, nem aquele sendclientmessage manda pro player.
Reply
#7

Bom Creio que Vocк ja Deve Saber Onde e Como Colocar As COisas Por Isso So Vo Posta o Cуdigo


pawn Код:
new tempo_VeiculosDraKoN[MAX_PLAYERS] = {-1, ...};
new VeiculosDraKoN;
forward TempoVeiculosDraKoN(playerid);
Em OnPlayerDisconnect

pawn Код:
if(tempo_VeiculosDraKoN[playerid] != -1)
    {
        KillTimer(tempo_VeiculosDraKoN[playerid]);
        tempo_VeiculosDraKoN[playerid] = -1;
    }
Agora
pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == PLAYER_STATE_DRIVER && GetVehicleModel(GetPlayerVehicleID(playerid)) == IDODOVEICULO)
    {
        SendClientMessage(playerid, COR "MENSAGEM");
        tempo_VeiculosDraKoN[playerid] = SetTimerEx("TempoVeiculosDraKoN", 15 * 30 * 1000, 0, "i", playerid);
    }
    return 1;
}
pawn Код:
public OnPlayerExitVehicle(playerid, vehicleid)
{
    if(GetVehicleModel(vehicleid) == IDDOVEICULO)
    {
        KillTimer(tempo_VeiculosDraKoN[playerid]);
        tempo_VeiculosDraKoN[playerid] = -1;
        SetVehicleToRespawn(VeiculosDraKoN);
    }
    return 1;
}
Agora Essa Public com o Tempo

pawn Код:
public TempoVeiculosDraKoN(playerid)
{
    new Float:x, Float:y, Float:z;
    KillTimer(tempo_VeiculosDraKoN[playerid]);
    tempo_VeiculosDraKoN[playerid] = -1;
    GetPlayerPos(playerid, x, y, z);
    SetPlayerPos(playerid, x, y, z+2);
    SetVehicleToRespawn(VeiculosDraKoN);
}
Aff Nem Testei


Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)