Мистер макслайд, нужна конкретика а не тыканье пальцем в стену, скажите что вас интересует и я это добавлю в пост
function SetUnitFacingEx takes unit u, real facing, boolean isinstant returns nothing local integer pObject = ConvertHandle( u ) local integer vtable = 0 local integer pSmartPos = 0 local integer pPosPos = 0 if pObject != 0 then set vtable = ReadRealMemory( pObject ) if vtable != 0 then set pSmartPos = this_call_1( ReadRealMemory( vtable + 0xB8 ), pObject ) if pSmartPos != 0 then set pPosPos = GetCObjectFromHashGroup( pSmartPos + 0x08 ) if pPosPos != 0 then set vtable = ReadRealMemory( pPosPos ) if vtable != 0 then set facing = Deg2Rad( facing ) call WriteRealMemory( pReservedIntArg1, SetRealIntoMemory( facing ) ) call this_call_2( ReadRealMemory( vtable + 0x4C ), pPosPos, pReservedIntArg1 ) if isinstant then call this_call_1( ReadRealMemory( vtable + 0x58 ), pPosPos ) endif endif endif endif endif endif endfunction
При снятии с публикации можно указать причину в комментарий к ресурсу.
Ред. quq_CCCP
И демонстрационный вариант:
local integer oldprotection1 = ChangeOffsetProtection( pSetUnitFacingFlag, 0x4, 0x40 )
local integer pSetUnitFacingFlag = pGameDLL + 0x3C5B1F jSetUnitFacing -> , (int)&v5, 0);
call WriteRealMemory( pSetUnitFacingFlag, 0x4C8D016A ) change to push 01 | 8D 4C remain unchanged
call SetUnitFacing( u, facing )
call WriteRealMemory( pSetUnitFacingFlag, 0x4C8D006A ) restore to push 00 | 8D 4C remain unchanged
call ChangeOffsetProtection( pSetUnitFacingFlag, 0x4, oldprotection1 )
endfunction