04/10/2023 10:55
(Esta mensagem foi modificada pela última vez a: 04/10/2023 11:04 por leonardos08bt.
Motivo da edição: Completar a explicação.
)
Bom, na maioria dos clients (mobile) o veículo fica imune se não houver nenhum motorista no veículo. Você pode burlar isso na sua gamemode usando esse código: (codigo exemplar de tirar *dano* do veículo se não houver motorista)
Este código tira *3* de dano do veículo caso não haja motorista.
Código apenas exemplar, adapte à suas necessidades.
Código:
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
if(hittype == BULLET_HIT_TYPE_VEHICLE)
{
if(VehicleAsDriver(hitid)) return 1;
new Float:health; GetVehicleHealth(hitid, health);
new Float:dano; dano = 3; //sinta-se a vontade de modificar o dano.
SetVehicleHealth(hitd, health-dano); //retira do veículo tal dano.
new str[124]; format(str, sizeof(str), "Você deu %.f dano no veículo id %d!", dano, hitd);
SendClientMessage(playerid, -1, str);
}
return 1;
}
stock VehicleAsDriver(vehicleid)
{
for(new i; i < MAX_PLAYERS; i++) //Caso use foreach coloque foreach.
{
if(IsPlayerConnected(i))
continue;
if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == PLAYER_STATE_DRIVER) {
return true;
}
}
return false;
}
Código apenas exemplar, adapte à suas necessidades.