cabrascyril Карма: 0 |
Добавлено: 11:27 12 сентября 2013 | |
|
К forwardам:
forward ProxDetectorS(Float:radi, playerid, targetid); forward SyncUp();
Ко всем пабликам:
public ProxDetectorS(Float:radi, playerid, targetid)
{
if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
{
new Float:posx, Float:posy, Float:posz;
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
//radi = 2.0; //Trigger Radius
GetPlayerPos(targetid, posx, posy, posz);
tempposx = (oldposx -posx);
tempposy = (oldposy -posy);
tempposz = (oldposz -posz);
//printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
if (((tempposx -radi)) && ((tempposy -radi)) && ((tempposz -radi)))
{
return 1;
}
}
return false;
}
В команде прописываешь:
if(!ProxDetectorS(8.0, playerid, idd)) return SCM(playerid, COLOR_GREY, "Человек далеко");
idd замени на переменную команды.
|
Frapsy Карма: 0 |
Добавлено: 18:28 3 октября 2013 | |
|
В любое место вне коллбэков:
stock CheckDist(const pl, const pl2, const Float:dist, Float:pX = 0, Float:pY = 0, Float:pZ = 0) {
GetPlayerPos(pl,pZ,pY,pZ);
if(IsPlayerInRangeOfPoint(pl2,dist,pX,pY,pZ)) return 1;
else return 0;
}
Использование:
if(!CheckDist(id1,id2,15)) return 1;
|