SA-MP Forums Archive
Cпавн транспорта читерами! - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Cпавн транспорта читерами! (/showthread.php?tid=397834)

Pages: 1 2 3


Re: Cпавн транспорта читерами! - AirKite - 12.12.2012

Что эта за версия собейта... Если это действительно то как вы говорите, то это действительно СЕРЬЁЗНАЯ и ГЛОБАЛЬНАЯ проблема, дырка в SAMP. Как вообще создаётся сценарий от ИНКОГНИТО... В OnVehicleDeath срочно нужно добавлять новый аргумент. OnVehicleDeath(vehicleid, killerid, syncerid)

Stepashka, очень не пренебрежительное отношение к ситуации...
eakwarp, лучшая защита не создавать сервер. Как не пускать читеров? Проводить жёсткий отбор и иметь онлайн 50 игроков? И это при том условии что если вдруг человек всё таки начал читерить, поймать его на этом вредительстве будет невозможно (имею ввиду этот респавн машин).

Тем не менее, ТС, вы уверены в том, что OnUnoccupiedVehicleUpdate не реагирует


Re: Cпавн транспорта читерами! - Egor123 - 12.12.2012

Quote:
Originally Posted by AirKite
Посмотреть сообщение
Что эта за версия собейта... Если это действительно то как вы говорите, то это действительно СЕРЬЁЗНАЯ и ГЛОБАЛЬНАЯ проблема, дырка в SAMP. Как вообще создаётся сценарий от ИНКОГНИТО... В OnVehicleDeath срочно нужно добавлять новый аргумент. OnVehicleDeath(vehicleid, killerid, syncerid)

Stepashka, очень не пренебрежительное отношение к ситуации...
Приятно удивили. Версию собейта могу отправить в лс, если интересно конечно


Re: Cпавн транспорта читерами! - AirKite - 12.12.2012

Quote:
Originally Posted by Egor123
Посмотреть сообщение
Приятно удивили. Версию собейта могу отправить в лс, если интересно конечно
Кидай, можно с ссылками. Правда то, что гляну не могу гарантировать, времени нехватка. В остальном допустить такое абсурдно... я лично неоднократно просил Kye сделать возможность отслежки синхронизации, объяснив ситуацию с изменением позиции автомобиля (ну реализовал он OnUnoccupiedVehicleUpdate). Теоретически OnUnoccupiedVehicleUpdate должен отображать любые синхронизирующие пакеты от игрока направленные на транспорт без водителя (ибо с водителем синхронизатор ТОЛЬКО водитель, но и тут есть возможность обхода, став на некоторое время водителем не заметно для настоящего водителя), похоже если то что ты говоришь действительность, выходит OnUnoccupiedVehicleUpdate вызывается только при изменении Pos, Velocity, Angle и QuatRot. Хотя должен как я говорил выше, при ЛЮБЫХ изменениях.

Кстати ситуация когда игрок сидит за рулём автомобиля и тут бац его машиной начинает кто то управлять (хотя он кроме себя в машине никого не видит) вполне реальна. Правда такого читера можно легко отловить скриптами.

p.s. Из последнего помнится как не серьёзно отнеслись к возможности подмены ID диалога. Писал где, почему и как легко пофиксить. Kye вшил фикс в сервер.


Re: Cпавн транспорта читерами! - stabker - 12.12.2012

Меня тоже удивила эта функция, это что-то новое для собейта. Раньше хоть телепортировался в машину или еще чего, а тут даже никаких признаков. Лишь 5 секунд надо ждать, это настораживает.
Но все же, буду искать, что-то да должно "паранормально" при этом изменяться для читера.


Re: Cпавн транспорта читерами! - AirKite - 12.12.2012

Да ничего вы паранормального не найдёте. Чему вы удивлены? Сервер принимает команду что машина умерла (упала в воду например). При этом сервер то конечно знает от кого он принял эту информацию. А вот при вызове OnVehicleDeath отправляется аргумент vehicleid=ид машины, killerid=убийца машины (255 вода), т.е. killerid равен тому кто убил машину а не тот кто отправил серверу информацию о том что машина была убита.

