27.02.2014, 21:20
Bueno, tengo el comando /esposar para esposar a un jugador, el problema es que necesito que solo me deje usarlo si estoy cerca de el jugador que voy a esposar, tengo el codigo asi:
La cosa es que solo me deja hacerlo si uso la ID 0, pero si uso una id mayor a 0 me dice que no estoy cerca del usuario, ya tengo definidas las variables del GetPlayerPos globalmente.
Gracias.
Код:
CMD:esposar(playerid, params[]) { new string[126]; new ID; GetPlayerPos(ID, DeathX[ID], DeathY[ID], DeathZ[ID]); if(IsAPolice(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "No estбs autorizado para usar este comando"); if(sscanf(params, "u", ID) )return SendClientMessage(playerid,COLOR_WHITE,"Uso: /esposar [ID]"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid,COLOR_WHITE,"Jugador desconectado o id incorrecta"); if(GetPlayerWantedLevel(ID) == 0) return SendClientMessage(playerid,-1,"Este jugador no tiene nivel de busqueda"); if(!IsPlayerInRangeOfPoint(playerid, 10.0, DeathX[ID], DeathY[ID], DeathZ[ID])) return SendClientMessage(playerid,-1,"Debes estar cerca de esta persona para esposarla"); { Esposando[ID] = 1; TogglePlayerControllable(ID,0); TimerEsposar[ID] = SetTimerEx("TiempoArresto", 10000, false, "d", ID); SetPlayerSpecialAction(ID,SPECIAL_ACTION_HANDSUP); SendClientMessage(ID,-1,"Estas siendo esposado, para resitirte escribe /resistirse"); format(string, sizeof(string), "{0079C9} Oficial %s{FFFFFF} intenta esposar a %s", NombreJugador(playerid), NombreJugador(ID)); return ProxDetector(30.0, playerid, string, COLOR_VERDECLARO,COLOR_VERDECLARO,COLOR_VERDECLARO,COLOR_VERDECLARO,COLOR_VERDECLARO); } }
Gracias.