32

» WarCraft 3 / Вопрос о создании функции в мемхаке.

Принятый ответ
Ну сперва ты конвертируешь хендл в адресс, после ты задаёшь от адреса отступ, чтобы попасть в нужную ячейку структуры объекта, как до неё добраться нужно смотреть в чит енджине или дезасамблировать игру и вникать в логику работы интересующих тебя вещей.
32

» WarCraft 3 / Pitch, roll

Завезли только на мемхаке крены и повороты, причём не только юнитам. Вроде больше никто не сделал.
32

» WarCraft 3 / Вопрос о создании функции в мемхаке.

Undert4ker, смотря что тебе нужно, самое насущьное уже реализовали. Вроде детекта урона.
32

» WarCraft 3 / Вопрос о создании функции в мемхаке.

Кое какие хуки выложены, щяс собираем все по мемхаку в одну карту +инструкцию.
Если DracoL1ch, поможет, мб будет больше функций.
32

» WarCraft 3 / Как добавить нового героя в Dota 6.83c

Bergi_Bear, если интересно очень поведаю всю историю в лс, а так спамить хватит, закройте тему.
32

» WarCraft 3 / Создание/помощь в Триггере

Карту в студию, возможно дело в ИИ, создавайте за игрока не компьютера. В кампании все делается проще, в области создается жук и ему приказывают проиграть анимацию - выкапывания, жук запаужен и неуязвим чтобы не двигался и ему никто не мешал, после жука делают уязвимым и анпаузят, ну и приказывают бежать.
32

» WarCraft 3 / Как добавить нового героя в Dota 6.83c

Undert4ker, да забей, чувак пытался всех обмануть...
Сделать своего героя можно, но ненужно, и да - в карту вы людей не заманите, все сразу поймут что это модифицированная версия.
32

» WarCraft 3 / Тормозит код (или комп?)

Какая то странная реализация, ауру сделать можно гораздо проще,
globals
    timer AuraTimer = null
    boolexpr AuraFilter
    constant player bj_AllyPlayer = Player( 9 )
endglobals

function Boolexpr_Resistance_Aura_Conditions takes nothing returns boolean
    set bj_lastFilterUnit = GetFilterUnit( )
    return GetUnitState( bj_lastFilterUnit, UNIT_STATE_LIFE ) > 0.405 and IsUnitAlly( bj_lastFilterUnit, bj_AllyPlayer ) and not ( GetOwningPlayer( bj_lastFilterUnit ) == bj_PLAYER_NEUTRAL_AGGRESSIVE or IsUnitType( bj_lastFilterUnit, UNIT_TYPE_STRUCTURE ) )
endfunction

function AddOrDeleteResistance takes nothing returns nothing
    set bj_lastReplacedUnit = GetEnumUnit( )
    set bj_forLoopBIndex = GetUnitAbilityLevel( bj_lastReplacedUnit, 'B00F' ) // бафф защитной ауры
    set bj_forLoopBIndexEnd = GetUnitAbilityLevel( bj_lastReplacedUnit, 'A03U' ) // спеллбук
   
   
    if bj_forLoopBIndex == 1 and bj_forLoopBIndexEnd == 0 then
        call UnitAddAbility( bj_lastReplacedUnit, 'A03U' )
        call UnitMakeAbilityPermanent( bj_lastReplacedUnit, true, 'A03U' )
        call UnitMakeAbilityPermanent( bj_lastReplacedUnit, true, 'A03T' )
        call SetUnitAbilityLevel( bj_lastReplacedUnit, 'A03T', bj_forLoopAIndex )
    endif

    if bj_forLoopBIndex == 0 and bj_forLoopBIndexEnd == 1 then
        call SetUnitAbilityLevel( bj_lastReplacedUnit, 'A03T', 1 )
    endif
    
    if bj_forLoopBIndex == 1 and bj_forLoopBIndexEnd == 1 then
        call SetUnitAbilityLevel( bj_lastReplacedUnit, 'A03T', bj_forLoopAIndex )
    endif
    
    set bj_lastReplacedUnit = null
    set bj_forLoopBIndex = 0
    set bj_forLoopBIndexEnd = 0
endfunction

function Timer_Resistance_Aura_Actions takes nothing returns nothing
    set bj_forLoopAIndex = GetDataBX( GetExpiredTimer( ) )
    call GroupClear( gg_grp_TempGroup )
    call GroupEnumUnitsInRect( gg_grp_TempGroup, bj_mapInitialPlayableArea, AuraFilter )
    call ForGroup( gg_grp_TempGroup, function AddOrDeleteResistance )
