Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- new Iterator:Veiculo<MAX_VEHICLES>;
- new Iterator:Colisao<MAX_VEHICLES>;
- new Float:Lataria[MAX_VEHICLES];
- forward OnVehicleCollision(vehicle1, vehicle2);
- public OnVehicleCollision(vehicle1, vehicle2)
- {
- printf("Veiculo ID_%d colidiu com veiculo ID_%d", vehicle1, vehicle2);
- return 1;
- }
- forward X_VehicleCollision();
- public X_VehicleCollision()
- {
- foreach(new i : Veiculo)
- {
- static Float:health;
- GetVehicleHealth(i, health);
- if(health < Lataria[i])
- {
- Iter_Add(Colisao, i);
- }
- Lataria[i] = health;
- }
- foreach(new i : Colisao)
- {
- static Float:x, Float:y, Float:z;
- GetVehiclePos(i, x, y, z);
- static vehicle, Float:mxdist;
- vehicle = 0; mxdist = 6.1;
- foreach(new id : Colisao)
- {
- if(i == id) continue;
- static Float:dist;
- dist = GetVehicleDistanceFromPoint(id, x, y, z);
- if(dist < mxdist)
- {
- mxdist = dist;
- vehicle = id;
- }
- }
- Iter_Remove(Colisao, i);
- if(IsValidVehicle(vehicle))
- {
- Iter_Remove(Colisao, vehicle);
- CallLocalFunction("OnVehicleCollision", "dd", i, vehicle);
- }
- }
- return 1;
- }
- // SetTimer("X_VehicleCollision", 100, 1);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement