when pressing the key, he doesnt enters the vehicle, something different than the default
#1

hey everybody,

ok so my friend had an idea, a caddy, with the car wreck model, attached to it, so it would look cool xD, and it does looks cool now, i attached it to the caddy and its like a real car, so we attached some things to the bonnet and the roof, and a spoiler also, but now when i exit the vehicle, and wanna enter it again, i cant enter it, probably cuz the objects are in the way and that he doesnt wants to enter, so i thought, imma make something for that, but still it aint working, i made some debug msgs, but it only sends the first one when my friend tries it, not the second one, here is my code:

pawn Код:
if(newkeys & KEY_SECONDARY_ATTACK)
    {
        printf("pressed key");
        if(IsPlayerNearVehicle(playerid, GetVehicleModel(457), 10.0))
        {
            PutPlayerInVehicle(playerid, GetClosestVehicle(playerid, 5.0), 0);
            printf("entered");
        }
    }
pawn Код:
stock GetClosestVehicle(playerid, Float:range)
{
    new     Float:p_X;
    new     Float:p_Y;
    new     Float:p_Z;

    new     Float:Distance;
    new     Float:PretendentDistance = range +1;
    new     Pretendent;

    GetPlayerPos(playerid, p_X, p_Y, p_Z);

    for(new vehicleid=1; vehicleid < MAX_VEHICLES; vehicleid++)
    {
        Distance = GetVehicleDistanceFromPoint(vehicleid, p_X, p_Y, p_Z);

        if(Distance <= range && Distance <= PretendentDistance)
        {
            Pretendent = vehicleid;
            PretendentDistance = Distance;
        }
    }

    return Pretendent;
}
stock IsPlayerNearVehicle(playerid, vehicleid, Float:range)
{
    new Float:X, Float:Y, Float:Z;
    GetVehiclePos(vehicleid, X, Y, Z);
    if(IsPlayerInRangeOfPoint(playerid, range, X, Y, Z))return true;
    else return false;
}
can anybody tell me wuts wrong with this? i tried many things but none worked, as i said the message "pressed key" does gets send, so that works, but the message of "entered" doesnt gets send... meaning something isnt right there, but i cant see wut is wrong, can anybody tell me wuts wrong with this?

greets niels
Reply
#2

pawn Код:
if(newkeys & KEY_SECONDARY_ATTACK)
That should be:

pawn Код:
if(newkeys == KEY_SECONDARY_ATTACK)
Reply
#3

already said that aint the problem, since it DOES sends the message that the key is pressed, but i will try it anyways, ty
Reply
#4

it is something with GetClosestVehicle function.
Reply
#5

lol but wut is wrong with it then xD
Reply
#6

pawn Код:
stock IsPlayerNearVehicle(playerid, vehicleid, Float:range)
{
    new Float:X, Float:Y, Float:Z;
    GetVehiclePos(vehicleid, X, Y, Z);
    return IsPlayerInRangeOfPoint(playerid,X,Y,Z);
}
its might work.

-N.Z-
Reply
#7

This should work...

pawn Код:
if(newkeys & KEY_SECONDARY_ATTACK)
    {
        print("pressed key");
        new newvehid = GetClosestVehicle(playerid, 5.0);
        if(newvehid != 0)
        {
            PutPlayerInVehicle(playerid, newvehid, 0);
            print("entered");
        }
        else
        {
             print("Failed to find car nearby!");
        }
    }
Reply
#8

it works, it only doesnt puts me in any vehicle... it does says the "entered" in console... i used yours CodyCummings, but doesnt works properly, i got this now:

pawn Код:
if(newkeys & KEY_SECONDARY_ATTACK)
    {
        print("pressed key");
        new newvehid = GetClosestVehicle(playerid, 5.0);
        if(newvehid != 0)
        {
            PutPlayerInVehicle(playerid, newvehid, 0);
            print("entered");
        }
        else
        {
             print("Failed to find car nearby!");
        }
    }
wuts wrong with this?
Reply
#9

Why not use OnPlayerEnterVehicle? That one's called as soon as you press the button to enter the vehicle. Or are you actually this far away that the animation/callback isn't triggered?
Reply
#10

eehm wut do you mean with: Or are you actually this far away that the animation/callback isn't triggered?

??

also, shouldnt it do the same as this one? just say that i entered, but doesnt puts me in?

EDIT: i tried the onplayerentervehicle thing, didnt sent a print at all, doesnt do anything, doesnt puts me in car, i have this:

pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    vehicleid = GetClosestVehicle(playerid, 5.0);
    if(vehicleid != 0)
    {
        PutPlayerInVehicle(playerid, vehicleid, 0);
        print("entered");
    }
    else
    {
        print("Failed to find car nearby!");
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)