18

» WarCraft 3 / Возможно Ли В передаче параметров передать лишь часть параметров

Можно, но костыльно. Например чтобы внутри той функции куда будешь передавать аргументы сделать фильтр, например чтобы функция меняла принцип работы если какой то из аргументов будет равен null или 0.
И к примеру в одном триггере пишешь call My_Func( Player(0), GetTriggerUnit() )
А в другом пишешь call My_Func( null, GetTriggerUnit() )
18

» WarCraft 3 / Навесная траэктория

В рандомных сферических координатах запускать летающих даммиков от юнита. И по наличию юнитов от этих даммиков в радиусе 10x10, наносить урон по юнитам, в т.ч молнии (но надо будет ещё прицепить наработку чтобы распознавать неуязвимость юнита).
18

» WarCraft 3 / Камера показывает не то, что должна

Там где переместить камеру, убери 16 и напиши 0.
Это время за которое камера переместится туда куда нужно
18

» WarCraft 3 / Отряд

quq_CCCP
я не находил статьи которая объясняла бы что нужно и что не нужно обнулять
quq_CCCP
хотя пришлось порыться, вроде нашел
18

» WarCraft 3 / Массивы и кастом скрипт

Лови.
Не забудь перенести 4 переменные из редактора переменных.
Ещё не забудь перенести двух юнитов: "Net" и "Spellcaster"
+ не забудь 3 способности: "Marker", "Earthbind" и "Earthbind Helper"
Если хочешь чтобы на некоторых юнитов не работала сетка, то дай им способность "Marker"
Карта сохраняется в обычном WorldEditor
Забыл ещё кое что сказать, строчку:
set b[5] = GetUnitTypeId( GetFilterUnit() ) != 'n00L'
можно или даже нужно удалить, т.к чтобы по равкоду не совпало с "не тем" юнитом. Ну или настроить под себя и ставить запрет на кидание сетки, на какого нибудь уникального юнита без способности "Marker"
Загруженные файлы
18

» WarCraft 3 / Отряд

Стас Орлов
Да, функцию groupCondition всегда ставь над той функцией где будешь вставлять действия.
И в том же groupCondition можешь фильтровать юнитов, юнит который туда идет на проверку - это GetFilterUnit()
Стас Орлов
и ещё важное забыл, те три local переменные всегда ставь в самый верх действий функции.
18

» WarCraft 3 / Отряд

function groupCondition takes nothing returns boolean
    return true == true //Здесь пишешь условия используя and или or и сюда передается юнит GetFilterUnit()
endfunction

//Эти действия вставляешь в любую нужную тебе функцию
    local group    g  = CreateGroup()
    local boolexpr bE = Condition( function groupCondition )
    local unit     u
    //Где x и y - это координаты
    //Где r - это радиус
    call GroupEnumUnitsInRange( g, x, y, r, bE )
    call DestroyBoolExpr( bE )
    loop
    set u = FirstOfGroup( g )
    exitwhen u == null
        //Действия над группой
        call BJDebugMsg( GetUnitName( u ) )
        //Конец
        call GroupRemoveUnit( g, u )
        set u = null
    endloop
    call GroupClear( g )
    call DestroyGroup( g )
    
    set g  = null
    set bE = null
    set u  = null
18

» WarCraft 3 / Способность

Raised
блин почему никто не хочет понять костыльный автокаст.
Я же делал такое уже, работает
18

» WarCraft 3 / Способность

quq_CCCP
а что тут такого? Ловишь ивент на каст скилла, врубаешь таймер, потом кидаешь по ид приказа на ближайшего юнита корни.
Таймер не периодический, поэтому всё нормально.
Главное во времени таймера поставить кд абилки + 0.01 и чекать с boolean кинулись корни на ближайшего или нет, если не кинулись то костыль с таймером 0.05 (или больше) чтобы пытался кинуть корни на ближайшего юнита, вернёт true - костыльный таймер удалить.
А если подшаманить и передавать в функцию запускающую таймер ид абилки и её кд (+на всякий время подготовки заклинания), то ваще в шоколаде. Можно будет таким способом сделать автокаст на любую абилку
quq_CCCP
ой перепутал, вместо ид абилки - её ид приказа
18

