DizeL-ZR, если оно работает (а оно кажись работает (твой код)), то можно замутить Anti-FakeKill. Хоть их оч много, но все же. Главное знать макс видимость снайперки.
Народ подскажите pls мучаюсь уже пздц скока. Вот функция сам: [pwn]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)); }[/pwn]
Тут мы задаём кординаты: GetPlayerPos(p1,x1,y1,z1); GetPlayerPos(p2,x2,y2,z2);
Как мне сделать вот например кординаты 1 ИД я узнаю через: GetPlayerPos(p1,x1,y1,z1); А кординаты другие я уже знаю как обайтись без: GetPlayerPos(p2,x2,y2,z2); Напишите pls функцию. СПС с меня +)
Если тебе нужно проверить не дальше ли нужного растояния игрок, то используй встроенную функцию. IsPlayerInRangeOfPoint(playerid, Float:range, Float:x, Float:y, Float:z);
пример:
Code
if(!strcmp("/stadium",cmdtext)) { if(IsPlayerInRangeOfPoint(playerid, 7.0, 2695.6880, -1704.6300, 11.8438)) { SendClientMessage(playerid,0xFFFFFFFF,"You are near the Stadium entrance!"); } return 1; }
Если нужно получить именно расстояние, тогда можно переделать команду:
Code
forward Float:GetDistancePlayerToCoord(playerid,x,y,z); public Float:GetDistancePlayerToCoord(playerid,x,y,z){ new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2; if (!IsPlayerConnected(p1) || !IsPlayerConnected(p2)){ return -1.00; } GetPlayerPos(playerid,x1,y1,z1); return floatsqroot(floatpower(floatabs(floatsub(x,x1)),2)+floatpower(floatabs(floatsub(y,y1)),2)+floatpower(floatabs(floatsub(z,z1)),2)); }
Сделал вот так: [pwn]forward Float:GetDistancePlayerToCoord(playerid,x,y,z);
public Float:GetDistancePlayerToCoord(playerid,x,y,z){ new Float:x1,Float:y1,Float:z1; GetPlayerPos(playerid,x1,y1,z1); return floatsqroot(floatpower(floatabs(floatsub(x,x1)),2)+floatpower(floatabs(floatsub(y,y1)),2)+floatpower(floatabs(floatsub(z,z1)),2)); }
public OnPlayerUpdate(playerid) { new Float:x,Float:y,Float:z; x = 2823.7051; y = 2596.9707; z = 10.8203; if(GetDistancePlayerToCoord(playerid,x,y,z) < 5) { SendClientMessage(playerid, COLOR_RED,"True!"); } return 1; } [/pwn] Не работает (