Вопросы и ответы - Страница 152 - Форум Cheat-Master.ru
Модератор форума: Sanoxxx, Alowir  
Вопросы и ответы
Axwell Дата: Среда, 20.08.2014, 22:15 | Сообщение # 2266
Бывалый
Сообщений: 481
Статус: Offline
iMaddy, я далек от всего этого, но хотелось бы научится. Может скинешь какие ни будь хорошие статьи на эту тему?
Fake{yl] Дата: Четверг, 21.08.2014, 00:21 | Сообщение # 2267
Боец
Сообщений: 107
Статус: Offline
Axwell, зачем статьи? Почитай литературу, если действительно заинтересовало программирование. Так ты совершишь меньше ошибок при написании кода

ушел, не вернусь <_<
bile Дата: Суббота, 23.08.2014, 23:21 | Сообщение # 2268
Новичок
Сообщений: 20
Статус: Offline
в HandleRPCPacketFunc когда приходит RPC_ScrDialogBox
Код

BitStream bsData((unsigned char *)(reinterpret_cast<PCHAR>(rpcParams->input)),(rpcParams->numberOfBitsOfData/8)+1,false);  
WORD dialog;  
BYTE bDialogStyle,bTitleLength,bButton1Len,bButton2Len, bTextLength;
char szTitle[257],szButton1[257],szButton2[256];  
char szText[256];  
bsData.Read(dialog);  
if(dialog == 65535) return;  
bsData.Read(bDialogStyle);  
bsData.Read(bTitleLength);  
bsData.Read(szTitle, bTitleLength);  
bsData.Read(bButton1Len); bsData.Read(szButton1, bButton1Len);
bsData.Read(bButton2Len); bsData.Read(szButton2, bButton2Len);

ид, заголовок и кнопки распечатываются и читаются, а как прочитать сам текст диалога?
DexT3R Дата: Понедельник, 25.08.2014, 00:16 | Сообщение # 2269
(•̪●)=ε/̵͇̿̿/’̿’̿ ̿ ̿̿ ̿ ̿””
Сообщений: 1978
Статус: Offline
Цитата bile ()
char szText[256];

А это на что?


НИЧЕГО НЕ ПРОДАЮ В ТЕЛЕГРАММЕ И ВК!!
Endgame Дата: Среда, 27.08.2014, 00:01 | Сообщение # 2270
Новичок
Сообщений: 4
Статус: Offline
Вопрос:
Код

#include <windows.h>
#pragma argsused

bool KeyPressed(BYTE key)
{
  return ((GetAsyncKeyState(key)&(1 << 16)) != 0);
}

int main()
{
  DWORD* CPed;
  float* Health;

  //DWORD SampDLL = (DWORD)GetModuleHandleA("samp.dll"); //SampDLL = SAMP.Base()
  CPed = (DWORD*)0xB6F5F0;
  Health = (float*)(*CPed + 0x540); //HP = Указатель на педа+0х540 - адрес

  if (SampDLL)
  {
    

   do
   {
    Sleep(100);
   } while (!KeyPressed(VK_F1));
   *Health = 4.0;

  }

}


По нажатию на F1 у меня должно стать 4хп, но этого не происходит. Помогите, пожалуйста.
DexT3R Дата: Среда, 27.08.2014, 00:36 | Сообщение # 2271
(•̪●)=ε/̵͇̿̿/’̿’̿ ̿ ̿̿ ̿ ̿””
Сообщений: 1978
Статус: Offline
Endgame, Ты уверен, что данный адрес памяти отвечает за хп?

НИЧЕГО НЕ ПРОДАЮ В ТЕЛЕГРАММЕ И ВК!!
Endgame Дата: Среда, 27.08.2014, 02:10 | Сообщение # 2272
Новичок
Сообщений: 4
Статус: Offline
Kukushka,
Код
CPed +0x540 = [float] Здоровье
http://gtamodding.ru/wiki/Адреса_Памяти_%28SA%29
Я руководствовался этим.


