Скриптинг курилка

Quote:
Originally Posted by devil77771
View Post
Подскажите по оптимизации, что лучше
Смотря где: если используешь этот текст в нескольких местах, то переменная.
Reply

Quote:
Originally Posted by devil77771
View Post
Подскажите по оптимизации, что лучше:

1 вариант: new text[] = "test %s"
2 вариант: #define text "test %s"

format(string, sizeof(text)+3, text, "222");

это пример, там не 222 обычно а массив на сколько то символов другой
Смотря чего вы хотите добиться, но ни один из вариантов нельзя назвать оптимизацией.

И кстати: format(string, sizeof(string), text, "222"); должен передаваться размер массива назначения, куда будет писаться, что бы не вылезти за его пределы.
Reply

Дайте пожалуйста функцию определения перевернуто ли авто
Reply

Quote:
Originally Posted by Artur643
View Post
Дайте пожалуйста функцию определения перевернуто ли авто
Держи GetVehicleRotationQuat
Reply

А прямой нету? Такой, как IsPlayerConnected? Может кто-то писал для себя.
Reply

Quote:
Originally Posted by Artur643
View Post
А прямой нету? Такой, как IsPlayerConnected? Может кто-то писал для себя.
Есть, в аглицких разделах, ищи по форуму, основаны они на приведенной функции.
Reply

Привет ребят. Посоветуйте, как можно связать лаунчер(античит) с сервером? Просто подкиньте несколько вариантов, плюсы и минусы их.
Reply

Quote:
Originally Posted by Kolstin
View Post
Привет ребят. Посоветуйте, как можно связать лаунчер(античит) с сервером? Просто подкиньте несколько вариантов, плюсы и минусы их.
Убьет к чертям онлайн, если будет насильно требовать его. И его взломать за 5 минуту можно.
Reply

Quote:
Originally Posted by cm666
View Post
Убьет к чертям онлайн, если будет насильно требовать его. И его взломать за 5 минуту можно.
С онлайном и взломом я уже как то сам думаю разберусь. Вопрос был совсем в другом.
Reply

Quote:
Originally Posted by Kolstin
View Post
Привет ребят. Посоветуйте, как можно связать лаунчер(античит) с сервером? Просто подкиньте несколько вариантов, плюсы и минусы их.
Сокеты
Reply

Не надо везде выбрасывать const, только из функций можете убрать. В массивах лучше оставить.
И если так переживаете за память, то нет смысла выделять на 1/0 целых 4 байта, можно побитно записать. В 4 байта можно вместить 32 таких 1/0. Хотя это в любом случае не страшно, на дворе 2015 (почти 16) год

P.S. Глобальные переменные не помещаются в стек
Reply

Quote:
Originally Posted by S4D
View Post
"Мне кажется, что сокеты небезопасны"
"Что то с этими соккетами вообще не могу разобраться"
ммм
да действительно там бред полный. Юзаю TcpClient но там куча проблем вылазит.
1. Постоянно крашит даже в некоторых моментах когда соединение есть.
2. TcpClient.Connected после успешного коннекта всегда вызывает true даже если соединение разорвано. И как тогда тут вообще определить есть соединение или нет!?
3. Из за чтения отвата от сервера очень часто приложение просто вистен и тут походу без использования потоков не обойтись.
Reply

А с безопасностью что не так?
Reply

Quote:
Originally Posted by stabker
View Post
Не надо везде выбрасывать const, только из функций можете убрать. В массивах лучше оставить.
В массивах убирать не собирался. Там, понятное дело, это нужно.

Quote:
Originally Posted by stabker
View Post
И если так переживаете за память, то нет смысла выделять на 1/0 целых 4 байта, можно побитно записать. В 4 байта можно вместить 32 таких 1/0. Хотя это в любом случае не страшно, на дворе 2015 (почти 16) год
Можно, но это не удобно очень (мне)

Quote:
Originally Posted by stabker
View Post
P.S. Глобальные переменные не помещаются в стек
А вот за эту информацию спасибо, мне в новинку услышать)
Хотя в принципе я так и подозревал..
Reply

Quote:
Originally Posted by S4D
View Post
А с безопасностью что не так?
Да вот не знаю, вдруг игрок как то успеет запустить вторую GTA вместо той основной с помощью которой лаунчер должен работать. И типа сможет с читами играть, хм..
Reply

Quote:
Originally Posted by Kolstin
View Post
Да вот не знаю, вдруг игрок как то успеет запустить вторую GTA вместо той основной с помощью которой лаунчер должен работать. И типа сможет с читами играть, хм..
Даже представить тогда не могу, как твой античит устроен. А с читами в любом случае играть смогут, если захотят.
Reply

Quote:
Originally Posted by S4D
View Post
Даже представить тогда не могу, как твой античит устроен. А с читами в любом случае играть смогут, если захотят.
это типа трейнеры?
Reply

Quote:
Originally Posted by Kolstin
View Post
это типа трейнеры?
Да не, просто обойдут.
Reply

Quote:
Originally Posted by S4D
View Post
Да не, просто обойдут.
Вот именно. Может что то посоветуете как сделать лучше что бы обхода как таково не было? Ясно конечно что идеального ничего не бывает но всегда можно найти способ как закрыть тот или другой баг.
Reply

Quote:
Originally Posted by Kolstin
View Post
Вот именно. Может что то посоветуете как сделать лучше что бы обхода как таково не было? Ясно конечно что идеального ничего не бывает но всегда можно найти способ как закрыть тот или другой баг.
Чтение памяти процесса - ReadProcessMemory.
Запись в память процесса - WriteProcessMemory.
Создание удаленных потоков - CreateRemoteThread.
Изменение контекста потоков - SetThreadContext.
Внедрение оконных перехватчиков - SetWindowsHookEx.

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

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

Похукать часто вызываемые функции и проверять в них адрес возврата, чтобы он находился в разрешенном диапазоне адресов.

Использовать шифрование и динамическую модификацию кода (протекторы).

Короче говоря, если подключить фантазию, можно соорудить вполне сносную защиту.
Reply


Forum Jump:


Users browsing this thread: 11 Guest(s)