Перейти к содержанию

Japonamat

Пользователи
  • Постов

    56
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Japonamat

  1. Да, выпадающий список. Но Elsif он не принимает ни в каком виде почему-то. Видимо, не туда вставляю.

    И еще. Когда выбираю Elsif, то окно ввода адреса остается неактивным, активно только окно вода значения, причем меняется с НЕХ на ASCII

  2. Привет!

     

    А в пятой строке точно

     

    ElsIf 0EB6990C 01?
     
    Разве не If?
    If 0EB6990C 00 ;Если выполняется условие 1    If 02134B22 01 ;Если выполняется условие 2        Poke 02134B21 00 00 00 00 ;Делаем замену байт    EndIf ;Закрываем второе условие (по вложенности)ElsIf 0EB6990C 01 ;Иначе, если выполняется условие 3    If 02134B22 00 ;Если выполняется условие 4        Poke 02134B21 00 01 00 00 ;Делаем замену байт    EndIf ;Закрываем условие 4EndIf; Закрываем условие 3
  3. Даже не знаю как назвать тему. Не могу написать кусок кода для Game Trainer Studio, запутался с логикой, мать ее за ногу o_0 . Помогите, парни!

    В общем, суть такая. Используются If, Else, Endif, Elsif, Poke. Другого в генераторе кода в программе нет.

    Нужно:

    Если по этим адресам значения такие0EB6990C 0002134B22 01Тогда здесь выставляем так02134B21 00 00 00 00Но если0EB6990C 0102134B22 00Тогда должно быть так02134B21 00 01 00 00

    Мозги кипят. Вот с такой конструкцией с одним условием справился, все работает на ура

    If 02134B21 01Poke 02134B21 00 01 00 00ElsePoke 02134B21 01 01 01 01Endif

    Но вот с двумя условиями никак не дается, зараза. Помогите, парни!

     

  4. Всем привет. Народ, помогите с кодом выбора хоткея для трейнера. То есть, в трейнере есть конкретный хоткей (например Y), который изменяет в памяти игры какие-то данные. Хочется сделать выбор этой самой клавиши. То есть, чтобы каждый игрок выбирал этот хоткей под себя. Чтобы выглядело примерно так

    f84cba9dc79d.jpg

    Использую Game Trainer Studio. Вот сохраненный им работающий пример исходника:

    Что-то не нашел спойлер, сори.

    Вот так он выглядит в работе

    87d376ce56eb.jpg

    Или собственный проект Game Trainer Studio для этого кода. Проект он сохраняет в собственном формате. Помогите добавить сюда этот чертов выбор! Сам в программировании ни бум-бум, если что.

    ; #########################################################################;;  This Is My Trainer Template Created For The Game Trainer Studio (Xeta);;  This Is Based On A MASM Example.;; #########################################################################   .386   .model flat, stdcall  ; 32 bit memory model   option casemap :none  ; case sensitive   include trainer.inc   ; local includes for this file; #########################################################################.data; ### Constants Below; ### Constants Above; ### Bytes BelowHotKey00000 db 001h            db 001h            db 001h; ### Bytes Above; ### Button Messages Below; ### Button Messages Above   WindCap db "Skype™",0   szDisplayName db 'Trainer-1',0.codestart:   invoke GetModuleHandle, NULL   mov hInstance, eax   invoke GetCommandLine   mov CommandLine, eax   invoke WinMain,hInstance,NULL,CommandLine,SW_SHOWDEFAULT   invoke ExitProcess,eax; #########################################################################WinMain proc hInst     :DWORD,             hPrevInst :DWORD,             CmdLine   :DWORD,             CmdShow   :DWORD   ;====================   ; Put LOCALs on stack   ;====================   LOCAL wc   :WNDCLASSEX   LOCAL msg  :MSG   LOCAL Wwd  :DWORD   LOCAL Wht  :DWORD   LOCAL Wtx  :DWORD   LOCAL Wty  :DWORD   ;==================================================   ; Fill WNDCLASSEX structure with required variables   ;==================================================   invoke LoadIcon,hInst,500    ; icon ID   mov hIcon, eax   szText szClassName,"Trainer_Class"   mov wc.cbSize,         sizeof WNDCLASSEX   mov wc.style,          CS_HREDRAW or CS_VREDRAW \                or CS_BYTEALIGNWINDOW   mov wc.lpfnWndProc,    offset WndProc   mov wc.cbClsExtra,     NULL   mov wc.cbWndExtra,     NULL   m2m wc.hInstance,      hInst   mov wc.hbrBackground,  COLOR_BTNFACE+1   mov wc.lpszMenuName,   NULL   mov wc.lpszClassName,  offset szClassName   m2m wc.hIcon,          hIcon   invoke LoadCursor,NULL,IDC_ARROW   mov wc.hCursor,        eax   m2m wc.hIconSm,        hIcon   invoke RegisterClassEx, ADDR wc   ;================================   ; Centre window at following size   ;================================   mov Wwd, 325 ; Dialog Width   mov Wht, 214 ; Dialog Height   invoke GetSystemMetrics,SM_CXSCREEN   invoke TopXY,Wwd,eax   mov Wtx, eax   invoke GetSystemMetrics,SM_CYSCREEN   invoke TopXY,Wht,eax   mov Wty, eax   invoke CreateWindowEx,WS_EX_LEFT,               ADDR szClassName,               ADDR szDisplayName,               WS_MINIMIZEBOX or WS_OVERLAPPED or WS_SYSMENU,               Wtx,Wty,Wwd,Wht,               NULL,NULL,               hInst,NULL   mov   hWnd,eax   invoke ShowWindow,hWnd,SW_SHOWNORMAL   invoke UpdateWindow,hWnd   ;===================================   ; Loop until PostQuitMessage is sent   ;===================================   StartLoop:       invoke GetMessage,ADDR msg,NULL,0,0       cmp eax, 0       je ExitLoop       invoke TranslateMessage, ADDR msg       invoke DispatchMessage,  ADDR msg       jmp StartLoop   ExitLoop:   return msg.wParamWinMain endp; #########################################################################WndProc proc hWin   :DWORD,             uMsg   :DWORD,             wParam :DWORD,             lParam :DWORD    LOCAL var    :DWORD    LOCAL caW    :DWORD    LOCAL caH    :DWORD    LOCAL color  :DWORD    LOCAL hDC    :DWORD    LOCAL Rct    :RECT    LOCAL Ps     :PAINTSTRUCT    LOCAL buffer1[128]:BYTE    LOCAL buffer2[128]:BYTE    LOCAL lfnt   :LOGFONT    LOCAL psd    :PAGESETUPDLG    LOCAL pd     :PRINTDLG    LOCAL RectB     :RECT   .if uMsg == WM_COMMAND        MOV EAX, wParam       .if wParam == 499       .elseif wParam == 500       ButtonJump_Jump500:Invoke ExitProcess, 0       .endif   .elseif uMsg == WM_CTLCOLORSTATIC        JMP @WM_CTLCOLOREDIT   .elseif uMsg == WM_CTLCOLOREDIT        @WM_CTLCOLOREDIT:   .elseif uMsg == WM_DRAWITEM   .elseif uMsg == WM_CREATE           Invoke Protection        MOV HotKeyMiniToggle, TRUE        szText font1,'MS Sans Serif'        invoke CreateFont,8,5,0,0,500,0,0,0, \                          DEFAULT_CHARSET,0,0,0,\                          DEFAULT_PITCH,ADDR font1        mov hFont, eax       Invoke SetTimer, hWin, 1, 100, 0 ; HotKey Timer       Invoke SetTimer, hWin, 2, 300, 0 ; EditBox Timer 1       Invoke SetTimer, hWin, 3, 300, 0 ; EditBox Timer 2       Invoke SetTimer, hWin, 4, 100, 0 ; EditBox Freeze Timer       szText bTxt1,"Close"       invoke PushButton,ADDR bTxt1,hWin,120,136,94,28,500   .elseif uMsg == WM_TIMER           Invoke Protection       .If wParam == 1 ;   ### Timer Below ###Invoke GetKeyState, VK_Ymov HotBuffer1, eax            .if HotBuffer1 > 1Invoke TrainerEngine, NULL, Offset WindCap, 000CCFF8h, Offset HotKey00000, 3.endif       .Endif ;        ### Timer Above ###       .If wParam == 2 ;   ### Timer Below ###       .Endif ;        ### Timer Above ###       .If wParam == 3 ;   ### Timer Below ###       .Endif ;        ### Timer Above ###       .If wParam == 4 ;   ### EBFreeze Timer Below ###       .Endif ;            ### EBFreeze Timer Above ###   .elseif uMsg == WM_HOTKEY   .elseif uMsg == WM_PAINT       invoke BeginPaint,hWin,ADDR Ps         mov hDC, eax         invoke Paint_Proc,hWin,hDC       invoke EndPaint,hWin,ADDR Ps       return 0   .elseif uMsg == WM_DESTROY       invoke PostQuitMessage,NULL       return 0    .endif    invoke DefWindowProc,hWin,uMsg,wParam,lParam    retWndProc endp; ########################################################################TopXY proc wDim:DWORD, sDim:DWORD   shr sDim, 1      ; divide screen dimension by 2   shr wDim, 1      ; divide window dimension by 2   mov eax, wDim    ; copy window dimension into eax   sub sDim, eax    ; sub half win dimension from half screen dimension   return sDimTopXY endp; #########################################################################Paint_Proc proc hWin:DWORD, hDC:DWORD   LOCAL btn_hi   :DWORD   LOCAL btn_lo   :DWORD   LOCAL Rct      :RECT   invoke GetSysColor,COLOR_BTNHIGHLIGHT   mov btn_hi, eax   invoke GetSysColor,COLOR_BTNSHADOW   mov btn_lo, eax   return 0Paint_Proc endp; ########################################################################OnDrawItem proc uses ebx idCtl:DWORD,pdis:DWORD,pcol:DWORD,pbkcol:DWORDLOCAL tbuff[20h]:byte   mov ebx,pdis   assume ebx:ptr DRAWITEMSTRUCT   .if [ebx].CtlType == ODT_BUTTON       .if pbkcol == 0       .else       invoke SetBkMode,[ebx].hdc,OPAQUE       Invoke SetBkColor,[ebx].hdc,pbkcol       Invoke CreateSolidBrush, pbkcol       invoke FillRect,[ebx].hdc,addr [ebx].rcItem,eax       .endif       invoke SetTextColor,[ebx].hdc,pcol       .if ([ebx].itemState & ODS_SELECTED)           invoke DrawEdge,[ebx].hdc,addr [ebx].rcItem,BDR_SUNKEN,BF_RECT           invoke OffsetRect,addr [ebx].rcItem,1,1       .else           invoke DrawEdge,[ebx].hdc,addr [ebx].rcItem,EDGE_RAISED,BF_RECT          .endif       invoke GetWindowText,[ebx].hwndItem,addr tbuff,sizeof tbuff       lea edx,[ebx].rcItem       lea ecx,tbuff       invoke DrawText,[ebx].hdc,ecx,eax,edx,DT_CENTER or DT_VCENTER or DT_SINGLELINE or DT_NOCLIP       .if [ebx].itemState & ODS_FOCUS           invoke InflateRect,addr [ebx].rcItem,-4,-4           invoke DrawFocusRect,[ebx].hdc,addr [ebx].rcItem       .endif   .endif   assume ebx:nothing   retOnDrawItem endp; ########################################################################end start
  5. Автор программу забросил, похоже. И справки нет... Парни, консультация нужна, может, поможет кто? Интересует возможность реализации переключения между двумя значениями в памяти игры по одному хоткею. Что-то никак не получается так сделать. Подозреваю, что такое возможно с помощью скриптов, но для меня это темный лес.

    Поможет кто-нибудь?

  6. Народ, такой вопрос. При назначении хоткея для трейнера имеем вот такую картину

     

    7e7f71348724.jpg

     

    То есть, я могу назначить горячую клавишу для установки нужного значения, но чтобы вернуть старое, родное значение, нужно назначить другой хоткей, а это очень неудобно. Как забиндить на одну клавишу переключение между двумя значениями?

  7. Всем здрасти!

    Народ, нужна помощь в создании трейнера. Раньше Cheat Engine не пользовался, поэтому мало что понимаю, поэтому прошу какашками не кидаться.

    В общем, проблема такая. Решил создать трейнер для себя, чтобы не зависеть от других. Игра обновляется часто, старый трейнеры работать перестают. Собственно, пока нужна одна функция - включение/выключение растительности. С горем пополам нужные адреса с помощью проги нашел, но возникла такая проблема - назначить хоткей на выключение получается без проблем, все работает, а вот с обратное включение не получается. Вернее, я могу назначить для этого другую клавишу, но надо именно ту же самую. То есть должен быть переключатель по одной клавише. При назначении хоткея имею такую картину

    e8ef8b7d1cea.jpg

     

    При переключении там должны меняться значения с 1 на 257 и обратно.

    Помогите с трейнером, знатоки! Хелп!

    //NullAlex: тему аппрувнул, и перенес в нужный раздел. Автора на будущее прошу учесть, и не создавать темы с вопросами в разделе информации.

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.