Olб , venho ensinar como fazer um sistema de pneu.
Eu ia postar como FilterScript mas achei que tava muito basico , entгo vo explicar como fazer!
Antes de tudo vocк precisa saber que em algo pro VEICULO tipo , ALARME, TRAVA, GAS ETC. SE USA MAX_VEHICLES.
VI O POVO DO MEGA TRUCK USANDO MAX_PLAYERS PARA VEICULOS PQP.
Bom vamos la:
Primeiro o sistema de pneu precisa de uma variavel , uma variavel de veiculo e nгo de player
pawn Код:
Deve ser float.
Podes usar junto com seu sistema de carros.
Apos isso precisamos setar os pneuґs quando o servidor e logado ja para que nгo comeзe extourado!
Iremos utilizar um loop
pawn Код:
Tambem podes usar junto com sistema de carro que provavelmente seta algo no GameModeInit usando loop de veiculos.
PHP код:
Agora precisamos fazer um timer para que possamos reduzir o pneu conforme ele for andando.
Primeiro vamos fazer uma variavel AGORA PARA O PLAYER , para que possa fazermos o timer!
pawn Код:
Bom feito isso iremos procurar pela callback chamada OnPlayerStateChange.
Iremos fazer o codigo para ver se ele e motorista!
E iniciar o Timer , e ja da um KillTimer (Parar o Timer).
pawn Код:
PHP код:
Podes ser adaptado ao seu GameMode/FilterScript
Agora vamos criar a CallBack para a atualizaзгo
E diminuir o pneu!
pawn Код:
PHP код:
Agora vou explicar como deve ser para que estoure o pneu:
PHP код:
Ai vocк deve getar os damanges do veiculo, criando as variaveis das damanges para usa-los.
PHP код:
Agora para estourar o pneu . Hб varios modos de estouro .
Vocк deve se perguntar como assim
PHP код:
Estes sгo de veiculos com 4 rodas .
Para ver os de bikerrs/motos > https://sampwiki.blast.hk/wiki/TireStates
Ai e so fazer um update das damanges
PHP код:
Bom para reparar o pneu e muito facil , e so setar a var do pneu a 100 ou ao maximo que vocк definiu!
Creditos
DonSpeed
Rjjj
Wiki sa-mp
Qualquer duvida poste aqui tentarei exclarecer.
Eu ia postar como FilterScript mas achei que tava muito basico , entгo vo explicar como fazer!
Antes de tudo vocк precisa saber que em algo pro VEICULO tipo , ALARME, TRAVA, GAS ETC. SE USA MAX_VEHICLES.
VI O POVO DO MEGA TRUCK USANDO MAX_PLAYERS PARA VEICULOS PQP.
Bom vamos la:
Primeiro o sistema de pneu precisa de uma variavel , uma variavel de veiculo e nгo de player
pawn Код:
new Pneu[MAX_VEHICLES];// Topo do GameMode/ FilterScript
Deve ser float.
Podes usar junto com seu sistema de carros.
Apos isso precisamos setar os pneuґs quando o servidor e logado ja para que nгo comeзe extourado!
Iremos utilizar um loop
pawn Код:
- Código:
for(new d = 0; d < MAX_VEHICLES; d++)
Pneu[d] = 100;
Tambem podes usar junto com sistema de carro que provavelmente seta algo no GameModeInit usando loop de veiculos.
PHP код:
- Código:
Pneu[d] = 100; > Esse 100 Se refere ao maximo do pneu podes mudar
Agora precisamos fazer um timer para que possamos reduzir o pneu conforme ele for andando.
Primeiro vamos fazer uma variavel AGORA PARA O PLAYER , para que possa fazermos o timer!
pawn Код:
new Timer[MAX_PLAYERS];// Topo do GameMode/ FilterScript
Bom feito isso iremos procurar pela callback chamada OnPlayerStateChange.
Iremos fazer o codigo para ver se ele e motorista!
E iniciar o Timer , e ja da um KillTimer (Parar o Timer).
pawn Код:
- Código:
[left]public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
Timer[playerid] = SetTimerEx("AtualizarVelocimetro", 100, true, "d", playerid);
}else KillTimer(Timer[playerid]);
return 1;
}[/left]
PHP код:
- Código:
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
Podes ser adaptado ao seu GameMode/FilterScript
Agora vamos criar a CallBack para a atualizaзгo
E diminuir o pneu!
pawn Код:
- Código:
[left]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;
}[/left]
PHP код:
- Código:
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
Agora vou explicar como deve ser para que estoure o pneu:
PHP код:
- Código:
if(Pneu[GetPlayerVehicleID(playerid)] < 1) -> Quantidade minima para estourar o pneu
Ai vocк deve getar os damanges do veiculo, criando as variaveis das damanges para usa-los.
PHP код:
- Código:
new Paineis, Portas, Luzes, Pneu;
GetVehicleDamageStatus(GetPlayerVehicleID(playerid), Paineis, Portas, Luzes, Pneu);
Agora para estourar o pneu . Hб varios modos de estouro .
Vocк deve se perguntar como assim
PHP код:
- Código:
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
Estes sгo de veiculos com 4 rodas .
Para ver os de bikerrs/motos > https://sampwiki.blast.hk/wiki/TireStates
Ai e so fazer um update das damanges
PHP код:
- Código:
UpdateVehicleDamageStatus(GetPlayerVehicleID(playerid), Paineis, Portas, Luzes, ID DO ESTOURO DO PNEU);
ID DO ESTOURO DO PNEU -> Escolha seu id na tabela acima!
Bom para reparar o pneu e muito facil , e so setar a var do pneu a 100 ou ao maximo que vocк definiu!
Creditos
DonSpeed
Rjjj
Wiki sa-mp
Qualquer duvida poste aqui tentarei exclarecer.