- Исправлены ошибки уязвимости SA-MP серверов на Linux, удаленная атака могла прислать специально сформированный пакет, который вызывал отладку сетевого уровня SA-MP, что вызывало отключение сервера.
Новые функции: native GetPlayerCameraMode(playerid); - возвращает состояние камеры игрока. спасибо JernejL
Quote
camera 3: tram/train passenger entering camera (??!), tram/train driver camera - посадка в поезд/трамвай camera 4: normal onfoot chasing camera (several variable distances) - нормальная камера на земле (5,6 - её другие позиции) camera 7: sniper aiming mode - целимся из снайперки camera 8: rpg aiming mode - целимся из РПГ camera 16: front closeup camera attached on car (+skimmer+heli+airplane) - камера "на бампере" camera 18: normal car (+skimmer+helicopter+airplane) chase camera (several variable distances) - нормальная камера в машине (19,20,21 - её другие режимы) camera 22: normal boat chase camera (several variable distances) - камера на катере camera 15: chase cinematic camera (also spray garage camera) - кинематическая камера camera 46: picture-camera camera mode - режим при съемке фотоаппаратом camera 51: heatseeker aiming mode - как я понял режим когда нацелен на игрока camera 53: over-shoulder on-foot aiming with a weapon (any, including minigun) - целимся с любого другого оружия camera 55: passenger window-driveby mode - пассажир высунулся из окна машины camera 56: news-reporter style chase cinematic camera (wobbbling and zooming) - тоже какая-то кинематическая камера, сказано режим новостей.
native Float:GetPlayerDistanceFromPoint(playerid, Float:X, Float:Y, Float:Z); native Float:GetVehicleDistanceFromPoint(vehicleid, Float:X, Float:Y, Float:Z); возвращает расстояние от игрока/машины до точки, соответственно.
native GetPlayerSurfingObjectID(playerid); - возвращает ID объекта на котором стоит игрок, если игрок не на объекте вернет INVALID_OBJECT_ID.
Событие: forward OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat); событие происходит когда игрок меняет позицию транспортного средства в котором нет водителя, или игрок сидит в машине пассажиром(второе не совсем понял надо проверять!)
SA:MP 0.3c R4 Server: - Фикс уязвимости сервера, найденный в версии R3 - Исправлены проблемы с GetPlayerSurfingObjectID (), который возвращал неверный ид объекта. - Исправлены некоторые незначительные проблемы с format(). Новые функции:
Данный функции выводят информацию о сервере/игроке, которая выводится при нажатии F5. Включает в себя потерянные пакеты и т.п. Полезно при обнаружении проблем в сети конкретных игроков или самого сервера. Пример использования есть в архиве Windows Server в скрипте netstats.pwn
Quote (Awm)с помощью этого события можно ловить собейтеров которые к себе тачки телепортируют не факт.
Почему не факт? Я в 1 очередь подумал что эотто паблик именно для этого и создан Хотя мне не совсем понятно как сервер определяет что именно данный игрок меняет положение автомобиля =\
- Social Roleplay - ucp.gtamir.ru - 77.220.182.241:7777
Сообщение отредактировал raen - Понедельник, 25.07.2011, 15:52
Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги. Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
Почему не факт? Я в 1 очередь подумал что эотто паблик именно для этого и создан Хотя мне не совсем понятно как сервер определяет что именно данный игрок меняет положение автомобиля =\
Зажать я не зажал, просто все мои наработки в одном моде, выдирать кусками тупо, а делать ФС с античитом отдельно глупо, ибо таких ФСок уже сотни.
Такой паблик можно было и самому создать, просто он бессмысленный.
Если я правильно понял, то определяется положение игрока и положение до ближайшей авто к игроку (в микросекундах), и соответственно если он толкнет тачку, то паблик сработает. Реализация примитивная (если это работает так, как я объяснил)
- Social Roleplay - ucp.gtamir.ru - 77.220.182.241:7777
нет, это работает как взаимосвязь событий, есть событие машина приобрела ускорение и есть событие которое это инициировало связанное с определенным игроком.
И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
нет, это работает как взаимосвязь событий, есть событие машина приобрела ускорение и есть событие которое это инициировало связанное с определенным игроком.
Проверил это событие, не особо радует, т.к. не устраивает вот что: Когда автомобиль (OnVehicleStreamIn), и если она стоит на горе и из-за этого непроизвольно катиться, то сервер воспринимает как (OnUnoccupiedVehicleUpdate). Что ухудшает положение данного паблика, т.к. возможность его применения сокращается до проверки только когда игрок возле автомобиля (включение сигналиазации как предлагали, либо демага автомобилю без водителя), т.к. в других случаях она будет работать с ошибками. Конечно не совсем удачный паблик =\
- Social Roleplay - ucp.gtamir.ru - 77.220.182.241:7777
raen, я говорю про функция, которая определяет расстояние, ты же про действие перемещения транспорта. Я про античит сказал, что проверяя расстояние можно узнать, телепортнули машину или нет.
Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги. Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
raen, я говорю про функция, которая определяет расстояние, ты же про действие перемещения транспорта. Я про античит сказал, что проверяя расстояние можно узнать, телепортнули машину или нет.
GetPlayerDistanceFromPoint и IsPlayerInRangeOfPoint не слишком то и отличаются. Да и без GetPlayerDistanceFromPoint по средствам стандартного функционала samp можно было-бы написать такую же определяющую функцию. Я бы не сказал что прям после ее создания можно на 100% определить чит =\
- Social Roleplay - ucp.gtamir.ru - 77.220.182.241:7777
Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги. Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
raen, я разве утверждал, что можно 100% определить чит? Я лишь ответил на твой вопрос, как её использовать для античита
Я тебя и не осуждаю Я просто констатирую факт, что данные нововведения не особо полезные в плане создания дополнительных защит против читеров. Пару вкусностей на сервер можно добавить и не более. То, что защиту против атак улучшили, это хорошо, единственный жирный плюс.
- Social Roleplay - ucp.gtamir.ru - 77.220.182.241:7777
А я писал о OnUnoccupiedVehicleUpdate, и не только. Интересно если Kalcor, прочтёт про AddKeyEvent, добавит в след версии?
Quote (Makar364)
Я такой АЧ сделал и без этого паблика
Невозможно такой АЧ сделать без этого паблика. 100%
Quote (Makar364)
Зажать я не зажал, просто все мои наработки в одном моде, выдирать кусками тупо, а делать ФС с античитом отдельно глупо, ибо таких ФСок уже сотни. Такой паблик можно было и самому создать, просто он бессмысленный.
Не выпендривайся. Паблик имеет смысл, он определяет синкера позиции автомобиля. Не один стандартный паблик ранее не отдавал информацию о синкерах, ты его не сделал. Всё что ты мог сделать так это определение изменения координат, а какой именно игрок изменил координату узнать невозможно. Даже если делать громосткие проверки в OnPlayerUpdate. Всё что может из этого выйти так это не точное срабатывание, всегда на 0 игроке. Точней на OnPlayerUpdate(0). Конечно определить собейт и тп автомобилей, можно много как, но через жопу. Этот паблик работает на прямую.
Quote (raen)
Хотя мне не совсем понятно как сервер определяет что именно данный игрок меняет положение автомобиля =\
А ты как думал сервер вообще узнаёт о новой позиции автомобиля? Так как сервер не знает физики игрового мира, он слушает то, что говорит клиент. Соответственно он знает кто и что ему говорит.
Quote (raen)
Проверил это событие, не особо радует, т.к. не устраивает вот что: Когда автомобиль (OnVehicleStreamIn), и если она стоит на горе и из-за этого непроизвольно катиться, то сервер воспринимает как (OnUnoccupiedVehicleUpdate). Что ухудшает положение данного паблика, т.к. возможность его применения сокращается до проверки только когда игрок возле автомобиля (включение сигналиазации как предлагали, либо демага автомобилю без водителя), т.к. в других случаях она будет работать с ошибками. Конечно не совсем удачный паблик =\
Каких то сказок ждёте, волшебных красных кнопок, по нажатию которых всё хорошо. Что за бред? 100% функциональный коулбэк. Ещё раз повторюсь:
OnUnoccupiedVehicleUpdate - вызывается каждый раз, как клиент отправляет информацию на сервер о новой позиции авто. (Серверу нужно это знать для того, что бы другие игроки соответственно также видели новую позицию транспорта). В 0.2х к примеру передачи позиции авто не было (кроме игрока который водитель), поэтому и рассинхронизация с позициями была. В старом видео SAMP vs MTA наглядно это видно http://www.youtube.com/watch?v=oOJeyGBg13I&t=58s
Каких то сказок ждёте, волшебных красных кнопок, по нажатию которых всё хорошо. Что за бред? 100% функциональный коулбэк. Ещё раз повторюсь:
Да все равно, все эти оговорки сложно будет поправить внесением белых зон (исключений). Он будет идеально (почти) работать если использовать его в то время, когда игрок возле автомобиля (почти в плотную). В других случаях будут баги... Не сказал бы я что этот паблик является панацеей. =\
- Social Roleplay - ucp.gtamir.ru - 77.220.182.241:7777
Невозможно такой АЧ сделать без этого паблика. 100%
Сам же ниже описал принцип работы, а тут говоришь что невозможно.
Quote (AirKite)
Не выпендривайся. Паблик имеет смысл, он определяет синкера позиции автомобиля. Не один стандартный паблик ранее не отдавал информацию о синкерах, ты его не сделал. Всё что ты мог сделать так это определение изменения координат, а какой именно игрок изменил координату узнать невозможно. Даже если делать громосткие проверки в OnPlayerUpdate. Всё что может из этого выйти так это не точное срабатывание, всегда на 0 игроке. Точней на OnPlayerUpdate(0). Конечно определить собейт и тп автомобилей, можно много как, но через жопу. Этот паблик работает на прямую.
Я сказал что он идеально работает? Без ложных срабатываний? Я сделал его для себя, я тестировал и подбирал параметры которые более-менее подходили моему моду. Один таймер и 3 массива - все что надо простейшему АЧ на эту тематику.