Оффсеты кс

money++
Разработчик
Статус
Оффлайн
Регистрация
14 Июн 2018
Сообщения
638
Реакции[?]
339
Поинты[?]
22K
Всм, как по-другому?
C++:
//DWORD - выбираем какой тип данных вернет функция (если void, то ничего не вернет)
//GetLocalPlayer - имя функции
DWORD GetLocalPlayerUsual(DWORD dwMemAdress/*это аргументы функции, их может быть несколько*/)
{
    //сама функция
    DWORD localPlayer3 = GetLocalPlayerLambda(module + offset); //Ошибка компиляции
    return memory.readMem(dwMemAdress);
}

int main() //Тоже функция кстати
{
    DWORD localPlayer1 = GetLocalPlayerUsual(module + offset); //OK
    DWORD localPlayer2 = GetLocalPlayerLambda(module + offset); //Ошибка компиляции
    auto GetLocalPlayerLambda = [] (DWORD _dwMemAdress) { //Другой вариант создания функции, эта будет доступна только внутри int main() и только после ее объявления
        return memory.readMem(_dwMemAdress);
    }
    DWORD localPlayer4 = GetLocalPlayerLambda(module + offset); //ОК
}
 
money++
Разработчик
Статус
Оффлайн
Регистрация
14 Июн 2018
Сообщения
638
Реакции[?]
339
Поинты[?]
22K
А, и вот, думаю этот вопрос абсолютно лёгок для тебя. Почему мы оффсет прыжка записываем в адрес модуля игры, а не в адрес локалплеера или оффсета? Скрытое содержимое
Ты же понимаешь, что ты сейчас или сильно тупишь, или тонко троллишь? Ты записываешь тут не в search.gameModule, а в search.gameModule + offset.dwForceJump, т.е. находишь место в памяти, где лежит ForceJump и уже туда пишешь
 