» WarCraft 3 / Массивы и кастом скрипт

bazeba
Я в костылях на GUI не силён, может быть где то ошибся.
учи Jass, очень легкий язык. А если вникнуть, то ваще интересно изучать всякие фичи и т.д.
Вот ссылка: xgm.guru/p/wc3/jassintroduction
Если у тебя есть время, то опиши подробно что все эти триггеры должны делать, скажешь - я постараюсь сделать наработку на Jass (но тебе обязательно нужен будет JNGP, т.к обычный WE не сможет сохранить наработку).
18

» WarCraft 3 / Массивы и кастом скрипт

bazeba
такие штуки очень легко делаются на Jass, но для удобства обязательно нужен JNGP
18

» WarCraft 3 / Массивы и кастом скрипт

bazeba
фух, чуть глаза не сломал пока бегал по этому GUI
Вроде все утечки починил, но так и не понял что там с точкой udg_Point, поэтому оставил как есть.
Советую тебе для таких вещей Jass учить
Загруженные файлы
18

» WarCraft 3 / Массивы и кастом скрипт

bazeba
и советую скачать и установить улучшенный редактор карт JNGP (Jass New Gen Pack)
18

» WarCraft 3 / Массивы и кастом скрипт

bazeba
Перед удалением группы используй call GroupClear(udg_Group[udg_A])
bazeba
+ ты не удаляешь точку "Позиция bolt[A]"
bazeba
и вместо Установить Group[A] Юниты в радиусе 200, используй это:
call GroupEnumUnitsInRangeOfLoc(udg_Group[udg_A], udg_Point[udg_A], 200.00, null)
bazeba
короче тут дохера утечек, кинь пустую карту с этими двумя триггерами, я сам поправлю утечки
18

» WarCraft 3 / Способность

quq_CCCP
да ну, на таймерах изи наработку делал, даже без дамми
18

» WarCraft 3 / КАК защитить карту от Ladik's MPQ Editor ?

Всё что откроет варкрафт и ладик сможет открыть. А если иметь руки и писать свой StormLib, то ваще любой протект заголовка карты - херня.
18

» WarCraft 3 / Выброс в главое меню

Naadir
У тебя в пути к карте есть русские буквы, перекинь в корень диска D к примеру (если он есть)
Naadir
RenderEdge? Как я помню там надо wehack переделывать и ещё кое че шаманить
Naadir
Бери этот мемхак xgm.guru/p/wc3/179535
18

» WarCraft 3 / Выброс в главое меню

Кидать карту туда где нету русских букв в пути к самой карте. А для работы с мемхаком надо отключать AdicParser и AdicOptimizer
И ещё карту нужно сначала сохранять а потом нажимать "Проверка карты"
18

» WarCraft 3 / Очередные вопросы по триггерам

А нафига давать таймеру паузу если там всё равно if udg_r < 3.0 then
Тем более что период у таймера 0.5, а это значит нагрузки ваще 0
18

» WarCraft 3 / Что происходит с real почему 0?

Нафига ты делишь на integer? Переведи curcarg юзая I2R, или вообще тип переменной на real поменяй
18

» WarCraft 3 / Покраска юнита для определённого игрока

function SetUnitVertexColorForPlayer takes player ForPlayer, unit whichUnit, integer red, integer green, integer blue, integer alpha returns nothing

    if( GetLocalPlayer() == ForPlayer ) then
        call SetUnitVertexColor( whichUnit, red, green, blue, alpha )        
    endif
    
endfunction
18

» WarCraft 3 / I2H как сконвертировать

Diaboliko
Есть ещё один костыль на ХТ, сохранять самого же юнита используя как ключ его хендл. Пользоваться этим надо аккуратно, + при входе любого юнита в игровую арену записывать его в ХТ.