рдкреНрд░рддреНрдпреЗрдХ рдЧреЗрдорд░ рдЬрд▓реНрдж рдпрд╛ рдмрд╛рдж рдореЗрдВ рдЦреЗрд▓ рдХреЗ рдХреБрдЫ рд╕реНрддрд░реЛрдВ рдХреЗ рдкрд╛рд░рд┐рдд рд╣реЛрдиреЗ, рдзреЛрдЦрд╛ рджреЗрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдЖрджрд┐ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП, рд╡реЗ
рдЖрд░реНрдЯрдордиреА рдЬреИрд╕реЗ рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдХрднреА-рдХрднреА рдпрд╣ рдЕрдкрдиреЗ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп-рд╕рдордп рдкрд░ рдбреЗрдЯрд╛ рдХреЛ рд╕рд╣реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдердХрд╛ рд░рд╣рд╛ рд╣реИред рд╡рд┐рднрд┐рдиреНрди
рдЪреАрдЯ рдФрд░
рдкреНрд░рд╢рд┐рдХреНрд╖рдХ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред рдзреЛрдЦрд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдкрд░ рдмрд╛рдж рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред
рдЦреЗрд▓ GTA рд╕реИрди рдПрдВрдбреНрд░рд┐рдпрд╛рд╕ рдХреЛ рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рд╖рдп рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд╣рдо рдЗрд╕реЗ рдпрд╛рддрдирд╛ рджреЗрдВрдЧреЗред рдЧреЗрдо рдкрд┐рдХреНрдЪрд░ рдХреЛ "рдЯреНрд╡рд┐рд╕реНрдЯ" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдореЗрдВ рдЬрд╝рд░реВрд░рдд рд╣реИ, рдпрд╣ рдореЗрдореЛрд░реА рдХреЗ рдХреБрдЫ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ? рджрд░рдЕрд╕рд▓, рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ, рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ рдФрд░ рдмрд╕ рдПрдХ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рд╕реНрдореГрддрд┐ рдореЗрдВ рдирд╣реАрдВ рдЖрддреА рд╣реИрдВред рдмреЗрд╢рдХ, рдЖрдк WinAPI рдлрд╝рдВрдХреНрд╢рди
WriteProcessMemory () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЧреЗрдо рдХреЛрдб рдореЗрдВ рд╣рдорд╛рд░реЗ рдХреЛрдб рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдЗрд╕реЗ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХрд░реЗрдВрдЧреЗред рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЗрдВрдЬреЗрдХреНрд╢рди рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдВрдЯреАрд╡рд╛рдпрд░рд╕ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрд▓рд╛рд░реНрдо рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд▓рд╛рдиреЗ рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдкрд╣рд▓реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЕрдиреНрдп рд╕реНрдерд╛рдиреЛрдВ рдкрд░ред рдпрд╣ рд╡рд┐рдзрд┐, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдПрдВрдЯреАрд╡рд╛рдпрд░рд╕ рдХреЗ рд▓рд┐рдП рд╕рдВрджрд┐рдЧреНрдз рдирд╣реАрдВ рд╣реИред
рдЖрдкрдХреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реЗ рдХреМрди рд╕реЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдЖрдпрд╛рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдХреМрди рд╕реЗ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЖрдпрд╛рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП DLL рдлрд╝рд┐рд▓реНрдЯрд░ рд▓рд┐рдЦреЗрдВред GTA рд╕реИрди рдПрдВрдбреНрд░рд┐рдпрд╛рд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, Dinput8.dll рдПрдХ рдРрд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрди рдЧрдИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдлрд╝рдВрдХреНрд╢рди
рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ -
DirectInput8Create () ред
рдЕрдм рдЖрдкрдХреЛ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ DLL рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ, рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, DirectInput8Create () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЙрд╕реА рдирд╛рдо рдХреЗ WWindows рд╕рд┐рд╕реНрдЯрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдиреНрдпрдерд╛, рдЦреЗрд▓ рдмрд╛рдзрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛!
рдЖрдк рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ DLL рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ PureBasic рдХреЛ рдЪреБрдирд╛ред
рдзреЛрдЦрд╛ рдХреЛрдб; GTA San Andreas. Prototype pDirectInput8Create(hinst, dwVersion.l, riidltf, *ppvOut, *punkOuter) ; . Procedure.s GetSysDir() Protected Result.s="", len, *Mem *Mem=AllocateMemory(#MAX_PATH) If *Mem Len=GetSystemDirectory_(*Mem, #MAX_PATH) Result=PeekS(*Mem, Len)+"\" FreeMemory(*Mem) EndIf ProcedureReturn Result EndProcedure Procedure.b TestMemory(*Pointer, Size) ; . Protected mbi.MEMORY_BASIC_INFORMATION Protected Result.b = #False, dwWrote If Size dwWrote = VirtualQuery_(*Pointer, @mbi, SizeOf(MEMORY_BASIC_INFORMATION)) If dwWrote If mbi\BaseAddress+mbi\RegionSize >= *Pointer+Size If mbi\Protect & (#PAGE_READONLY | #PAGE_READWRITE | #PAGE_EXECUTE_READ | #PAGE_EXECUTE_READWRITE) Result = #True EndIf EndIf EndIf EndIf ProcedureReturn Result EndProcedure Procedure WriteMemF(*Address, Infa.f) ; Float . If TestMemory(*Address, 4) PokeF(*Address, Infa) EndIf EndProcedure Procedure WriteMemL(*Address, Infa.l) ; Long . If TestMemory(*Address, 4) PokeL(*Address, Infa) EndIf EndProcedure Procedure.l ReadMemL(*Address) ; Long . If TestMemory(*Address, 4) ProcedureReturn PeekL(*Address) Else ProcedureReturn -1 EndIf EndProcedure Procedure WinTimer() Protected *Point Static Count ; ( 1000000, ). Maney = ReadMemL($00B7CE50) If Maney>=0 And Maney<1000000 WriteMemL($00B7CE50, 1000000) EndIf ; . If TestMemory($00B6F5F0, SizeOf(Integer)) *Point = PeekI($00B6F5F0) If TestMemory(*Point, 4) ; . WriteMemF(*Point+1344, 100) ; . WriteMemF(*Point+1352, 100) ; , . WriteMemL(*Point+1504, 1000) WriteMemL(*Point+1508, 1000) ; , . WriteMemL(*Point+1532, 1000) WriteMemL(*Point+1536, 1000) ; SMG, . WriteMemL(*Point+1560, 1000) WriteMemL(*Point+1564, 1000) ; , . WriteMemL(*Point+1588, 1000) WriteMemL(*Point+1592, 1000) ; , . WriteMemL(*Point+1616, 1000) WriteMemL(*Point+1620, 1000) ; , . WriteMemL(*Point+1644, 1000) WriteMemL(*Point+1648, 1000) ; , . WriteMemL(*Point+1672, 1000) WriteMemL(*Point+1676, 1000) ; /, . WriteMemL(*Point+1700, 1000) WriteMemL(*Point+1704, 1000) EndIf EndIf ; . If TestMemory($00BA18FC, SizeOf(Integer)) *Point = PeekI($00BA18FC) If TestMemory(*Point, 4) ; . WriteMemF(*Point+1216, 1000) EndIf EndIf If Count>10 Count=0 ; - ( 1000). WriteMemL($00B791B4, 1000) ; - ( 1000). WriteMemL($00B791B8, 1000) ; - ( 1000). WriteMemL($00B790A0, 1000) ; - ( 1000). WriteMemL($00B7919C, 1000) ; - ( 1000). WriteMemL($00B791C4, 1000) ; - ( 1000). WriteMemL($00B791A4, 1000) ; - ( 1000). WriteMemF($00B793DC, 1000) ; - ( 1000). ;WriteMemF($00B79480, 1000) ; - ( 1000). WriteMemF($00B793D8, 1000) ; - AK47 ( 1000). WriteMemF($00B794B4, 1000) ; - ( 1000). WriteMemF($00B794A8, 1000) ; - Desert Eagle ( 1000). WriteMemF($00B7949C, 1000) ; - M4 ( 1000). WriteMemF($00B794B8, 1000) ; - - ( 1000). WriteMemF($00B794AC, 1000) ; - ( 1000). WriteMemF($00B79494, 1000) ; - SMG ( 1000). WriteMemF($00B794B0, 1000) ; - ( 1000). WriteMemF($00B794A4, 1000) ; - ( 1000). WriteMemF($00B794A0, 1000) ; - ( 1000). WriteMemF($00B79498, 1000) Else Count+1 EndIf EndProcedure ; . Procedure Thread(*Void) Shared hWnd_SanAndreas Protected Count Delay(4000) Count=0 Repeat ; . hWnd_SanAndreas=FindWindow_(0, "GTA: San Andreas") If hWnd_SanAndreas<>0 ; SetTimer_(hWnd_SanAndreas, 10, 800, @WinTimer()) ; Break ; . EndIf Delay(100) Count+1 If Count>20 ; . Beep_(1000,200) Break EndIf ForEver EndProcedure ; DLL. ProcedureDLL AttachProcess(Instance) Global WinAPI_DirectInput8Create=0, hLib_Dinput8, ThreadID ; Dinput8.dll hLib_Dinput8 = LoadLibrary_(GetSysDir()+"Dinput8.dll") If hLib_Dinput8 WinAPI_DirectInput8Create.pDirectInput8Create = GetProcAddress_(hLib_Dinput8, "DirectInput8Create") EndIf If WinAPI_DirectInput8Create=0 MessageRequester("", " ."+Chr(10)+" .") EndIf ; . ThreadID=CreateThread(@Thread(), 0) EndProcedure ; DLL. ProcedureDLL DetachProcess(Instance) Shared hWnd_SanAndreas If hLib_Dinput8 FreeLibrary_(hLib_Dinput8) hLib_Dinput8 = 0 EndIf If ThreadID And IsThread(ThreadID) KillThread(ThreadID) ThreadID=0 EndIf If hWnd_SanAndreas<>0 And IsWindow_(hWnd_SanAndreas) KillTimer_(hWnd_SanAndreas, 10) hWnd_SanAndreas=0 EndIf EndProcedure ; WinAPI DirectInput8Create. ProcedureDLL DirectInput8Create(hinst, dwVersion.l, riidltf, *ppvOut, *punkOuter) If WinAPI_DirectInput8Create ProcedureReturn WinAPI_DirectInput8Create(hinst, dwVersion, riidltf, *ppvOut, *punkOuter) EndIf EndProcedure
DLL рд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рдЕрдЯреИрдЪрдкреНрд░реЛрд╕реЗрд╕ () рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ Dinput8.dll рд╕рд┐рд╕реНрдЯрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреВрд░реНрдг рд▓реЛрдбрд┐рдВрдЧ рдкрде рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЦреБрдж рд▓реЛрдб рд╣реЛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ! рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рдлрд▓ рд▓реЛрдбрд┐рдВрдЧ рдкрд░, рд╣рдореЗрдВ рдЗрд╕рдХреЗ DirectInput8Create () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рдорд┐рд▓рддрд╛ рд╣реИред рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рд╕рдВрджреЗрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рдПрдХ рд╕рдорд╛рдирд╛рдВрддрд░ рдзрд╛рдЧрд╛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдСрдкрд░реЗрд╢рди рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рд╣рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ "рд╣реИрдВрдЧ" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреНрд░реАрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдереНрд░реЗрдб (рдереНрд░реЗрдб () рдкреНрд░рдХреНрд░рд┐рдпрд╛) рдореЗрдВ, рдЧреЗрдо рд╡рд┐рдВрдбреЛ рдХреЛ "GTA: San Andreas" рд╢реАрд░реНрд╖рдХ рд╕реЗ рдЦреЛрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬреИрд╕реЗ рд╣реА рдЦрд┐рдбрд╝рдХреА рдорд┐рд▓рддреА рд╣реИ, рдПрдХ рдЯрд╛рдЗрдорд░ рдЙрд╕ рдкрд░ "рд▓рдЯрдХрд╛" рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рд╡рд╛рд╣ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдХреЛрдИ рднреА рдЯрд╛рдЗрдорд░ рдХреЗ рдмрд┐рдирд╛ рдХрд░ рд╕рдХрддрд╛ рдерд╛ рдФрд░ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд╕рднреА рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ, рдЦреЗрд▓ рдХреА рдореБрдЦреНрдп рдзрд╛рд░рд╛ рд╕реЗ рдореЗрдореЛрд░реА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
WinTimer () рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЯрд╛рдЗрдорд░ рдкрд░ рдкреНрд░рддреНрдпреЗрдХ 800 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдкрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдЪрд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдпрд╣ рдкрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рд╕реБрд▓рдн рд╣реИ рдпрд╛ рдирд╣реАрдВред
рдзреЛрдЦрд╛ рдХрд╡рдЪ, рдЦрд┐рд▓рд╛рдбрд╝реА рдФрд░ рд╡рд╛рд╣рди рд╕реНрд╡рд╛рд╕реНрдереНрдп, рдЦрд┐рд▓рд╛рдбрд╝реА рдХреМрд╢рд▓, рд╕рд╛рде рд╣реА рд░рд╛рдЙрдВрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЙрдЪрд┐рдд рд╕реНрддрд░ рдХреЛ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рдиреАрдВрдмреВ рдХреЗ рд░реБрдкрдпреЗ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЕрдЧрд░ рд╡рд╣ рдЙрдиреНрд╣реЗрдВ рдЦрд░реНрдЪ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡реЗ рдкрддрд▓реА рд╣рд╡рд╛ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рддреЗ рд╣реИрдВред
рдпрд╣ рдзреЛрдЦрд╛ рдЙрди рд▓реЛрдЧреЛрдВ рд╕реЗ рдЕрдкреАрд▓ рдХрд░реЗрдЧрд╛ рдЬреЛ рдкреБрд▓рд┐рд╕ рдХреЗ рд╕рд╛рде рдпреБрджреНрдз рдХрд╛ рдЦреЗрд▓ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЙрдирдХреЗ рд▓рд┐рдП рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рддрдмрд╛рд╣ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛, рдЬрдм рддрдХ рдХрд┐ рд╡рд╣ рдкреНрд╡рд╛рдЗрдВрдЯ-рдмреНрд▓реИрдВрдХ рдкрд░ рд╢реВрдЯрд┐рдВрдЧ рдирд╣реАрдВ рдХрд░ рд▓реЗрддрд╛ред
рдЗрд╕ рдХреЛрдб рд╕реЗ рдЖрдкрдХреЛ Dinput8.dll рдирд╛рдо рдХрд╛ рдПрдХ DLL рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдЧреЗрдо рдХреЗ рд╕рд╛рде рдЙрд╕реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ DLL рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ IDE рдореЗрдВ рдХреЛрдб рд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ "рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк" рд╕реВрдЪреА рдореЗрдВ рд╕рдВрдХрд▓рдХ рдХреЗ рдЧреБрдгреЛрдВ рдореЗрдВ "рд╕рд╛рдЭрд╛ Dll" рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
