Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // C++
- float floatmul(float v, float c)
- {
- return (v*c);
- }
- float floatsub(float v, float c)
- {
- return (v-c);
- }
- float floatadd(float v, float c)
- {
- return (v+c);
- }
- float retDriftAngle(int playerid)
- {
- int vehicleid = GetPlayerVehicleID(playerid);
- float
- v[3],
- a[3];
- GetVehicleVelocity(vehicleid, &v[0], &v[1], &v[2]);
- GetVehicleZAngle(vehicleid, &a[0]);
- if(floatmul(sqrt(floatadd(floatadd(pow(v[0], 2), pow(v[1], 2)), pow(v[2], 2))), 181.5) < 20.0f) return 0.0f;
- a[0] = (a[0] >= 360.0f) ? (floatsub(a[0], 360.0f)) : (a[0] < 0.0f) ? (floatadd(a[0], 360.0f)) : (a[0]);
- a[0] = (a[0] > 180.0f) ? (floatsub(0.0f, floatsub(360.0f, a[0]))) : (a[0]);
- a[1] = floatsub(atan2(v[1], v[0]), 90.0f);
- a[1] = (a[1] >= 360.0f) ? (floatsub(a[1], 360.0f)) : (a[1] < 0.0f) ? (floatadd(a[1], 360.0f)) : (a[1]);
- a[1] = (a[1] > 180.0f) ? (floatsub(0.0f, floatsub(360.0f, a[1]))) : (a[1]);
- a[2] = abs(floatsub(a[0], a[1]));
- a[2] = (a[2] > 180.0f) ? (floatsub(a[2], 180.0f)) : (a[2]);
- return (a[2] >= 90.0f) ? (floatsub(180.0f, a[2])) : (a[2]);
- }
- ////// *** PAWN //////
- new vehicleid = GetPlayerVehicleID(playerid);
- if(vehicleid == INVALID_VEHICLE_ID || !vehicleid) return 0.0;
- new Float:v[3], Float:a[3];
- GetVehicleVelocity(vehicleid, v[0], v[1], v[2]); GetVehicleZAngle(vehicleid, a[0]);
- if(floatmul(floatsqroot(floatadd(floatadd(floatpower(v[0], 2), floatpower(v[1], 2)), floatpower(v[2], 2))), 181.5) < 20.0) return 0;
- a[0] = (a[0] >= 360.0) ? (floatsub(a[0], 360.0)) : (a[0] < 0.0) ? (floatadd(a[0], 360.0)) : (a[0]);
- a[0] = (a[0] > 180.0) ? (floatsub(0.0, floatsub(360.0, a[0]))) : (a[0]);
- a[1] = floatsub(atan2(v[1], v[0]), 90.0);
- a[1] = (a[1] >= 360.0) ? (floatsub(a[1], 360.0)) : (a[1] < 0.0) ? (floatadd(a[1], 360.0)) : (a[1]);
- a[1] = (a[1] > 180.0) ? (floatsub(0.0, floatsub(360.0, a[1]))) : (a[1]);
- a[2] = floatabs(floatsub(a[0], a[1]));
- a[2] = (a[2] > 180.0) ? (floatsub(a[2], 180.0)) : (a[2]);
- return (a[2] >= 90.0) ? (floatsub(180.0, a[2])) : (a[2]);
Advertisement
Add Comment
Please, Sign In to add comment