money++
Разработчик
Статус
Оффлайн
Регистрация
14 Июн 2018
Сообщения
638
Реакции[?]
339
Поинты[?]
22K
ох, прости(((, но ласт вопрос, что по повоу того момента отпрыгивания от машины, типо если быть на текстурке машины, то програ не считает, что ты на земле и когда ты зажимаешь пробел прыгая с неё, перс не делает распрыжку. Я пытался сделать так, чтобы перс мог и в воздухе прыгать, потому что если пользователь будет падать с какого-то объекта и нажмёт пробел в воздухе (момент падения), то перс у него не отпрыгнет, по той причине, что в условии указали прыгать только когда на земле. Я это делал путём удаления этой строчки Скрытое содержимое, но ничего после её удаления не изменилось, от слова - абсолютно
Потому что надо если search.fFlag не имеет внутри себя активных флагов, то search.fFlag == 0 и условие будет не выполнено
 
money++
Разработчик
Статус
Оффлайн
Регистрация
14 Июн 2018
Сообщения
638
Реакции[?]
339
Поинты[?]
22K
Начинающий
Статус
Оффлайн
Регистрация
19 Июл 2018
Сообщения
50
Реакции[?]
6
Поинты[?]
0
C++:
//DWORD - выбираем какой тип данных вернет функция (если void, то ничего не вернет)
//GetLocalPlayer - имя функции
DWORD GetLocalPlayerUsual(DWORD dwMemAdress/*это аргументы функции, их может быть несколько*/)
{
    //сама функция
    DWORD localPlayer3 = GetLocalPlayerLambda(module + offset); //Ошибка компиляции
    return memory.readMem(dwMemAdress);
}

int main() //Тоже функция кстати
{
    DWORD localPlayer1 = GetLocalPlayerUsual(module + offset); //OK
    DWORD localPlayer2 = GetLocalPlayerLambda(module + offset); //Ошибка компиляции
    auto GetLocalPlayerLambda = [] (DWORD _dwMemAdress) { //Другой вариант создания функции, эта будет доступна только внутри int main() и только после ее объявления
        return memory.readMem(_dwMemAdress);
    }
    DWORD localPlayer4 = GetLocalPlayerLambda(module + offset); //ОК
}
Ну, по поводу воид я знаю и по поводу мейн знаю, что это функция - это база, вот я и чел, который использует базу, как раз воид, но почему тебе воид не нрав(((
И как я понял, ты мне показал варианты, при которых всё ок и ошибка, но почему ошибка у локалплеера2? Он же точно такой же, как и первый. И кстати, зачем мы находим локалплеера3 в функции, если мы его вообще не используем, а возвращаем аргумент, который тоже кстати не используем :/
 
Начинающий
Статус
Оффлайн
Регистрация
19 Июл 2018
Сообщения
50
Реакции[?]
6
Поинты[?]
0
Оно компилируется и запускается. Но строка search.localPlayer; вообще ничего не сделает. Вообще. Как будто ее и не было считай
Но почему, я же объявлял эту переменную выше(( + когда я в меню и захожу потом в игру, он находит локалплеера, хотя прогру запускаю до кс, значит всё же робит :confused:
 
Начинающий
Статус
Оффлайн
Регистрация
19 Июл 2018
Сообщения
50
Реакции[?]
6
Поинты[?]
0
Потому что надо если search.fFlag не имеет внутри себя активных флагов, то search.fFlag == 0 и условие будет не выполнено
так как мне тогда реализовать то, чтобы он и активировал бхоп в воздухе?
 
money++
Разработчик
Статус
Оффлайн
Регистрация
14 Июн 2018
Сообщения
638
Реакции[?]
339
Поинты[?]
22K
Ну, по поводу воид я знаю и по поводу мейн знаю, что это функция - это база, вот я и чел, который использует базу, как раз воид, но почему тебе воид не нрав(((
И как я понял, ты мне показал варианты, при которых всё ок и ошибка, но почему ошибка у локалплеера2? Он же точно такой же, как и первый. И кстати, зачем мы находим локалплеера3 в функции, если мы его вообще не используем, а возвращаем аргумент, который тоже кстати не используем :/
Я показывал тебе примеры создания и использования функций. localPlayer1 и localPlayer2 получаются из разных функций
 
money++
Разработчик
Статус
Оффлайн
Регистрация
14 Июн 2018
Сообщения
638
Реакции[?]
339
Поинты[?]
22K
money++
Разработчик
Статус
Оффлайн
Регистрация
14 Июн 2018
Сообщения
638
Реакции[?]
339
Поинты[?]
22K
Но почему, я же объявлял эту переменную выше(( + когда я в меню и захожу потом в игру, он находит локалплеера, хотя прогру запускаю до кс, значит всё же робит :confused:
У тебя есть условная строка int a = sum(b, c);. Что происходит? Сначала вместо sum(b, c) компьютер получит int (или другой тип данны=), которое будет результатом функции sum с аргументами b и c. И потом уже int a присвоят этот результат. Если ты хочешь чтобы когда ты пишешь search.localPlayer твоя программа всегда заного считала memory.readMem(dwMemAdress), то просто сделай функцию и вместо search.localPlayer вставляй функцию, хоть это и глупо
 
Начинающий
Статус
Оффлайн
Регистрация
19 Июл 2018
Сообщения
50
Реакции[?]
6
Поинты[?]
0
Оставить только GetAsyncKeyState(VK_SPACE) например, хотя это и костыльное решение
Ладно, потом мб найду что-то или на форуме вопрос задам, а что по поводу этого :
В твоем случае да, "в байте флаг есть много флагов". Но ты можешь хоть к каждому биту отдельно обращаться. Это было сделано для удобства. Вообще search.localplayer для нас просто хранит адрес локалплеера и все, никаких флагов он не хранит. А в середине твоего сообщение я как бы все слова узнал, но ничего не понял - там неправильно, сам разбирайся что и где, потому что мой мозг устал(
А, и вот, думаю этот вопрос абсолютно лёгок для тебя. Почему мы оффсет прыжка записываем в адрес модуля игры, а не в адрес локалплеера или оффсета?

Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.

 
Начинающий
Статус
Оффлайн
Регистрация
19 Июл 2018
Сообщения
50
Реакции[?]
6
Поинты[?]
0
У тебя есть условная строка int a = sum(b, c);. Что происходит? Сначала вместо sum(b, c) компьютер получит int (или другой тип данны=), которое будет результатом функции sum с аргументами b и c. И потом уже int a присвоят этот результат. Если ты хочешь чтобы когда ты пишешь search.localPlayer твоя программа всегда заного считала memory.readMem(dwMemAdress), то просто сделай функцию и вместо search.localPlayer вставляй функцию, хоть это и глупо
Я думал, что она работает, как переменная, которой уже присваивали действие и она его просто крутит заново, и как мне тогда нормально повторение записать?
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
19 Июл 2018
Сообщения
50
Реакции[?]
6
Поинты[?]
0
Я показывал тебе примеры создания и использования функций. localPlayer1 и localPlayer2 получаются из разных функций
Ой бля, сорян, у меня уже в глазах плывёт, только заметил, да, ты показывал принцип работы их на примере дворд, спасибо. Я как бы знаю это, но я сделал просто какое-то исключение, о котором не предупреждали, когда я читал документацию о плюсах на форуме ravesli.com (не реклама), но я базу знаю, скорее плохо знаком с ООП, но представление имею, практики в плюсах мало, в целом в программировании сейчас практикуюсь
 
money++
Разработчик
Статус
Оффлайн
Регистрация
14 Июн 2018
Сообщения
638
Реакции[?]
339
Поинты[?]
22K
Ой бля, сорян, у меня уже в глазах плывёт, только заметил, да, ты показывал принцип работы их на примере дворд, спасибо. Я как бы знаю это, но я сделал просто какое-то исключение, о котором не предупреждали, когда я читал документацию о плюсах на форуме ravesli.com (не реклама), но я базу знаю, скорее плохо знаком с ООП, но представление имею, практики в плюсах мало, в целом в программировании сейчас практикуюсь
Штош, удачи)
 
Начинающий
Статус
Оффлайн
Регистрация
19 Июл 2018
Сообщения
50
Реакции[?]
6
Поинты[?]
0
Спасибо тебе огромное, ты мене рассказал почти все основы геймхакинга на 3 страницы данной темы, надеюсь кто-то ещё из этой статьи или даже интервью найдёт ответы на свои вопросы и вынесет тоже что-то годное из написанного тобой, а написано годного тут много). Кстати, не могу не заметить твою выдержку и крайне приятное умение вести диалог, несмотря на надоедливость и душность (в нетоксичном плане) человека))))
 
Последнее редактирование:
Сверху Снизу