05:06
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: AXE, Weddew  
Проверка на перемещение
toneysixДата: Воскресенье, 06.03.2011, 23:23 | Сообщение # 16
Джэдай
Группа: I'm V.I.P.
Сообщений: 1731
Награды: 77
Город: Салават
Репутация: 1825
Замечания: 0%
Статус:
if(GetSpeed(playerid) < 10 && !(IsPlayerInRangeOfPoint(i, 10.0, x[i], y[i], z[i])))
Вот явный пример, когда скорость игрока меньше 10, в то время, он резко меняет позицию, но это условие больше подходит для проверки, чтобы не было ложный сигналов, когда игрок находится в тачке, так как он же может двигаться быстро.



Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
maximus-vrnДата: Понедельник, 07.03.2011, 00:05 | Сообщение # 17
Уверенный в себе
Группа: Продвинутые
Сообщений: 174
Награды: 2
Город: Воронеж
Репутация: 13
Замечания: 0%
Статус:
Срабатывает неплохо на тп, вот только она ещё срабатывает при смерти.
toneysixДата: Понедельник, 07.03.2011, 01:45 | Сообщение # 18
Джэдай
Группа: I'm V.I.P.
Сообщений: 1731
Награды: 77
Город: Салават
Репутация: 1825
Замечания: 0%
Статус:
maximus-vrn чтобы не срабатывала при смерти, делай проверку, OnPlayerDeath зануляй переменную, в OnPlayerSpawn восстанавливай.


Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
stepmexДата: Понедельник, 07.03.2011, 11:09 | Сообщение # 19
Мастер джэдай
Группа: Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус:
Ускорение http://wiki.sa-mp.com/wiki/GetPlayerVelocity
Quote (toneysix)
maximus-vrn чтобы не срабатывала при смерти, делай проверку, OnPlayerDeath зануляй переменную, в OnPlayerSpawn восстанавливай.

http://wiki.sa-mp.com/wiki/GetPlayerState == PLAYER_STATE_SPAWNED



И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
toneysixДата: Понедельник, 07.03.2011, 12:34 | Сообщение # 20
Джэдай
Группа: I'm V.I.P.
Сообщений: 1731
Награды: 77
Город: Салават
Репутация: 1825
Замечания: 0%
Статус:
stepmex я никогда не доверял этим get функциями, в разных случаях дают искаженные результаты


Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
maximus-vrnДата: Понедельник, 07.03.2011, 13:24 | Сообщение # 21
Уверенный в себе
Группа: Продвинутые
Сообщений: 174
Награды: 2
Город: Воронеж
Репутация: 13
Замечания: 0%
Статус:
Пробовал с обнулением переменной при смерти, не получилось, проверка срабатывает постоянно пока я после респавна стою на одном месте, как только отхожу с этого места срабатывание прекращается. Если использовать PLAYER_STATE_SPAWNED результат аналогичен предыдущему.

Code
public AntiSpeed(playerid)
{
      new Float:plocx,Float:plocy,Float:plocz;
   for(new i=0;i<GetMaxPlayers();i++)
   {
   MaxSpeed[i] = GetPlayerSpeed(i);
   if(MaxSpeed[i] > 380)
   {
   new playername[30];
   GetPlayerName(i, playername, MAX_PLAYER_NAME);
   SendClientMessage(i,COLOR_RED,"Превышение максимально возможной скорости!");
   Kick(i);
   printf("[Античит] Игрок %s был кикнут. Зафиксированная скорость %i км/ч", playername, MaxSpeed[i]);
   }
   GetPlayerPos(i, plocx, plocy, plocz);
   if(!(GetPlayerState(i) == PLAYER_STATE_SPAWNED) && (GetPlayerSpeed(i) < 3) && !(IsPlayerInRangeOfPoint(i, 200.0, Antispeedx[i], Antispeedy[i], Antispeedz[i])) && (logged[i] == 1))
   {
   SendClientMessage(i,COLOR_RED,"Телепорт");
   }
   else
   {
   Antispeedx[i] = plocx;
   Antispeedy[i] = plocy;
   Antispeedz[i] = plocz;
   }
   }
}



Сообщение отредактировал maximus-vrn - Понедельник, 07.03.2011, 13:25
toneysixДата: Понедельник, 07.03.2011, 14:05 | Сообщение # 22
Джэдай
Группа: I'm V.I.P.
Сообщений: 1731
Награды: 77
Город: Салават
Репутация: 1825
Замечания: 0%
Статус:
maximus-vrn всё дело в том, что когда игрок умирает, он спавнится на совершенно другой позиции, отличающейся от места, где он погиб, я бы даже рекомендовал сделать так, создать переменную времени задержки проверки анти-чита, к примеру waitTime[playerid] = 3, и когда он погибает, устанавливать переменной значение задержки, например 5 секунд (если таймер по-секундный), но, получение координат должны работать не зависимо от этой переменной, чтобы GetPlayerPos брала его новые координаты в x y z, а проверка, которая проверяет на тп ждала эти пять секунд, пока игрок нормально не заспавнится и координаты, как положено не обновятся. Если 5 секунд будет маловато, то можно сделать 7-8, поэкспериментируй с этим.


Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
maximus-vrnДата: Понедельник, 07.03.2011, 19:19 | Сообщение # 23
Уверенный в себе
Группа: Продвинутые
Сообщений: 174
Награды: 2
Город: Воронеж
Репутация: 13
Замечания: 0%
Статус:
Сделал на 10 секунд, вроде бы всё нормально, при смерти не срабатывает. Но при входе в здание координаты тоже резко меняются и получается как будто телепорт.
toneysixДата: Понедельник, 07.03.2011, 19:56 | Сообщение # 24
Джэдай
Группа: I'm V.I.P.
Сообщений: 1731
Награды: 77
Город: Салават
Репутация: 1825
Замечания: 0%
Статус:
maximus-vrn ты должен сделать нестандартную команду по изменению координат SetPlayerPosEx например, там менять координаты, производить запись в массив координат и также делать задержки в переменную.


Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
maximus-vrnДата: Понедельник, 07.03.2011, 20:42 | Сообщение # 25
Уверенный в себе
Группа: Продвинутые
Сообщений: 174
Награды: 2
Город: Воронеж
Репутация: 13
Замечания: 0%
Статус:
Это уже слишком сложно для меня :D
Спасибо и на этом ;)

toneysixДата: Понедельник, 07.03.2011, 20:54 | Сообщение # 26
Джэдай
Группа: I'm V.I.P.
Сообщений: 1731
Награды: 77
Город: Салават
Репутация: 1825
Замечания: 0%
Статус:
maximus-vrn в этом нет совершенно ничего сложного, просто создаешь обычную функцию, там будет прямая запись координат в твои переменные, которые получила функция с аргументов. Далее точно также присваиваешь переменной для задержки анти-чита число, например 10, и потом меняешь с помощью стандартной функции SetPlayerPos координаты. Напиши в личку если не понял, скажу свою аську обсудим.


Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua