32

» WarCraft 3 / Причины FATAL ERROR?

Joma, ты удаляешь героя. Наверное бага движка, многие абилки имеют скрыте баффы которые следят за юнитом, к примеру Apos possesion тоже фаталит, если каст отменить и кастер умрет и разложится.
32

» WarCraft 3 / Причины FATAL ERROR?

Мб настройки морфа не верные?

Оно там еще делает перманентным или нет. Можешь попробовать морф медведя, в настройках морфа указываешь нормальную форму героя - которую хочешь получить (летающий), а альтернативную героя - которая у него по дефолту. Вручаешь и тут же удаляешь морф, герой превратится в летуна. Опять же проверять на смерть, перед врученим UnitAlive.
32

» WarCraft 3 / Причины FATAL ERROR?

Вручение 'ANeg' и её клона не героям, абилка попытается настроить иконки для изучения но не найдет их, так как она тупо идет по смещению Адресс юнита + оффсет, по которому лежит 'Aher' способность героя (красный плюс), поэтому её нельзя вручать не героям (да близарды редиски), аналогично ведут себя книги на увеличение характеристик героя, игра падает с фаталом. Обычные предметы на + к статам, проверяют является ли владелец героем.
32

» WarCraft 3 / Есть способность Дух видимый "Aeth" влияющая на проходимость.…

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

» WarCraft 3 / Как сделать такие водопады на клиффах, как в картах близзов?…

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

» WarCraft 3 / Возможноли осуществить с помощью триггеров снабжение, смена времен года со сменой ландшафта, от которого будет зав доход, бунты

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

» WarCraft 3 / Гальванизация блокирует способности юнитов

Meddin, просто мемхак и снимаем сами сайленсы с юнитов, делов то) на 1.26а он прекрасно работает.
32

» WarCraft 3 / Гальванизация блокирует способности юнитов

Ну просто накладывает сайленс на способности, так 100500 способностей делают.
Напиши свою гальванизацию в редакторе триггеров, благо способность очень простая.
32

» WarCraft 3 / Функции варкрафта связанные с действиями над молнией, к…

Ну смотри как двигать молнии нормально, уже не раз выкладывали, можно в стркутуре пребирать циклом все молнии на карте и двигать их 1 таймером. Так же меняем плавно прозрачность и берем GetUnitImpactZ

struct LightningData
    private static constant timer period = CreateTimer( )
    private thistype prev
    private thistype next
    private lightning bolt
    private unit a1
    private unit a2
    private real ax1
    private real ay1
    private real ax2
    private real ay2
    private real alpha
    private real ticks
    private real time
    private boolean flag


    private stub method destroy takes nothing returns nothing

    call SetLightningColor( this.bolt, 0.00, 0.00, 0.00, 0.00 )
    call DestroyLightning( this.bolt )
    set this.a1 = null
    set this.a2 = null
    set this.bolt = null
    set this.alpha = 0.00

    set this.prev.next = this.next
    set this.next.prev = this.prev

    if ( thistype( 0 ).next == 0 ) then
        call PauseTimer( thistype.period )
    endif

    call thistype.deallocate( this )
endmethod
        
private static method iterate takes nothing returns nothing
    local thistype this = thistype( 0 ).next

    loop
        exitwhen ( this == 0 )
                
        if not IsUnitDead( this.a1 ) then
            set this.ax1 = GetUnitX( this.a1 )
            set this.ay1 = GetUnitY( this.a1 )
            if this.flag then
                set this.ax1 = this.ax1 + 25.00
                set this.ay1 = this.ay1 - 25.00
            endif
        endif
                    
        if not IsUnitDead( this.a2 ) then
            set this.ax2 = GetUnitX( this.a2 )
            set this.ay2 = GetUnitY( this.a2 )
        endif
                
        set TempAZ = GetLocationZ( bj_TempPoint ) + GetUnitFlyHeight( this.a1 ) + GetUnitImpactZ( this.a1 ) + 1.00
        call MoveLocation( bj_TempPoint, this.ax2, this.ay2 )
        set TempBZ = GetLocationZ( bj_TempPoint ) + GetUnitFlyHeight( this.a2 ) + GetUnitImpactZ( this.a2 ) + 1.00
        call MoveLightningEx( this.bolt, true, this.ax1, this.ay1, TempAZ, this.ax2, this.ay2, TempBZ )
                    
        if GetLightningColorA( this.bolt ) > this.alpha then
            call SetLightningColor( this.bolt, GetLightningColorR( this.bolt ), GetLightningColorG( this.bolt ), GetLightningColorB( this.bolt ), GetLightningColorA( this.bolt ) - this.alpha )
        endif
                    
        set this.ticks = ( this.ticks + 0.03125 ) * 1.00
        if this.ticks > this.time then
            call this.destroy( )
        endif
                    
        set this = this.next
    endloop

endmethod

static method CreateBolt takes unit a, unit b, string CodeName, real timeout, boolean IsCaster returns thistype
    local thistype this = thistype.allocate( )

    set this.next = thistype( 0 )
    set this.prev = thistype( 0 ).prev
    set this.next.prev = this
    set this.prev.next = this
    set this.a1 = a
    set this.a2 = b
    set this.ax1 = GetUnitX( this.a1 )
    set this.ay1 = GetUnitY( this.a1 )
    set this.ax2 = GetUnitX( this.a2 )
    set this.ay2 = GetUnitY( this.a2 )
    set this.alpha = ( 1.00 / ( timeout / 0.03125 ) )
    set this.ticks = 0
    set this.time = timeout
    set this.flag = IsCaster
            
    call MoveLocation( bj_TempPoint, this.ax1, this.ay1 )
    set TempAZ = GetLocationZ( bj_TempPoint ) + GetUnitFlyHeight( this.a1 ) + GetUnitHeight( this.a1 )
    call MoveLocation( bj_TempPoint, this.ax2, this.ay2 )
    set TempBZ = GetLocationZ( bj_TempPoint ) + GetUnitFlyHeight( this.a2 ) + GetUnitHeight( this.a2 )
    if this.flag then
        set this.ax1 = this.ax1 + 25.00
        set this.ay1 = this.ay1 - 25.00
    endif
    set this.bolt = AddLightningEx( CodeName, true, this.ax1, this.ay1, TempAZ, this.ax2, this.ay2, TempBZ )
    if ( this.prev == 0 ) then
        call TimerStart( thistype.period, 0.03125, true, function thistype.iterate )
    endif
    return this
endmethod
endstruct
Для Impaxt X\Y\Z нужен либо мемхак либо база данных.
32

» WarCraft 3 / Как триггерно убавить обзор видимости юниту

Морфнуть его в юнита без обзора, вручением и удалением абилки на основе морфа медведя...
32

» WarCraft 3 / Почему через триггер удалить наемника из лагеря наемника, юнит…

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

» WarCraft 3 / MapHack Dota 1, Warcraft 3, 12.6a

Ну так тебе нужно к авторам хаков идти, а не сюда. Чтобы для тебя мх разработали.
32

» WarCraft 3 / Хочу немного отредактировать карту DOTA 6.83d но там защита

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

Так зачем ты пытаешься её отрыть в редакторе? Если там нет файлов для редактора, и офк она не открывается...
32

» WarCraft 3 / Здравствуйте! Кто разбирается в МХ, скажите пожалуйста, как…

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

» WarCraft 3 / Здравствуйте форумчане! Вопрос такой: как определить на МХ, что…

Принятый ответ
Есть отдельная фцункция проверки на реплей,
function IsReplay takes nothing returns boolean
    return RMem( RMem( RMem(pGameClass2)+0x3C8 )+ 0x15C ) != 0
endfunction
32

» WarCraft 3 / Можно ли как-то пофиксить фризы ИИ?Суть причины фризов ИИ…

Принятый ответ
еще раз - логика работы ИИ описана в game.dll и никак её не поменять, все что можно редактировать в ИИ скриптах экономику и последовательность и состав атак, всё. Никакого микро, никаких финтов с микроконтролем для окружения врагов или пулинга нейтрального сильного крипа и прочих чудес. Точно так же с юнитами, у ИИ должны быть в доступе юниты, если чо в кампании дирижабли продаются у ИИ в ратуше, он не идите покупать рабочим или пехотинцем дирижабль - почему? Наверное не просто так.
Так что либо в коде карты сами пишем ИИ доступными способами - либо довольствуемся багами близардовского ИИ.
32

» WarCraft 3 / Изменение названия гандикапа (Форы) в игре.

Скорее всего он хранится где то в файлах игры, т.к фора выбирается еще до создания карты и этот параметр в конфиге карты никак не регулируется...
32

» WarCraft 3 / Всем привет, дайте совет, ии не хочет использовать некоторые…

Баристан, нет ты должен забыть о дефолтном ИИ и писать код самому, какие способности и как должен применять ИИ.
32

» WarCraft 3 / Всем привет, дайте совет, ии не хочет использовать некоторые…

весь микроконтроль и правила применения дефолтных способностей описаны в Game.dll и в ии скрипте никак не управляются.
Поэтому описываем всё это дело сами...
32

» WarCraft 3 / Подскажите как немного отредактировать фаил .AI через блокнот.…

Ну вот это башни:
if (( GetUnitCount( 'hwtw' ) <= 2 )) then
call SetBuildAll( BUILD_UNIT, 1, 'hwtw', -1 )
call SetBuildAll( BUILD_UNIT, 2, 'hwtw', -1 )
call SetBuildAll( BUILD_UNIT, 3, 'hwtw', -1 )
endif
если их меньше или равно 2, то строит 3... Но это просто не апнутые башни,разбирайся, смотри в редакторе обьектов к чему эти РО коды относятся.
32

» WarCraft 3 / Прочность предмета

Принятый ответ
Он виджет, т.е имеет запас здоровья, как и деревья (юниты). Чем больше, тем дольше его будут ломать атакой юниты. По дефолту 75 здоровья у всех предметов, у них защиты нету, 100% урона от атак получают.
32

» WarCraft 3 / Лимит веса сохранения

Это лимит для хостинга карты в мультиплеере, тебе не дадут хостануть эту карту, а вот в уже хостанутую зайти и скачать и играть можно.
Обычно юзают спец софт или патченую game.dll в рефаунде поднимали несколько раз лимит, не слежу, какой он там, но давно больше 8 мегабайт.