detect vehicle is in water
#1

how i could i detect if the vehicle in water, is there a stock or something could be created?
thanks.
Reply
#2

You can only check if the player is in a vehicle and the vehicle is in the water by the available codes on the forums. If you want to do that. You will need to make a custom function which will check the pos of the vehicle with all the water areas. I tried to code you a function. It is untested. Maybe it will work. I am not sure.

pawn Код:
stock IsVehicleInWater(vehicleid)
{
        new Float:water_areas[][] =
        {
                {25.0,  2313.0, -1417.0,        23.0},
                {15.0,  1280.0, -773.0,         1082.0},
                {15.0,  1279.0, -804.0,         86.0},
                {20.0,  1094.0, -674.0,         111.0},
                {26.0,  194.0,  -1232.0,        76.0},
                {25.0,  2583.0, 2385.0,         15.0},
                {25.0,  225.0,  -1187.0,        73.0},
                {50.0,  1973.0, -1198.0,        17.0}
        };
        for(new t=0; t < sizeof water_areas; t++)
        if(GetVehicleDistanceFromPoint(vehicleid,water_areas[t][1],water_areas[t][2],water_areas[t][3]) <= water_areas[t][0]) return 1;
    return 0;
}
Reply
#3

If I recall correctly, OnVehicleDeath is triggered immediately when a vehicle enters water.
Reply
#4

Quote:
Originally Posted by Vince
Посмотреть сообщение
If I recall correctly, OnVehicleDeath is triggered immediately when a vehicle enters water.
Quote:
Originally Posted by SA-MP Wiki
This callback is called when a vehicle is destroyed - either by exploding or becoming submerged in water.
Also when it explodes.
Reply
#5

could you give me a small example how it work?
Reply
#6

Quote:
Originally Posted by COL
Посмотреть сообщение
could you give me a small example how it work?
pawn Код:
if(IsVehicleInWater(vehicleid))
{
    SendClientMessageToAll(-1, "Vehicle is in water.");
}
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)