eu descobri como fazer na vdd eu tava fazendo corretamente o problema era que eu estava testando errado.
OnVehicleDamageStatusUpdate so é chamado quando há um player no veiculo(assim eu acho pois era isso que estava acusando em meus testes) e como eu to testando no localhost estava fzd testes sozinho.
ta beleza como eu quero que fure o pneu mesmo não tendo ninguem no veiculo e OnVehicleDamageStatusUpdate so é chamada quando tem um player no veiculo pelo que eu percebi em meus testes, então fui procurar uma callback que atenda o que eu estou precisando e achei: OnUnoccupiedVehicleUpdate e segundo a wiki o objetivo dela é:
então implementei na GM o seguinte:
e quando eu atiro no pneu aparece isso no console:
ou seja não esta funcionando da maneira que eu quero ;-;
Código:
public OnVehicleDamageStatusUpdate(vehicleid, playerid) {
new panels, doors, lights, tires;
GetVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
UpdateVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
return 1;
}
OnVehicleDamageStatusUpdate so é chamado quando há um player no veiculo(assim eu acho pois era isso que estava acusando em meus testes) e como eu to testando no localhost estava fzd testes sozinho.
ta beleza como eu quero que fure o pneu mesmo não tendo ninguem no veiculo e OnVehicleDamageStatusUpdate so é chamada quando tem um player no veiculo pelo que eu percebi em meus testes, então fui procurar uma callback que atenda o que eu estou precisando e achei: OnUnoccupiedVehicleUpdate e segundo a wiki o objetivo dela é:
Código:
Este retorno de chamada é chamado quando o cliente de um jogador atualiza / sincroniza a posição de um veículo que ele não está dirigindo. Isso pode acontecer fora do veículo ou quando o jogador é um passageiro de um veículo que não tem motorista.
então implementei na GM o seguinte:
Código PHP:
public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat, Float:new_x, Float:new_y, Float:new_z, Float:vel_x, Float:vel_y, Float:vel_z)
{
new panels1, doors2, lights3, tires4;
GetVehicleDamageStatus(vehicleid, panels1, doors2, lights3, tires4);
//então coloquei para mostrar no console o que esta acontecendo
printf("Vehicle Status1: [Panels]: %d - [Doors]: %d - [Lights]: %d - [Tires]: %d", panels1, doors2, lights3, tires4);
UpdateVehicleDamageStatus(vehicleid, panels1, doors2, lights3, tires4);
return 1;
}
e quando eu atiro no pneu aparece isso no console:
Código:
Vehicle Status1: [Panels]: 0 - [Doors]: 0 - [Lights]: 0 - [Tires]: 0
Vehicle Status1: [Panels]: 0 - [Doors]: 0 - [Lights]: 0 - [Tires]: 0
Vehicle Status1: [Panels]: 0 - [Doors]: 0 - [Lights]: 0 - [Tires]: 0
Vehicle Status1: [Panels]: 0 - [Doors]: 0 - [Lights]: 0 - [Tires]: 0
Vehicle Status1: [Panels]: 0 - [Doors]: 0 - [Lights]: 0 - [Tires]: 0
Vehicle Status1: [Panels]: 0 - [Doors]: 0 - [Lights]: 0 - [Tires]: 0