Доп инфа, для тех кто не вкурсе: (Сервер это лишь синхронизатор, связь между игроками, у него нет физики игры и сервер не может знать при каких условиях машина тонет (умирает) и т.д., поэтому приходится слушаться игроков) Мы конечно могли бы отслеживать подозрительные вещи, но тут стоит вопрос в недостатке информации а именно дополнительном аргументе, типа OnVehicleDeath(vehicleid, killerid, syncerid) где syncerid = иду игрока который отправил инфу о смерте транспорта.


Re: Cпавн транспорта читерами! - White_116 - 12.12.2012

Багов с автомобилями достаточно, на одной машине может весь сервер ездить, правда они друг друга видеть не будут (рассинхронизация) а всего лишь достаточно пару условий, кто первый сел того и тачка, остальные идут лесом.


Re: Cпавн транспорта читерами! - Barabashka - 12.12.2012

[ame]http://www.youtube.com/watch?v=HT6NKrg-x6U[/ame]


Re: Cпавн транспорта читерами! - Stepashka - 12.12.2012

Киньте в ЛС сиё творение, есть одна мысля как это отследить и отловить того кто читерит.


Re: Cпавн транспорта читерами! - Egor123 - 13.12.2012

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
Киньте в ЛС сиё творение, есть одна мысля как это отследить и отловить того кто читерит.
Скинул.


Re: Cпавн транспорта читерами! - OKStyle - 14.12.2012

Quote:
Originally Posted by AirKite
Посмотреть сообщение
А вот при вызове OnVehicleDeath отправляется аргумент vehicleid=ид машины, killerid=убийца машины (255 вода), т.е. killerid равен тому кто убил машину а не тот кто отправил серверу информацию о том что машина была убита.
А wiki говорит, что агрумент у функции всего один - vehicleid.


Re: Cпавн транспорта читерами! - AirKite - 08.01.2013

Проверил 0.3х, баг остался... Вообще создал тему https://sampforum.blast.hk/showthread.php?pid=2313220#pid2313220 мб не останется без внимания. Вообще как то тупо что killerid = 255 если машина утоплена. (Актуально лишь когда максимальное количество игроков было 200).


Re: Cпавн транспорта читерами! - Stepashka - 08.01.2013

Quote:
Originally Posted by AirKite
Посмотреть сообщение
Проверил 0.3х, баг остался... Вообще создал тему https://sampforum.blast.hk/showthread.php?pid=2313220#pid2313220 мб не останется без внимания. Вообще как то тупо что killerid = 255 если машина утоплена. (Актуально лишь когда максимальное количество игроков было 200).
Во-первых, давно уже создан запрос (маленько с именем переменной только просчитался, виноват).
Во-вторых, уже давно
pawn Код:
#define INVALID_PLAYER_ID (0xFFFF)
что равно 65535. Откуда ты взял 255 вообще не представляю.


Или чит присылает именно 255, а не INVALID_PLAYER_ID ?


Re: Cпавн транспорта читерами! - AirKite - 08.01.2013

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
Во-первых, давно уже создан запрос (маленько с именем переменной только просчитался, виноват).
Во-вторых, уже давно
pawn Код:
#define INVALID_PLAYER_ID (0xFFFF)
что равно 65535. Откуда ты взял 255 вообще не представляю.


Или чит присылает именно 255, а не INVALID_PLAYER_ID ?
Да, ты ведь ответил в моей теме, которую снесли. Кстати лучше поддержите следующий пост http://forum.sa-mp.com/showpost.php?...0&postcount=54

Я создал тему отдельно ибо это не только предложение но и баг как бы. Вся соль в том, что OnVehicleDeath в killerid не возвращает INVALID_PLAYER_ID, он возвращает именно 255 (т.е. старый INVALID_PLAYER_ID, когда ещё игрок не мог быть 255 идом в связи с ограничением в 200 игроков). Причём это не чит отправляет killerid (сам SAMP в принципе не принимает таких данных), а сам SAMP формирует его. т.е. без чита просто выкидываем машину в воду или взрываем её, после чего получаем
Код:
OnVehicleDeath(ид_машины, 255)
код проверки
pawn Код:
public OnVehicleDeath(vehicleid, killerid) {
    new string[128]; format(string, 128, "OnVehicleDeath(%d, %d)", vehicleid, killerid);
    SendClientMessageToAll(-1, string);
}
проверено и на 0.3х тоже (надеялся что пофиксят). Считаю это достаточно критичным багом


