Проверка на подлинность срабатывание функции
|
|
Hardcore | Дата: Воскресенье, 14.03.2010, 10:46 | Сообщение # 1 |
Новенький
Группа:
Продвинутые
Сообщений: 36
Награды: 3
Город: Sun City
Репутация: 8
Замечания: 20%
Статус:
| Мне интересно, как сделать проверку на подлинность срабатывания функции ? То есть если например заменить выдачу/изъятие оружия на какой нибуть VaGivePlayerWeapon, и VaResetPlayerWeapons, создав для них паблики выдачи стандартной функции, типо так: public VaGivePlayerWeapon(plyerid, weaponid, ammo) { GivePlayerWeapon(plyerid, weaponid, ammo); return 1; } public VaResetPlayerWeapons(plyerid) { ResetPlayerWeapons(plyerid); return 1; } Так вот сам вопрос. Как сделать, если игроку выдаётся оружие не через эту функцию, а через стандартную (чит оружия), то его кикало.
|
|
|
|
toneysix | Дата: Воскресенье, 14.03.2010, 11:32 | Сообщение # 2 |
Джэдай
Группа:
I'm V.I.P.
Сообщений: 1731
Награды: 77
Город: Салават
Репутация: 1825
Замечания: 0%
Статус:
| Hardcore тебе нужно хранить всё добавленное оружие для игрока в массивах, далее при выдаче того или иного оружия, изменять массив например Weapon[playerid][AK47] = 10; т.е мы выдали ему ак 47 с 10 патронами, далее уже делаешь проверку каждую секунду, с помощью функции определяешь GetPlayerWeaponData оружие у игрока, и сверяешь с массивами Weapon, если оно не равно тому, что есть у игрока, то соответственно кик.
Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
|
|
|
|
Hardcore | Дата: Воскресенье, 14.03.2010, 11:38 | Сообщение # 3 |
Новенький
Группа:
Продвинутые
Сообщений: 36
Награды: 3
Город: Sun City
Репутация: 8
Замечания: 20%
Статус:
| Спасибо, опробую...)) [offtop]20 символофффф[/offtop]
|
|
|
|
toneysix | Дата: Воскресенье, 14.03.2010, 11:47 | Сообщение # 4 |
Джэдай
Группа:
I'm V.I.P.
Сообщений: 1731
Награды: 77
Город: Салават
Репутация: 1825
Замечания: 0%
Статус:
| В любом случаи, можешь почти не стараться, создать такого рода античит. Потому-что во первых сама функция для определения оружия у игрока работает некорректно. И поэтому может вызвать различные баги. Самый лучший способ сделать, но только с использованием админов, например создать переменную, которая отвечает за покупку оружия. Например когда у игрока нет оружия переменная равна нулю, и если у него появляется оружие и переменная равно нулю, то пишется в админ чат, что мол такой-то игрок имеет такое то оружие в руках с нулём. А если к примеру он где то покупает оружие, либо кто-то передал, то соответственно переменная становится единица, это конечно полностью не вычислит всех читеров, но хотя-бы что-то.
Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
|
|
|
|
Hardcore | Дата: Воскресенье, 14.03.2010, 11:57 | Сообщение # 5 |
Новенький
Группа:
Продвинутые
Сообщений: 36
Награды: 3
Город: Sun City
Репутация: 8
Замечания: 20%
Статус:
| Я понял так: В каждую выдачу оружия засунуть что то типо Gun[playerid] =1; Только помоги сделать одну вещь. Проверку: Если у игрока Gun = 0, но оржуие есть, то его, ну кикало.
|
|
|
|
toneysix | Дата: Воскресенье, 14.03.2010, 12:01 | Сообщение # 6 |
Джэдай
Группа:
I'm V.I.P.
Сообщений: 1731
Награды: 77
Город: Салават
Репутация: 1825
Замечания: 0%
Статус:
| Ну создаёшь таймер, которая проверяет всех игроков на сервере (цикл for), за этот цикл и проверяешь всех игроков на переменную, и наличие какого-либо оружия функция - GetPlayerWeapon (если на руках) или GetPlayerWeaponData
Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
|
|
|
|
Hardcore | Дата: Воскресенье, 14.03.2010, 12:10 | Сообщение # 7 |
Новенький
Группа:
Продвинутые
Сообщений: 36
Награды: 3
Город: Sun City
Репутация: 8
Замечания: 20%
Статус:
| А вот ещё такой вопрос. Как сервер поределит что у игрока оружие кончилось ? Если массив при выдачи оружия делался равным 1, то как он убавиться после того как потроны кончаться ? + К тому же мне кажется то что например тот же самый читер ккупит себе какую нибуть биту, и массив станет 1, а дальше можно читерить?
|
|
|
|
toneysix | Дата: Воскресенье, 14.03.2010, 13:05 | Сообщение # 8 |
Джэдай
Группа:
I'm V.I.P.
Сообщений: 1731
Награды: 77
Город: Салават
Репутация: 1825
Замечания: 0%
Статус:
| Hardcore тут нужно пойти иным путём, сверяешь сколько пуль он купил, к примеру 10, но так-как он может истратить по средству стреляя, то надо сделать условие меньше или равно.
Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
|
|
|
|