Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Example Anti-Teleport Vehicle
- by AirKite
- Not finished!!!
- */
- new Float:OldVehiclePos[2000][4];
- new LastCar[500];
- #include <a_samp>
- stock Float:GetDistanceBetweenPoints(Float:x,Float:y,Float:z,Float:x2,Float:y2,Float:z2)
- {
- return floatsqroot(floatpower(floatabs(floatsub(x2,x)),2)+floatpower(floatabs(floatsub(y2,y)),2)+floatpower(floatabs(floatsub(z2,z)),2));
- }
- public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat)
- {
- new string[128], Float:vpos_x, Float:vpos_y, Float:vpos_z, Float:vpos_a;
- GetVehiclePos(vehicleid, vpos_x, vpos_y, vpos_z); GetVehicleZAngle(vehicleid,vpos_a);
- if(OldVehiclePos[vehicleid][0] != 0.0 && OldVehiclePos[vehicleid][1] != 0.0 && OldVehiclePos[vehicleid][2] != 0.0 && OldVehiclePos[vehicleid][3] != 0.0)
- {
- new Float:vehicledistance = GetDistanceBetweenPoints(vpos_x, vpos_y, vpos_z, OldVehiclePos[vehicleid][0], OldVehiclePos[vehicleid][1], OldVehiclePos[vehicleid][2]);
- //format(string, sizeof(string), "Update Distance: %f", vehicledistance);
- //SendClientMessage(playerid, 0xFFFFFFFF, string);
- if(vehicledistance > 15.0)
- {
- SetVehiclePos(vehicleid, OldVehiclePos[vehicleid][0], OldVehiclePos[vehicleid][1], OldVehiclePos[vehicleid][2]);
- SetVehicleZAngle(vehicleid,OldVehiclePos[vehicleid][3]);
- return;
- }
- }
- OldVehiclePos[vehicleid][0]=vpos_x;
- OldVehiclePos[vehicleid][1]=vpos_y;
- OldVehiclePos[vehicleid][2]=vpos_z;
- OldVehiclePos[vehicleid][3]=vpos_a;
- }
- public OnPlayerStateChange(playerid,newstate,oldstate)
- {
- if(newstate == PLAYER_STATE_DRIVER)
- {
- LastCar[playerid]=GetPlayerVehicleID(playerid);
- }
- else if(oldstate == PLAYER_STATE_DRIVER)
- {
- new lastveh = LastCar[playerid];
- GetVehiclePos(lastveh,OldVehiclePos[lastveh][0],OldVehiclePos[lastveh][1],OldVehiclePos[lastveh][2]);
- GetVehicleZAngle(lastveh,OldVehiclePos[lastveh][3]);
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement