new Pneu[MAX_VEHICLES];// Topo do GameMode/ FilterScript
for(new d = 0; d < MAX_VEHICLES; d++)
Pneu[d] = 100;
Pneu[d] = 100; > Esse 100 Se refere ao maximo do pneu podes mudar
new Timer[MAX_PLAYERS];// Topo do GameMode/ FilterScript
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
Timer[playerid] = SetTimerEx("AtualizarVelocimetro", 100, true, "d", playerid);
}else KillTimer(Timer[playerid]);
return 1;
}
AtualizarVelocimetro -> Nome da callback que farб a atualizaзгo do pneu
100 -> Tempo em segundos que esta verificaзгo serrб feita
true -> Verdadeiro , significa que ele ficara repetindo
KillTimer -> Ira parar o timer assim que ele sair do carro
forward AtualizarVelocimetro(playerid);
public AtualizarVelocimetro(playerid)
{
Pneu[GetPlayerVehicleID(playerid)] -= 0.1;
if(Pneu[GetPlayerVehicleID(playerid)] < 1)
{
new Paineis, Portas, Luzes, Pneu;
GetVehicleDamageStatus(GetPlayerVehicleID(playerid), Paineis, Portas, Luzes, Pneu);
UpdateVehicleDamageStatus(GetPlayerVehicleID(playerid), Paineis, Portas, Luzes, 15);
}
return true;
}
Pneu[GetPlayerVehicleID(playerid)] -= 0.1; // Diminui a variavel do pneu em 0.1 ja que amesma e float
GetPlayerVehicleID(playerid) -> Isso pega o id de seu veiculo para que possa atualiza/diminuir os pneus
if(Pneu[GetPlayerVehicleID(playerid)] < 1) -> Quantidade minima para estourar o pneu
new Paineis, Portas, Luzes, Pneu;
GetVehicleDamageStatus(GetPlayerVehicleID(playerid), Paineis, Portas, Luzes, Pneu);
0: (0000)
o-o
| |
o-o
1: (0001)
o-o
| |
o-i
2: (0010)
o-i
| |
o-o
3: (0011)
o-i
| |
o-i
4: (0100)
o-o
| |
i-o
5: (0101)
o-o
| |
i-i
6: (0110)
o-i
| |
i-o
7: (0111)
o-i
| |
i-i
8: (1000)
i-o
| |
o-o
9: (1001)
i-o
| |
o-i
10: (1010)
i-i
| |
o-o
11: (1011)
i-i
| |
o-i
12: (1100)
i-o
| |
i-o
13: (1101)
i-o
| |
i-i
14: (1110)
i-i
| |
i-o
15: (1111)
i-i
| |
i-i
UpdateVehicleDamageStatus(GetPlayerVehicleID(playerid), Paineis, Portas, Luzes, ID DO ESTOURO DO PNEU);
ID DO ESTOURO DO PNEU -> Escolha seu id na tabela acima!
eu tenho uma grande duvida, em casos assim й melhor usar um timer com pouco tempo, ou usar OnPlayerUdate??
qual й melhor? []Topic - Legal, isso pode auxiliar muitos em outras coisas com veнculos, como desgaste do motor, sei la kkkk, bem legal parabens. +rep |
Acredito que o timer seja melhor , poiso update e chamada muitas vezes em um segundo! |