32

» WarCraft 3 / В какие моменты имя функции конвертируется в число?

Функция это тип code, это хенд, ссылка на код, подробнее о jass писал в своихистатьях isefog.
32

» WarCraft 3 / Пассивные способности через сферы

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

» WarCraft 3 / Возможно ли получить область триггера? - [Jass]

Ну ты же всегда можешь получить координаты юнита, просто проверить принадлежат ли они региону или нет.
32

» WarCraft 3 / Почему не работает локальный триггер?

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

» WarCraft 3 / Как грамотно отредактировать ИИ скрипт, чтобы он выбирал кастомного героя, который не всегда может быть доступен

WilliamBz, ну так это писание своего мили ии, так или иначе. К слову всё микро, применение спеллов раелизованно в движке игры, поэтому с кастом героями поосторожнее.
К слову можно ИИ написать и в обычном редакторе триггеров, но это муторно да и самому микро реализовать не так уж и просто.
32

» WarCraft 3 / Как грамотно отредактировать ИИ скрипт, чтобы он выбирал кастомного героя, который не всегда может быть доступен

В скрипте четко прописано какого героя брать и как его качать, поэтому подмена в процессе игры всё ломает. Стандартный ии разыгрывает только заранее заготовленные шаблоны, которые определяются рандомом при старте и в процессе игры не меняются.
Придется писать ИИ ручками с нуля.
32

» WarCraft 3 / Помогите снять защиту с карты!

А нахрена её открывать, если ланд можно так выдрать мпк редактором и закинуть в пустую карту? Ну код и текст аналогично.
32

» WarCraft 3 / помогите с war3map.shd

Frescon, потому что нужно в коде карты проверять координаты. Есть карта где я это всё исправил.
32

» WarCraft 3 / Независимый художник показывает свой вариант HD-ремастера классических моделей

А мне кажется или у знахаря за спиной стазисная ловушка висела, и когда он её ставил у него анимация вытаскивания её из за спины.
32

» WarCraft 3 / помогите с war3map.shd

Баг с ксиином это не исправит, а так же есть ещё баг с дарк сиром, тоже можно фатальнуть.
32

» WarCraft 3 / Чем является Widget в варкрафте?

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

» WarCraft 3 / Почему программа отказывается принимать существование этого типа юнитов?

Просто 'h003' пиши, ибо у него ID - 'h003', ро код юнита это на самом деле целое число, и всегда из 4х символов ASC2, через двоеточие указана основа, её писать ненужно.
GetUnitOfTypeIdAll('h003')
32

» WarCraft 3 / Лидерборд

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

» WarCraft 3 / SLK оптимизация при помощи w3x2lni

Давно замечал, пропажу абилок. Оно так же падает если у вас описание чуть длинее, или какие то символы непонравятся.
Карту из слк в обж оно не всегда корректно преобразует, поэтому не надейтесь на софт, всё тщательно проверяйте. К слову багами грешат все слк оптимизаторы\деоптимизаторы...
32

» WarCraft 3 / Анимация юнита при нажатии способности

Канал, время подготовки 1 сек, если каст закончен создает N х число дамми юнитов и вручает им стаю повелителя ужаса и приказывает кинуть, в точку в радиусе, вычесленную по формуле 360 деленное на число душ, т.е по кругу, Так же ищет всех юнитов в радиусе 1000 и кидает на низ увечье некроманта, как дебафф замедления.

function RequiemFilter takes nothing returns boolean
    set bj_lastFilterUnit = GetFilterUnit( )
    return IsUnitEnemy( bj_lastFilterUnit, bj_groupEnumOwningPlayer )and not( IsUnitDead( bj_lastFilterUnit )or IsUnitType( bj_lastFilterUnit, UNIT_TYPE_STRUCTURE )or IsUnitWard( bj_lastFilterUnit )or IsUnitInGroup( bj_lastFilterUnit, LoadGroupHandle( HashData, GetHandleId( GetExpiredTimer( ) ), 0 ) )or GetUnitAbilityLevel( bj_lastFilterUnit, 'A04R' ) > 0 )
endfunction

function Timer_SoulCrippile_Expires takes nothing returns nothing
    local timer t = GetExpiredTimer( )
    local integer id = GetHandleId( t )
    local group grp = LoadGroupHandle( HashData, id, 0 )
    local player pl = LoadPlayerHandle( HashData, id, 1 )
    local real cx = LoadReal( HashData, id, 2 )
    local real cy = LoadReal( HashData, id, 3 )
    local real rad = LoadReal( HashData, id, 4 )
    local integer level = LoadInteger( HashData, id, 5 )
    local unit enemy
    if rad > 1024.00 then
        call ReleaseTimer( t )
        call FlushChildHashtable( HashData, id )
        call NSI( grp )
        call DestroyTimer( t )
    else
        set rad = rad + 32.00
        set bj_groupEnumOwningPlayer = pl
        call GroupClear( bj_TempGroup )
        call GroupEnumUnitsInRange( bj_TempGroup, cx, cy, rad, Condition( function RequiemFilter ) )
        call GroupAddGroup( bj_TempGroup, grp )
        loop
            set enemy = FirstOfGroup( bj_TempGroup )
            exitwhen( enemy == null )
            call GroupRemoveUnit( bj_TempGroup, enemy )
            set bj_lastCreatedUnit = CreateUnit( GetOwningPlayer( enemy ), DUMMY, GetUnitX( enemy ), GetUnitY( enemy ), GetUnitFacing( enemy ) )
            call SetUnitPathing( bj_lastCreatedUnit, false )
            call UnitApplyTimedLife( bj_lastCreatedUnit, 'BTLF', 3.00 )
            call SetUnitX( bj_lastCreatedUnit, GetUnitX( enemy ) )
            call SetUnitY( bj_lastCreatedUnit, GetUnitY( enemy ) )
            call UnitAddAbility( bj_lastCreatedUnit, 'A0HH' )
            call SetUnitAbilityLevel( bj_lastCreatedUnit, 'A0HH', level )
            call UnitShareVision( enemy, pl, true )
            call IssueTargetOrder( bj_lastCreatedUnit, "cripple", enemy )
            call UnitShareVision( enemy, pl, false )
        endloop
        set enemy = null
        call SaveReal( HashData, id, 4, rad )
    endif
    set grp = null
    set t = null
endfunction

function DarkSouls takes unit fiend, integer soulcount returns boolean
    local real cx = GetUnitX( fiend )
    local real cy = GetUnitY( fiend )
    local player pl = GetOwningPlayer( fiend )
    local real facing
    local real dx
    local real dy
    local integer lines = 0
    local integer nIndex = 1
    local integer level = GetUnitAbilityLevel( fiend, 'A29J' )
    local timer t
    if soulcount < 1 or level == 0 then
        return false
    endif
    set lines = IMaxBJ( R2I( soulcount / 2 ), 1 )
    loop
        exitwhen nIndex > lines
        set facing = ( I2R( nIndex ) * ( 360.00 / lines ) )
        set bj_lastCreatedUnit = CreateUnit( pl, DUMMY, cx, cy, facing )
        set facing = facing * bj_DEGTORAD
        set dx = cx + 64.00 * Cos( facing )
        set dy = cy + 64.00 * Sin( facing )
        call SetUnitPathing( bj_lastCreatedUnit, false )
        call SetUnitX( bj_lastCreatedUnit, cx )
        call SetUnitY( bj_lastCreatedUnit, cy )
        call UnitApplyTimedLife( bj_lastCreatedUnit, 'BTLF', 2.00 )
        call UnitAddAbility( bj_lastCreatedUnit, 'A0HG' )
        call SetUnitAbilityLevel( bj_lastCreatedUnit, 'A0HG', level )
        if not IssuePointOrder( bj_lastCreatedUnit, "carrionswarm", dx, dy ) then
            call IssuePointOrder( bj_lastCreatedUnit, "carrionswarm", cx + 256.00 * Cos( facing ), cy + 256.00 * Sin( facing ) )
        endif
        set nIndex = nIndex + 1
    endloop
    set t = NewTimer( )
    set nIndex = GetHandleId( t )
    call SaveGroupHandle( HashData, nIndex, 0, NTI( ) )
    call SavePlayerHandle( HashData, nIndex, 1, pl )
    call SaveReal( HashData, nIndex, 2, cx )
    call SaveReal( HashData, nIndex, 3, cy )
    call SaveReal( HashData, nIndex, 4, 64.00 )
    call SaveInteger( HashData, nIndex, 5, level )
    call TimerStart( t, 0.03125, true, function Timer_SoulCrippile_Expires )
    set t = null
    return true
endfunction
32

» WarCraft 3 / Событие пинга на карте

Ну делать играть на хост боте, он по команде пинг - пришлет сообщение с твоим пингом.
32

» WarCraft 3 / Warcraft III портировали на Android

ScorpioT1000, chuwi 10 pro котрый был куплен на али лет 10 назад, на атоме сходу был с вин 10 и андройдом, на котором работало) Ну учитывая что проц там был не топовый и в некоторых смартфонах были и покруче, думаю там бы 10 стартанула без проблем с варкравтами, думами и еще кучей игр из этой нулевых. Да уровень был бы как на дешовеньком ноуте, процик то по производительности как при, от тех же интел.
32

» WarCraft 3 / Warcraft III портировали на Android

Баян, на intel atom была еще лет 10 назад поиграть на смартфоне или планшете в варкравт 3, оригинальный.
Потом RTS на мобильные устройства без физической клавиатуры - уже бред, ну и добавим всякие библиотеки. Ну и в теории эмулировать win xp для современных телефончиков не проблема, учитывая что те же игровые консоли эмулируются очень давно.