SA-MP Forums Archive
[FilterScript] gfix (simples) - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+----- Forum: Lançamentos/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=56)
+----- Thread: [FilterScript] gfix (simples) (/showthread.php?tid=411787)



gfix (simples) - Dwayne-Pheonix - 30.01.2013

Hoje pela manhг resolvi criar algo que impedisse que o jogador enquanto de "esc" em uma motocicleta caia sem ao menos ter batido

Nгo й nada muito complexo, й bastante simples.

pawn Код:
/* credits to Dwayne Pheonix */

#include <a_samp>

new
    bool:Paused[MAX_PLAYERS],
    LastVeh[MAX_PLAYERS] = -1,
    timer_[MAX_PLAYERS];

public OnPlayerConnect(playerid) {
    KillTimer(timer_[playerid]);
    timer_[playerid] = SetTimerEx("Check_", 1007, true, "i", playerid);
    return 1;
}

public OnPlayerDisconnect(playerid, reason) {
    KillTimer(timer_[playerid]);
    LastVeh[playerid] = -1;
    return 1;
}

public OnPlayerUpdate(playerid) {
    Paused[playerid] = false;
    return 1;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    if((IsValidModel(vehicleid)) && (ispassenger)) LastVeh[playerid] = vehicleid;
    return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    LastVeh[playerid] = -1;
    return 1;
}

native IsValidVehicle(vehicleid);
Check_(playerid); public Check_(playerid) {
    if(Paused[playerid] != false) {
        if(IsValidVehicle(LastVeh[playerid]) && IsValidModel(LastVeh[playerid])) PutPlayerInVehicle(playerid, LastVeh[playerid], 1);
        return 1;
    }
    Paused[playerid] = true;
    return 1;
}

IsValidModel(vehicleid) {
    new model_ = GetVehicleModel(vehicleid);
    if( (model_ == 462) || (model_ == 581) || (model_ == 522) || (model_ == 461) || (model_ == 521) ||
    (model_ == 463) || (model_ == 468) || (model_ == 586) || (model_ == 471)) return 1;
    return 0;
}
Pastebin: http://pastebin.com/9Xt7Vyt1

Ou se preferirem baixem o attachment.


Re: gfix (simples) - mau.tito - 30.01.2013

Tenso !
pawn Код:
LastVeh[playerid] = -1;



Re: gfix (simples) - Dwayne-Pheonix - 30.01.2013

Й apenas um valor inalcanзбvel...


Re: gfix (simples) - steki. - 30.01.2013

Muito bem pensado. Foi devidamente testado?


Re: gfix (simples) - Maklister - 30.01.2013

pawn Код:
LastVeh[playerid] = -1;
podia ter sido
pawn Код:
LastVeh[playerid] = INVALID_PLAYER_ID;
Enfim bem pensado.


Re: gfix (simples) - Dwayne-Pheonix - 30.01.2013

Quote:
Originally Posted by Stewie`
Посмотреть сообщение
Muito bem pensado. Foi devidamente testado?
Quote:
Originally Posted by Don_Speed
Посмотреть сообщение


І

....
.
Eu fiz um pequeno teste e ele й funcional

Detectei que o jogador nгo й injetado novamente apenas quando o piloto e o passageiro caem juntos, mas em outras situaзхes й eficiente.

Mas jб estou pensando em uma forma de contornar isso.

Quote:
Originally Posted by Murilo_sousa
Посмотреть сообщение
pawn Код:
LastVeh[playerid] = -1;
podia ter sido
pawn Код:
LastVeh[playerid] = INVALID_PLAYER_ID;
Enfim bem pensado.
A variavel LastVeh й uma variavel para armazenar id de veнculos


Re: gfix (simples) - Don_Speed - 30.01.2013

Quote:
Originally Posted by Stewie`
Посмотреть сообщение
Muito bem pensado. Foi devidamente testado?
І

....
.



Re: gfix (simples) - Sky™ - 30.01.2013

bem legal ^^

@edit

Quote:
Originally Posted by Murilo_sousa
Посмотреть сообщение
pawn Код:
LastVeh[playerid] = -1;
podia ter sido
pawn Код:
LastVeh[playerid] = INVALID_PLAYER_ID;
Enfim bem pensado.
Player id

pawn Код:
LastVeh[playerid] = INVALID_VEHICLE_ID;



AW: gfix (simples) - Blackazur - 30.01.2013

Bom desempenho.


Re: AW: gfix (simples) - Dwayne-Pheonix - 30.01.2013

Quote:
Originally Posted by Sky_.
Посмотреть сообщение
bem legal ^^

@edit



Player id

pawn Код:
LastVeh[playerid] = INVALID_VEHICLE_ID;
Quanto a isso й indiferente pois й feita uma checagem para verificar se o id й valido
Quote:
Originally Posted by Dwayne-Phoenix
if(IsValidVehicle(LastVeh[playerid]) && IsValidModel(LastVeh[playerid])) PutPlayerInVehicle(playerid, LastVeh[playerid], 1);
Quote:
Originally Posted by Blackazur
Посмотреть сообщение
Bom desempenho.
Obrigado black