Re: Cпавн транспорта читерами! - Stepashka - 08.01.2013

Quote:
Originally Posted by AirKite
Посмотреть сообщение
Да, ты ведь ответил в моей теме, которую снесли. Кстати лучше поддержите следующий пост http://forum.sa-mp.com/showpost.php?...0&postcount=54
спасиб, уже понял и поправил свой пост.


Re: Cпавн транспорта читерами! - dimonml - 08.01.2013

Возможно я что-то не так понял, но в сервере 255 действительно забито константой
В текущей версии сервера (0.3x RC1, ну и в предыдущих также) от игрока приходит пакет, в котором просто прописан ид машинки. После проверок что валидный игрок и машинка (что-то там не похоже, что проверяются какие машинки у игрока в зоне стриминга) у машинки прописывается флаг на респавн. Потом в отдельном цикле проверяются все машинки и вызывается событие OnVehicleDeath.


Re: Cпавн транспорта читерами! - Stepashka - 08.01.2013

Quote:
Originally Posted by dimonml
Посмотреть сообщение
Возможно я что-то не так понял, но в сервере 255 действительно забито константой
В текущей версии сервера (0.3x RC1, ну и в предыдущих также) от игрока приходит пакет, в котором просто прописан ид машинки. После проверок что валидный игрок и машинка (что-то там не похоже, что проверяются какие машинки у игрока в зоне стриминга) у машинки прописывается флаг на респавн. Потом в отдельном цикле проверяются все машинки и вызывается событие OnVehicleDeath.
Я думаю на это стоит обратить внимание того же ******, личным сообщением, а то насколько я помню Kalcor редко читает ЛС, в виду их большого числа, хотя можно и ему продублировать.

Я думаю к тебе как к разработчику адаптаций они прислушаются.


Re: Cпавн транспорта читерами! - DartfoL - 08.01.2013

dimonml прав, аппдейт с 0.2 на 0.3 в некоторых местах прошел не полностью и до сих пор не обновлен до конца
еще один пример этому: в 0.2x лимит авто был 700, а в 0.3 поднялся уже до 2000. Но если в одной позиции стрима поставить 700 авто, то самп войдет в бесконечный цикл, и останется только убивать процесс

P.S. и не надо тут говорить, что игра виснет от большого кол-ва тачек в одном месте. Я ставил 699 авто и фпс было около 7, а одно авто не прибавит столько груза


Re: Cпавн транспорта читерами! - AirKite - 08.01.2013

Quote:
Originally Posted by dimonml
Посмотреть сообщение
Возможно я что-то не так понял, но в сервере 255 действительно забито константой
В текущей версии сервера (0.3x RC1, ну и в предыдущих также) от игрока приходит пакет, в котором просто прописан ид машинки. После проверок что валидный игрок и машинка (что-то там не похоже, что проверяются какие машинки у игрока в зоне стриминга) у машинки прописывается флаг на респавн. Потом в отдельном цикле проверяются все машинки и вызывается событие OnVehicleDeath.
Скорее всего так: Приходит пакет, после чего ставится флаг машинке что она мертва и сразу же вызывается OnVehicleDeath. Затем в цикле или по таймеру срабатывает проверка на занятость автомобиля, если игрок не находится в авто, то его респавнит и сразу же вызывает OnVehicleSpawn (который кстати вызывается только в GM) - хм... уже вызывается и в FS =)

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
Я думаю на это стоит обратить внимание того же ******, личным сообщением, а то насколько я помню Kalcor редко читает ЛС, в виду их большого числа, хотя можно и ему продублировать.

Я думаю к тебе как к разработчику адаптаций они прислушаются.



Re: Cпавн транспорта читерами! - dimonml - 09.01.2013

>сразу же вызывается OnVehicleDeath
Нет, не так. Сразу же ничего не вызывается. В обработчике события от клиента только ставиться флаг.

PS: кстати, есть еще забавная штука в цикле, который пробегается по всем машинкам сервера и вызывает OnVehicleDeath. Там стоит условие типа if (rand() % 20) - то есть в одном из 20 случаем мы машинку не респавним


Re: Cпавн транспорта читерами! - Mutha_X - 09.01.2013

Теперь понятно почему исходники сампа закрыты: код, как видно, петросянский xD