Версия v1.0.5a
Дополнительные функции для редактирования стандартного интерфейса Варкрафта
212 45.3K
32
Это все оффсеты? Чет маловато по сравнению с мх лича, ну лан....
А как их искать?
Интересен GetFrameAdress
22
Вот 4 разные версии.
    function Init26 takes nothing returns nothing
        set address_GameBase    = Memory[GetBytecodeAddress()/4]/4 - 0x254418
        set address_GameState   = address_GameBase + 0x2AD97D
        set pUnitData           = address_GameBase + 0x2AD11E
        set pAbilityData        = address_GameBase + 0x2ACF99
        set pGameClass2         = address_GameBase + 0x2AD3E0
    endfunction

    function Init27 takes nothing returns nothing
        set address_GameBase    = Memory[GetBytecodeAddress()/4]/4-0x298ECC
        set address_GameState   = address_GameBase+0x2F908E
        set pUnitData           = address_GameBase+0x2FB123
        set pAbilityData        = address_GameBase+0x2FB351
        set pGameClass2         = address_GameBase+0x2F98D4
    endfunction

    function Init27b takes nothing returns nothing
        set address_GameBase    = Memory[GetBytecodeAddress()/4]/4-0x2F5C85
        set address_GameState   = address_GameBase+0x35A1EA
        set pUnitData           = address_GameBase+0x35C27D
        set pAbilityData        = address_GameBase+0x35C4AB
        set pGameClass2         = address_GameBase+0x35AA2E
    endfunction

    function Init28 takes nothing returns nothing
        set address_GameBase    = Memory[GetBytecodeAddress()/4]/4-0x2F8241
        set address_GameState   = address_GameBase+0x35CC3C
        set pUnitData           = address_GameBase+0x35ECCF
        set pAbilityData        = address_GameBase+0x35EEFD
        set pGameClass2         = address_GameBase+0x35D480
    endfunction

	private function Init takes nothing returns nothing
        local integer i = Memory[GetBytecodeAddress()/4]
        set i = i - Memory[i/4]

        if i == 2894996 then
            call Init28()
        elseif i == 2889044 then
            call Init27b()
        elseif i == 2586768 then
            call Init27()
        elseif i == 5205600 then
            call Init26()
        else
            call BJDebugMsg("Warning! Unsupported version!\nVersion-specific offsets have not been initialized!")
            return
        endif
        
        set address_pMouseEnv = Memory[Memory[pGameClass2]/4 + 239]/4 + 196
    endfunction
endlibrary
13
quq_CCCP:
Да думал спросить его про методику поиска оффсетов для мемхака, на старшие патчи.
Я с новыми патчами, выше версии 1.28.5, не работал.
32
Да думал спросить его про методику поиска оффсетов для мемхака, на старшие патчи.
Версия v0.3.0
Графическая модификация для игры WarCraft III.
287 83K