Сообщение отредактировал Endgame - Среда, 27.08.2014, 02:24
DexT3R Дата: Среда, 27.08.2014, 17:08 | Сообщение # 2273
(•̪●)=ε/̵͇̿̿/’̿’̿ ̿ ̿̿ ̿ ̿””
Сообщений: 1978
Статус: Offline
Endgame, Попробуй этот адрес "0xB793E0 - [float] Здоровье"

НИЧЕГО НЕ ПРОДАЮ В ТЕЛЕГРАММЕ И ВК!!
Esc Дата: Среда, 27.08.2014, 18:50 | Сообщение # 2274
CoderOk
Сообщений: 264
Статус: Offline
Endgame, а ничего, что ты никоим образом не меняешь память игры? Все эти адреса - это смещения относительно адреса gta_sa.exe (Могу ошибатся). А так:
Код
DWORD p1 = *(DWORD*)0xB6F5F0 + 0x540;
float amount = 4;
memcpy((void*)p1, &amount, sizeof(amount));

Вот хорошая вещь, по этому поводу: http://cheat-master.ru/forum/118-340908-1
А чисто для твоей программы пойдет такой вариант:
Код
DWORD dwID;
HANDLE hProc;
DWORD p1 = *(DWORD*)0xB6F5F0 + 0x540;
float amount = 4;
HWND sa = FindWindow(NULL, "GTA:SA");
GetWindowThreadProcessId(sa, &dwID);
hProc = OpenProcess(PROCESS_ALL_ACCESS, 0, dwID);
WriteProcessMemory(hProc, (LPVOID)p1, (LPVOID)amount, sizeof(amount), NULL );


=)

Сообщение отредактировал Esc - Среда, 27.08.2014, 18:54
Endgame Дата: Среда, 27.08.2014, 20:13 | Сообщение # 2275
Новичок
Сообщений: 4
Статус: Offline
Esc, Kukushka, спасибо.
Еще хотелось бы узнать, как можно вывести в .asi на экран какой-нибудь текст ( в GTA естественно). В чат/текстбокс/диалог - это без разницы. Мне это нужно для проверки кода.
И еще: прошу подкинуть пару статеек, где доходчиво расписано, как работать с памятью в c++.
Esc Дата: Среда, 27.08.2014, 21:33 | Сообщение # 2276
CoderOk
Сообщений: 264
Статус: Offline
Endgame, чтобы вывести в чат - воспользуйся функцией из собейта. Если я не ошибаюсь, там простое обращение к адресам(Давно не работал с этим). Но если хочешь отдельно что-то написать/нарисовать - нужно хукать процессы DirectX'а(С этим я помочь не смогу сейчас)

=)
CyberSys Дата: Среда, 27.08.2014, 22:54 | Сообщение # 2277
Боец
Сообщений: 72
Статус: Offline
Endgame, создать свою таблицу виртуальных методов и подменять указатели на функции рендеринга.
Axwell Дата: Четверг, 28.08.2014, 19:39 | Сообщение # 2278
Бывалый
Сообщений: 481
Статус: Offline
Тоже может не туда, но все же.
Каким образом отправляется инфа о взятии чекпоинта? Отправляется RPC или сервер сравнивает координаты игрока и координаты чекпоинта?
CyberSys Дата: Четверг, 28.08.2014, 21:51 | Сообщение # 2279
Боец
Сообщений: 72
Статус: Offline
Axwell, точно не сравнение, как ты себе это представляешь? Каждый чекпоинт проверяет каждого игрока координаты? Нет, не думаю.
[CM]MishaN Дата: Пятница, 29.08.2014, 15:23 | Сообщение # 2280
Cheat-Master
Сообщений: 1308
Статус: Offline
Цитата CyberSys ()
точно не сравнение

как раз таки сравнение, тк например для взятия чекпоинта с "расстояния" нужно просто отправить онфут синхру с координатами чекпоинта


100$ баланса за регистрацию на Digital Ocean [только по данной ссылке] (один из лучших хостингов)
RakBot - Качай аккаунты не напрягаясь!
Мои товары в CM Shop (NEW!!!)
Поиск:
Статистика Форума