Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- forward GetClosestCar(playerid);
- forward GetDistanceToCar(playerid,carid);
- public GetClosestCar(playerid){ //By Darkrealm (Edited by Gamer_Z for AtachVehToVeh)
- if (!IsPlayerConnected(playerid)){
- return -1;
- }
- new Float:prevdist = 20.000;
- new prevcar;
- for (new carid = 0; carid < MAX_VEHICLES; carid++){
- if(!IsVehicleInUse(carid)){
- new Float:dist = GetDistanceToCar(playerid,carid);
- if ((dist < prevdist)){
- prevdist = dist;
- prevcar = carid;
- }
- }
- }
- return prevcar;
- }
- public GetDistanceToCar(playerid,carid){ //By Darkrealm (Edited by Gamer_Z for AtachVehToVeh)
- new Float:dis;
- new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
- if (!IsPlayerConnected(playerid)) {
- return -1;
- }
- GetPlayerPos(playerid,x1,y1,z1);
- if(!IsVehicleInUse(carid)){
- GetVehiclePos(carid,x2,y2,z2);
- dis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
- return floatround(dis);
- }else{
- return SendClientMessage(playerid,0xFF0000FF,"ERROR");//debug
- }
- }
- IsVehicleInUse(vehicleid){//By Luby ..IsVehicleInUseDF xD
- new temp;
- for(new i=0;i<200;i++){
- if(IsPlayerConnected(i) && IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i)==PLAYER_STATE_DRIVER){
- temp++;
- }
- }
- if(temp > 0){ return true; } else return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment