[Ayuda] Con una funcion -
Thewin - 27.02.2014
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:
Код:
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);
}
}
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.
Respuesta: [Ayuda] Con una funcion -
OTACON - 27.02.2014
pawn Код:
CMD:esposar(playerid, params[]){
new data[144], Float:pos[3], jugador;
if(IsAPolice(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "No estбs autorizado para usar este comando");
if(sscanf(params, "r", jugador) )return SendClientMessage(playerid,COLOR_WHITE,"Uso: /esposar [ID]");
if(!IsPlayerConnected(jugador)) return SendClientMessage(playerid,COLOR_WHITE,"Jugador desconectado o id incorrecta");
if(GetPlayerWantedLevel(jugador) == 0) return SendClientMessage(playerid,-1,"Este jugador no tiene nivel de busqueda");
GetPlayerPos(jugador, pos[0], pos[1], pos[2]);
if(!IsPlayerInRangeOfPoint(playerid, 10.0, pos[0], pos[1], pos[2])) return SendClientMessage(playerid,-1,"Debes estar cerca de esta persona para esposarla");
Esposando[jugador] = 1;
TogglePlayerControllable(jugador,0);
TimerEsposar[jugador] = SetTimerEx("TiempoArresto", 10000, false, "d", ID);
SetPlayerSpecialAction(jugador,SPECIAL_ACTION_HANDSUP);
SendClientMessage(jugador,-1,"Estas siendo esposado, para resitirte escribe /resistirse");
format(data, sizeof(data), "{0079C9} Oficial %s{FFFFFF} intenta esposar a %s", NombreJugador(playerid), NombreJugador(jugador));
ProxDetector(30.0, playerid, data, COLOR_VERDECLARO,COLOR_VERDECLARO,COLOR_VERDECLARO,COLOR_VERDECLARO,COLOR_VERDECLARO);
return true;
}
Re : [Ayuda] Con una funcion -
Thewin - 27.02.2014
Gracias denuevo, solucionado.