Calculate position on vehicle
#8

You don't need GetVR unless you need elevation (z) probably E.G for a slope, your missing the 'core value' of this all, which is the z angle.

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
//Test command
    if (strcmp("/cap", cmdtext, true, 10) == 0)
    {
        if(IsPlayerInAnyVehicle(playerid))
        {
            if(td)
            {
                Delete3DTextLabel(tdt);
            }
            new Float:x, Float:y, Float:z, angle;
            GetVehicleZAngle(GetPlayerVehicleID(playerid), angle);
            GetVehicleInfo(GetPlayerVehicleID(playerid), VEHICLE_MODEL_INFO_PETROLCAP, x,y,z, angle);
            tdt = Create3DTextLabel("[x]", 0xFFFFFFFF, x, y, z, 50.0, 0, 0);//Create 3d label
            td = 1;
            return 1;
        }
    }
    if (strcmp("/capattach", cmdtext, true, 10) == 0)
    {
        if(IsPlayerInAnyVehicle(playerid))
        {
            if(td)
            {
                Delete3DTextLabel(tdt);
            }
            new Float:mX, Float:mY, Float:mZ, Floatx, Float:y, Float:z
                vehicleid = GetPlayerVehicleID(playerid);
            GetVehicleModelInfo(GetVehicleModel(vehicleid), VEHICLE_MODEL_INFO_PETROLCAP, mX, mY, mZ); //Get the model's offset to the infotype
            GetVehiclePos(vehicleid, x, y, z);
            tdt = Create3DTextLabel("[x]", 0xFFFFFFFF, x, y, z, 50.0, 0, 0);//Create 3d label
            td = 1;
            Attach3DTextLabelToVehicle(tdt, vehicleid, mX, mY, mZ);
            return 1;
        }
    }
    return 0;
}

stock GetVehicleInfo(vehicleid, infotype, &Float:X, &Float:Y, &Float:Z, &Float:Angle)
{
    if(!IsValidVehicle(vehicleid)) return false;

    new Float:mX, Float:mY, Float:mZ, Float:vX, Float:vY, Float:vZ;

    GetVehicleModelInfo(GetVehicleModel(vehicleid), infotype, mX, mY, mZ);//Get the model's offset to the infotype
    GetVehiclePos(vehicleid, vX, vY, vZ);
   
    z += mZ;

    x += (mY * floatsin(-angle, degrees));
    y += (mY * floatcos(-angle, degrees));

    angle += 270.0;
    x += (mX * floatsin(-angle, degrees));
    y += (mX * floatcos(-angle, degrees));
    angle -= 270.0;
    return true;

}
Reply


Messages In This Thread
Calculate position on vehicle via offset[unsolved][MATHS] - by ikkentim - 18.08.2012, 19:58
Re: Calculate position on vehicle - by ikkentim - 20.08.2012, 16:34
Re: Calculate position on vehicle - by playbox12 - 20.08.2012, 16:51
Re: Calculate position on vehicle - by ThePhenix - 20.08.2012, 16:54
Re: Calculate position on vehicle - by ikkentim - 20.08.2012, 16:58
Re: Calculate position on vehicle - by ThePhenix - 20.08.2012, 17:10
Re: Calculate position on vehicle - by ikkentim - 20.08.2012, 17:24
Re: Calculate position on vehicle - by Kar - 20.08.2012, 17:35
Re: Calculate position on vehicle - by ikkentim - 20.08.2012, 22:25
Re: Calculate position on vehicle - by Ranama - 20.08.2012, 22:48

Forum Jump:


Users browsing this thread: 1 Guest(s)