GetClosetcoordonate(playerid) { new Float:distance,Float:distance2; distance = GetPlayerDistanceFromPoint(playerid, 1929.37,-1776.23,13.546); if(distance>nextdistance) distance = GetPlayerDistanceFromPoint(playerid,1833.11,-1842.56,13.578); distance = GetPlayerDistanceFromPoint(playerid,1833.11,-1842.56,13.578); distance = GetPlayerDistanceFromPoint(playerid,1533.11,-842.56,3.578); distance = GetPlayerDistanceFromPoint(playerid,-53.11,-12.56,6.578); return DistanceCloset; }
GetClosestCoordinate(playerid) { new Float:dist, whichone; dist = GetPlayerDistanceFromPoint(playerid, 1929.37,-1776.23,13.546; whichone = 1; if(dist < GetPlayerDistanceFromPoint(playerid, 1833.11,-1842.56,13.578)) { dist = GetPlayerDistanceFromPoint(playerid, 1833.11,-1842.56,13.578); whichone = 2; } if(dist < GetPlayerDistanceFromPoint(playerid,1833.11,-1842.56,13.578)) { dist = GetPlayerDistanceFromPoint(playerid,1833.11,-1842.56,13.578); whichone = 3; } if(dist < GetPlayerDistanceFromPoint(playerid,1533.11,-842.56,3.578)) { dist = GetPlayerDistanceFromPoint(playerid,1533.11,-842.56,3.578); whichone = 4; } if(dist < GetPlayerDistanceFromPoint(playerid,-53.11,-12.56,6.578)) whichone = 5; switch(whichone) { case 1: return SendClientMessage(playerid, -1, "Closest coords are : 1929.37,-1776.23,13.546; case 2: return SendClientMessage(playerid, -1, "Closest coords are : 1833.11,-1842.56,13.578; case 3: return SendClientMessage(playerid, -1, "Closest coords are : 1833.11,-1842.56,13.578; case 4: return SendClientMessage(playerid, -1, "Closest coords are : 1533.11,-842.56,3.578; case 5: return SendClientMessage(playerid, -1, "Closest coords are : -53.11,-12.56,6.578; } }
GetClosestCoordinate(playerid) { new Float:dist, whichone; dist = GetPlayerDistanceFromPoint(playerid, 1929.37,-1776.23,13.546; whichone = 1; if(dist < GetPlayerDistanceFromPoint(playerid, 1833.11,-1842.56,13.578)) { dist = GetPlayerDistanceFromPoint(playerid, 1833.11,-1842.56,13.578); whichone = 2; } if(dist < GetPlayerDistanceFromPoint(playerid,1833.11,-1842.56,13.578)) { dist = GetPlayerDistanceFromPoint(playerid,1833.11,-1842.56,13.578); whichone = 3; } if(dist < GetPlayerDistanceFromPoint(playerid,1533.11,-842.56,3.578)) { dist = GetPlayerDistanceFromPoint(playerid,1533.11,-842.56,3.578); whichone = 4; } if(dist < GetPlayerDistanceFromPoint(playerid,-53.11,-12.56,6.578)) whichone = 5; switch(whichone) { case 1: return SetPlayerCheckpoint(playerid, 1929.37,-1776.23,13.546, 2); case 2: return SetPlayerCheckpoint(playerid, 1833.11,-1842.56,13.578, 2); case 3: return SetPlayerCheckpoint(playerid, 1833.11,-1842.56,13.578, 2); case 4: return SetPlayerCheckpoint(playerid, 1533.11,-842.56,3.578, 2); case 5: return SetPlayerCheckpoint(playerid, -53.11,-12.56,6.578, 2); } }
You did not talk about checkpoints at all in your topic, you should have explained from the beginning..
And the whichone = 1; means that the closest coords are the first ones by default, if there are closer coords they will be set instead of the first ones, anyway: Код:
GetClosestCoordinate(playerid) { new Float:dist, whichone; dist = GetPlayerDistanceFromPoint(playerid, 1929.37,-1776.23,13.546; whichone = 1; if(dist < GetPlayerDistanceFromPoint(playerid, 1833.11,-1842.56,13.578)) { dist = GetPlayerDistanceFromPoint(playerid, 1833.11,-1842.56,13.578); whichone = 2; } if(dist < GetPlayerDistanceFromPoint(playerid,1833.11,-1842.56,13.578)) { dist = GetPlayerDistanceFromPoint(playerid,1833.11,-1842.56,13.578); whichone = 3; } if(dist < GetPlayerDistanceFromPoint(playerid,1533.11,-842.56,3.578)) { dist = GetPlayerDistanceFromPoint(playerid,1533.11,-842.56,3.578); whichone = 4; } if(dist < GetPlayerDistanceFromPoint(playerid,-53.11,-12.56,6.578)) whichone = 5; switch(whichone) { case 1: return SetPlayerCheckpoint(playerid, 1929.37,-1776.23,13.546); case 2: return SetPlayerCheckpoint(playerid, 1833.11,-1842.56,13.578); case 3: return SetPlayerCheckpoint(playerid, 1833.11,-1842.56,13.578); case 4: return SetPlayerCheckpoint(playerid, 1533.11,-842.56,3.578); case 5: return SetPlayerCheckpoint(playerid, -53.11,-12.56,6.578); } } |
if(dist < GetPlayerDistanceFromPoint(playerid, 1833.11,-1842.56,13.578)) { dist = GetPlayerDistanceFromPoint(playerid, 1833.11,-1842.56,13.578); whichone = 2; } if(dist < GetPlayerDistanceFromPoint(playerid,1833.11,-1842.56,13.578)) { dist = GetPlayerDistanceFromPoint(playerid,1833.11,-1842.56,13.578); whichone = 3; }
Код:
if(dist < GetPlayerDistanceFromPoint(playerid, 1833.11,-1842.56,13.578)) { dist = GetPlayerDistanceFromPoint(playerid, 1833.11,-1842.56,13.578); whichone = 2; } if(dist < GetPlayerDistanceFromPoint(playerid,1833.11,-1842.56,13.578)) { dist = GetPlayerDistanceFromPoint(playerid,1833.11,-1842.56,13.578); whichone = 3; } |
Even if he miss that, you should skip it.
lol, it make no since. Also the whichone variable is pointless. Take a look again, you can execute the function directly, without the switch. |
Well if you say so, reply with your code instead of pointing on useless things.
Also I won't remove that duplicate code as he asked for 5 coords and 2 of them were the same, it's not my problem ![]() |