Если раскусить формат war3map.wtg и war3map.wct то остаётся только вставить код в war3map.lua. Если бы не косяк со слэшами в режиме папки, то карту можно было смело заливать на git и очень комфортно работать.
Может потому что ты его не вызываешь вруную, а по дефолту он в варе то ли отключен то ли реагирует на очень высокие значения потребления памяти?
А нечего его вручную вызывать, он ещё и таймеры убивает
local InitGlobalsOrigin = InitGlobals
function InitGlobals()
InitGlobalsOrigin()
TimerStart(CreateTimer(), 1, true, function()
collectgarbage() -- После вызова этот таймер больше никогда не сработает
print('garbage')
end)
end
Злоупотребление анонимными функциями, которые несомненно удобны, но это дорогое удовольствие
Решил проверить, насколько оно дорогое
local InitGlobals_hook = InitGlobals
function InitGlobals()
InitGlobals_hook()
local group = CreateGroup()
local id = FourCC('hfoo')
local player = Player(PLAYER_NEUTRAL_PASSIVE)
local count = 5000
local start = os.clock()
for i = 1, count do
GroupAddUnit(group, CreateUnit(player, id, 0, 0, 0))
end
print('create ' .. count .. ' unit', os.clock() - start)
print('-------------------------------')
-- named
local function hp()
BlzSetUnitMaxHP(GetEnumUnit(), 1000)
end
start = os.clock()
ForGroup(group, hp)
print('named', os.clock() - start)
-- anon
start = os.clock()
ForGroup(group, function()
BlzSetUnitMaxHP(GetEnumUnit(), 5000)
end)
print('anon', os.clock() - start)
end
Сбор хмельных ягод классический квест на сбор кустов
То что он классический, не значит что он хороший. И в классических квэстах на сбор, кустов спавнят насного больше чем необходимо, что это игрока не парило.
Ну так нужно же шутить до конца. Если я уже херачу терористические акты, то почему после делюги добычи я немогу прикончить долбанного мельника и получить весь навар?
Гринд в начале очень скучный и колодец лечит медленно. Можно сделать, чтоб этот козлёл героя лечил. Было бы логично и антуражно.
И было бы круто, если б при получении уровня восполнялось hp/mp как в диабло.
Собирание липкой паутины нельзя было через сделать сообщениями? Бесит выкладывать вещи из инвентаря.
Сбор хмельных ягод это тихий ужас, можно было хоть травницу добавить, чтоб купить и не парится
Воскрешение вообще ужасно, инвентарь и так маленький, а вы ещё заставляете носить крест воскрешения, который к тому же не стакается. Если так уж хочется перманентной смерти, то можно было через иконку незанятого рабочего сделать освободив слот
Почему нельзя путешестовать вместе с яком?)
Во время кинематики делайте героя неуязвимым, а то всякие упыри его убить хотятrent($car.bid)}$
Квэст со взрывом моста тупой. Я тут добрячка отыгрываю, а мне предлагают взорвать невиновных людей. Я бы за такие предложения привязал бы его к стулу и достал нужные сведения
Натравил охотника за головами на Двуглавого Морока, в итоге он его прибил и квэст не продолжился.
это мнение, а не ответ на вопрос, и многим было бы полезно узнать его
Можно подумать логически и заглянуть в common.j.
---@class agent:handle -- all reference counted objects
---@class boolexpr:agent
---@class conditionfunc:boolexpr
---@class filterfunc:boolexpr
---@param func code
---@return filterfunc
function Filter(func) end
---@param func code
---@return conditionfunc
function Condition(func) end
Как видно Filter и Condition создают и возвращают boolexpr и вродибы раньше Condition кэшировалось, а как реализовали в lua хз, но поидее должен прийти сборщик мусора и всё подчистить.
GROUP = CreateGroup() -- Глобальная группа, чтоб не создавать каждый раз.
-- в самом триггере
GroupEnumUnitsInRange(GROUP, x, y, range, nil)
local target ---@type unit
while true do
target = FirstOfGroup(GROUP)
if target == nil then break end -- выходим из цикла при пустой группе
if UnitAlive(target) then -- условия для перебора
KillUnit(target) -- действия для перебора
end
GroupRemoveUnit(GROUP, target)
end
С самого начала игры опечалила невозможность пропустить кинематику. Потом насобирал на плащь с жаром преисподней, который сжарил неписей. После чего за мной начала гоняться охрана и охотник за головами, с которого выпадает неплохой артефакт.
Если убивать начальника охраны, то квэст невыполнится.
» Эксперименты в Пустоте / Ломаем Warcraft3 1.31 полностью: Кастомный компилятор Lua
» Эксперименты в Пустоте / Ломаем Warcraft3 1.31 полностью: Кастомный компилятор Lua
» Эксперименты в Пустоте / Ломаем Warcraft3 1.31 полностью: Кастомный компилятор Lua
» WarCraft 3 / Способности и алгоритмы на заказ
» WarCraft 3 / Способности и алгоритмы на заказ
» WarCraft 3 / Не все даммики группы кастуют скилл
» WarCraft 3 / Не все даммики группы кастуют скилл
» WarCraft 3 / Орн из Лига Легенд
Ред. nazarpunk
» WarCraft 3 / Орн из Лига Легенд
» WarCraft 3 / Орн из Лига Легенд
» WarCraft 3 / Knights & Rogues COMPLETE EDITION
» WarCraft 3 / Knights & Rogues COMPLETE EDITION
Прохождение
Ред. nazarpunk
» WarCraft 3 / Орн из Лига Легенд
» WarCraft 3 / Knights & Rogues COMPLETE EDITION
» WarCraft 3 / Knights & Rogues COMPLETE EDITION
» WarCraft 3 / вопрос по триггерам LUA
» WarCraft 3 / Орн из Лига Легенд
» WarCraft 3 / вопрос по триггерам LUA
Ред. nazarpunk
» WarCraft 3 / Фиксированные иконки заклинаний в спелбуке
» WarCraft 3 / wc3 1.31 и lua
» WarCraft 3 / wc3 1.31 и lua
Ред. nazarpunk
» WarCraft 3 / wc3 1.31 и lua
Ред. nazarpunk
» WarCraft 3 / Knights & Rogues COMPLETE EDITION
» WarCraft 3 / Knights & Rogues COMPLETE EDITION
Ред. nazarpunk
» WarCraft 3 / Чёрный экран в игре