endfunction

function Trig_Resistance_Aura_Actions takes nothing returns nothing
    local unit Runner = GetTriggerUnit( )
    local integer Level = GetUnitAbilityLevel( Runner, 'A03S' )
    
    if Level == 1 then
        if AuraTimer != null then
            call RemoveDataBX( AuraTimer )
            call DestroyTimer( AuraTimer )
        endif
        set AuraTimer = CreateTimer( )
        set AuraFilter = Condition( function Boolexpr_Resistance_Aura_Conditions )
        call SetDataBX( AuraTimer, Level + 1 )
        call TimerStart( AuraTimer, 1.01, true, function Timer_Resistance_Aura_Actions )
        call UnitAddAbility( Runner, 'A03U' )
        call SetUnitAbilityLevel( Runner, 'A03T', Level+1 )
    else
        call SetDataBX( AuraTimer, Level + 1 )
    endif
    set Runner = null
endfunction

//===========================================================================
function InitTrig_Resistance_Aura takes nothing returns nothing
endfunction
Банально на основе ауры пустышки.
32

» WarCraft 3 / Изгнание в астрал

izelorr, возьми и проверь, тест мап с событием урона сделать несложно.
32

» WarCraft 3 / Изгнание в астрал

в 1.66 раза увеличивает магический урон, у героев 25% маг резиста.

Потом сопротивление героя будет самым первым, вторым астрал ну или прочие модификаторы, они считаются в порядке приобретения.
Примерно 45% бонусного маг урона будет по героям в мире духов.
Загруженные файлы
32

» XGM Конкурсы / Конкурс героев

Bergi_Bear, хз, рефорджа нет поэтому никак проверить не смогу что получилось.
32

» XGM Конкурсы / Конкурс героев

Bergi_Bear:
Феникс, Вопрос, обязательно надо чтобы карта сохранялась в редакторе рефорджа, или достаточно чтобы просто работала?
Будет весело если карта с 1.26 не стартанет на 1.31 даже если написана на дефолте.
32

» WarCraft 3 / Паника

Bergi_Bear, стоит проверять на смерть юнита или юзать триггер, то наотдаешь приказ мертвому и фатал.
32

» WarCraft 3 / Bonus damage field

Bergi_Bear, на мемхаке зеленый урон можно смотреть, добавлять низя, ибо там опрос абилок идет постоянно.
32

» WarCraft 3 / Способности которые ФАТАЛят Варик.

Принятый ответ
ANeg - вручение не герою фатал.
Все способности на статы, или модификацию геройских фишек, вроде там опыта - при вручению не герою - фатал.

Apos - possesion (одержимость) если цель и заклинатель умрут, после разложения последнего игра фатальнет. (у способности есть флаг который делает цель неуязвимой, если его снять и убить цель, игра фаталит по разложении цели).

Ну мб еще какие то, если уж прям задаться целью вызвать фатал.
32

» WarCraft 3 / Паника

Нет не сделать, даже близко ничего дефолтного нету. Только триггерный вариант, если хочется как в д2, это вовсе очень сложно (но возможно), но явно не для тех кто на гуи еще сидит.
32

» WarCraft 3 / Способность Техника

Ельнур, в доте пофиг, там с визуальным эффектом шипов все бегают.
Это там никого не волнует.
Кстати на 1.31+ проверьте, у техники пофиксили багу что она фаталила если оставить пустыми поля свапа способностей, (на 1. 26 ей пофиг, она пашет, спс авто заполнению), но думаю близзарды таки исправили.
32

» WarCraft 3 / АнтиХак

ScorpioT1000:
Добавьте описание, что делает система. Я ничерта не понимаю
Чекает адреса памяти и выписывает бан тому у кого они не в порядке, так же проверяет наличие некоторых процессов. которые потенциально используются читами.
32

» WarCraft 3 / Дебаф промахов.

newtone, ну а че делать то, если нет других вариантов, либо бери что дают, либо иди лесом. Ясно что рефорджед есть не у всех, он стоит денег, но изучать 1.26 вам ни стоит ни чего кроме времени, если вы сами не можите - нанимаете того кто может. Простых способов в 2 строчки на гуи в 1.26 нет, да и вовсе промахи не предназначены складыватся.
32

» WarCraft 3 / Манипуляции с предметом

Есть событие юнит выбросил предмет, юнит получил предмет, юнит продал предмет.
все просто, проверяем кому и что, ну и возвращаем на место если потребуется.