16.03.2012, 09:22
Код:
if(strcmp(cmd, "/prison", true) ==0) { if(IsPlayerAdmin(playerid)>1) { new suspect = GetClosestPlayer(playerid); if(GetPlayerWantedLevel(suspect)>1) { if(IsPlayerConnected(suspect)) { if(GetDistanceBetweenPlayers(playerid,suspect) < 5) { GetPlayerName(suspect, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "* You were prisoned by %s.", sendername); SendClientMessage(suspect, COLOR_BLUE, string); format(string, sizeof(string), "* You prisoned %s.", giveplayer); SendClientMessage(playerid, COLOR_BLUE, string); SetPlayerInterior(suspect,JAILINTERIOR); SetPlayerPos(suspect,JAILX,JAILY,JAILZ); } else { SendClientMessage(playerid, COLOR_GREY, "None near you!"); return 1; } } } else { SendClientMessage(playerid, COLOR_GREY, "You can only prison wanted persons!"); } } return 1; } forward GetClosestPlayer(p1); public GetClosestPlayer(p1) { new x,Float:dis,Float:dis2,player; player = -1; dis = 99999.99; for (x=0;x<MAX_PLAYERS;x++) { if(IsPlayerConnected(x)) { if(x != p1) { dis2 = GetDistanceBetweenPlayers(x,p1); if(dis2 < dis && dis2 != -1.00) { dis = dis2; player = x; } } } } return player; } forward Float:GetDistanceBetweenPlayers(p1,p2); public Float:GetDistanceBetweenPlayers(p1,p2) { new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2; if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2)) { return -1.00; } GetPlayerPos(p1,x1,y1,z1); GetPlayerPos(p2,x2,y2,z2); return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2)); }
dont forget to set the coords and interior or virtualworld aswell