[FilterScript] Pegar distancia percorrida por carro
#1

Usando este cуdigo vocк pega o nъmero de distancia percorrida em metros ou kilometros por um veнculo

Espero que gostem !!

pawn Code:
// -----------------------------------------------------------
 
#include a_samp
 
// -----------------------------------------------------------
 
 
new
        gMetrosRodados[MAX_VEHICLES] = {0, ...}
;
 
// -----------------------------------------------------------
 
#define MetrosRodados(%0)  \
                gMetrosRodados[%0]
 
 
#define KilometrosRodados(%0)  \
                (gMetrosRodados[%0] / 1000)
 
// -----------------------------------------------------------
 
 
public OnFilterScriptInit() {
        SetTimer("metrosRodados", 1000, true);
        return true;
}
 
// -----------------------------------------------------------
forward metrosRodados();
public metrosRodados() {
 
        static
                Float:x,
                Float:y,
                Float:z;
 
        for(new i; i != MAX_VEHICLES; ++i) {
                if(GetVehicleModel(i)) {
                        GetVehicleVelocity(i, x, y, z);
                        gMetrosRodados[i] += (floatround(floatsqroot(x*x + y*y + z*z ) * 180 / 3.6));
                }
        }
        return true;
}

Link ->
http://pastebin.com/y5QdaBgq


Modo de uso:
MetrosRodados(vehicleid);
KilometrosRodados(vehicle);

-

** Feito em 5 minutos. Sem tempo de testar. em game, se alguйm puder testar

-

Quote:

Primeira versгo:
http://pastebin.com/MttuMDqM
Data da criaзгo 15 de julho de 2011. Atualizado 1 ano depois.

Criado por Bruno da Silva - iPs TeaM
Reply
#2

Muito bom!
Reply
#3

Legal, vou testar.
@edit
meu gta esta com problemas, vou baixar a iso e instalar novamente.
Reply
#4

Callback pra testes:

pawn Code:
public OnPlayerUpdate(playerid) {
    if(IsPlayerInAnyVehicle(playerid)) {
        new vehicleid = GetPlayerVehicleID(playerid),strng[64];
        format(strng, 64, "%d metros percorridos| %d kilometros percorridos", MetrosRodados(vehicleid), KilometrosRodados(vehicleid));
        SendClientMessage(playerid, -1, strng);
    }
    return true;
}
Reply
#5

уtimo ! Tenho um sistema desses que fiz, porйm o meu й baseado sobre a velocidade + tempo. nunca parei para usar floatround && floatsqroot.
Reply
#6

Testei e funcionou. Porйm nгo й totalmente preciso, mas jб se tem uma idйia de quanto ele rodou. Eu diria que quanto mais o cara freia mais o jogo pode errar, devido o tempo de atualizaзгo dos timers. Mas isto nгo passa de uns 20 metros de margem de erro.
Reply
#7

Porra Drakins , Vocк nгo se cansa nгo ?

@TOPIC

Mutho brueno -q

10/10
Reply
#8

Muito bom
Reply
#9

Kkkkkkk eu ri.
Reply
#10

Gays й tenso .
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)