Сплошная стена текста без имен функций и переменных. Разобраться в таких картах не просто, темболее vjass или cjass преобразуются так что там черт ногу сломит. Это кропотливый и трудоёмкий процесс, может стоит лучше начать создавать свою карту на новых технологиях?
Может помочь этот комментарий...
Произведение искусства, золотая классика старого Гареновского варкрафта, в котором пол жизни успешно оставлено, однозначно лайк!
Еще вот такой сайт есть для ознакомления: ewix.3dn.ru
Привет! Поковырялся чуток, прикладываю скрин, видео и карту. Буквально: каждые две секунды делаю отправляю отряд юнитов, ДЛЯ КАЖДОГО юнита необходим приказ и добавление его в группу, это важно, так же добавил условие что срабатывает только если все в группе мертвы.
Немного не ясен вопрос, в любом текстовом редакторе есть возможность заменять определенный текст на какой-то другой при помощи комбинации ctrl+F. Так же при помощи этой комбинации можно находить что-то. Например можешь через JNGP в тригере выделить переменную затем нажать ctrl+F и тебе предложат найти эту переменную либо заменить, ставишь на что тебе надо заменить и заменяешь. Будь осторожен с короткими переменными по типу r a gt u и т.д ты можешь случайнo заменить символы в нативных функциях кода. Если тебе просто нужно скрыть или сократить переменные не для разработки а для того чтобы карта весила меньше или например чтобы никто не понял что у тебя написано в коде, то тогда используют Оптимизатор .
Вроде в айкапе вообще ничего нельзя из программ дополнительных? Типо разрабы волнуются , что это может быть мапхак. На Ирине никаких проблем нет (анти мапхак уже встроен в карты с айкапа, например в доту).
почему у меня юнит оказывается не возле разрушенной клетки, а вдали от неё
2.почему у меня вместо одного юнита, в разных клетках создаются в два, или два юнита создаются в отдельном триггере?
Без кода не понятно. Но по видео точно видно что ты поставил несколько созданий юнитов за убийство клетки, а нужно одно. Ещё в видео видно что какую клетку не сломаешь спавнится на других клетках, значит ты в ручную установил спавн именно на этих клетках, но в таких случаях, нужно конкретно указывать в одном триггере одну клетку и создавать одного юнита на месте этой клетки, на следующую клетку необходимо создавать НОВЫЙ триггер и по новой в ручную указывать клетку. Ну или там где надо поставить место спавна просто ставишь "умирающая декорация". Попробуй скопировать код из карты которую я прикладывал выше, ну или просто разобраться в нём. Карта открыта.
Грузит очень долго в старых картах в которых много контента уже. Надо просто подождать, возможно десятки минут. Так же ты можешь редактировать эти параметры внутри архива карты, открывая через MPQEditor. Здесь можно узнать ,что внутри архива карты за ,что отвечает.
Если ты говоришь про обычный редактор и обычные сценарии на гуи, то реф очевидно идеальный вариант. Если ты способен в что-то кроме гуи, то сможешь использовать весь арсенал движка при помощи стороннего ПО, например для базовой разработки понадобится скачать как минимум JNGP это продвинутый редактор с подсветкой кода, хотя сейчас существует и возможность разрабатывать в VScode с помощью наработокnazarpunk (можешь глянуть другие его наработки). А так же UjApi ,который существенно поднимает количество возможностей, превышая даже реф (это продвинутый мемхак для новичков). Сегодня вечером(по мск) или ночью, озадачусь вопросом и сниму видос по базовому инструментарию разраба на 1.26 . Но по сути дела то, разница в том что в рефе тебе доступно из коробки много вкусного. Когда как на 1.26 оно вкуснее и его больше, но нужно шаманить, искать, устанавливать, если не хочешь париться просто на реф переходи. А разницы в онлайне особой нет, между ириной и батл нетом, ну единственное что на ирине не играют в мили) а на рефе мили актуально как никогда. Ну и если ты пилишь карты на английском очевидно выбор только реф) потому что на ирине, айкапе, жа даже гейм лаунчере играет снг контингент.
Привет! Поковырялся чуток, прикладываю скрин, видео и карту. Буквально: Создаешь триггер, событие, - декорация умирает. Действие, - создать юнита на месте умирающей декорации. Дополнительно добавил вариант чтобы выглядело как в кампании (юниты после освобождения из плена переходят под контроль игрока с характерным звуком, пингом на карте и анимацией кружка контроля под ними). На счет всего можешь узнать подробнее в видео, карту приложил.
Привет! Поковырялся чуток, прикладываю скрин, видео и карту. Буквально: скачиваешь редактор JNGP это продвинутый редактор позволяющий без вазелина с маслом вкатиться в жасс. Чтобы ссылаться на ранее созданную область вместо "mapInitialPlayableArea" необходимо создать область(кто бы мог подумать xd) , создать триггер гуишный, в нём создать например событие юнит входит в область, выбрать эту область, затем конвертировать в жасс и найти это событие, в нем найти параметр rect у функции(в скобочках между запятыми, в видосе подробнее), рекомендую для этого JNGP , он собственно показывает где какой параметр у функций, плюс в нем можно собсна посмотреть все функции чо они делают чо умеют и тогдалее, для оптимизации.
Чтобы выбрать всех в диапазоне нужно будет использовать другую нативку:
Вместо g мелкой вставляешь какую хочешь группу, если не то вставишь то JNGP тебе подскажет в чём ты ошибся и что надо исправить. вместо filter пишешь свой фильтр, ну там в видосе подробнее.
(Это для области) call GroupEnumUnitsInRange(g,GetRectCenterX(gg_rct________________000),GetRectCenterY(gg_rct________________000),900,Condition(function filter) )
(Это для юнита) call GroupEnumUnitsInRange(g,GetUnitX(gg_unit_hfoo_0000),GetUnitY(gg_unit_hfoo_0000),900,Condition(function filter) )
Полный код, разбираемый в видео:
function filter takes nothing returns boolean
call BJDebugMsg("сработало!"+GetUnitName(GetFilterUnit()))
call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Human\\Flare\\FlareCaster.mdl",GetFilterUnit(),"origin"))
return GetOwningPlayer(GetFilterUnit()) == Player(0)
endfunction
function Trig_____________________________________001_Actions takes nothing returns nothing
local group g = CreateGroup()
call GroupEnumUnitsInRect(g,gg_rct________________000,Condition(function filter) )
call GroupEnumUnitsInRange(g,GetRectCenterX(gg_rct________________000),GetRectCenterY(gg_rct________________000),900,Condition(function filter) )
call GroupEnumUnitsInRange(g,GetUnitX(gg_unit_hfoo_0000),GetUnitY(gg_unit_hfoo_0000),900,Condition(function filter) )
call DestroyGroup(g)
set g = null
call BJDebugMsg("сработало!")
endfunction
//===========================================================================
function InitTrig_____________________________________001 takes nothing returns nothing
set gg_trg_____________________________________001 = CreateTrigger( )
call TriggerAddAction( gg_trg_____________________________________001, function Trig_____________________________________001_Actions )
endfunction
Совсем забыл что надо бафф "атакован" Удалять, чтобы любой другой урон не за считывался за атаку. Завтра скину доделанную версию. Там вроде одно событие только добавить надо в detect.
Привет! Поковырялся чуток, прикладываю скрин, видео и карту. Буквально: У всех юнитов яд, при атаках накладывается бафф, благодаря этому баффу можно отследить удобно долетелали тычка и тд, таким образом мы получает детект атак. в триггер детекта (это тот триггер который срабатывает от атак) добавляем события с юнитами, ИХ НУЖНО ВНОСИТЬ В РУЧНУЮ, то есть если у тебя там самонеры есть в карте то саммонов в ручную нужно будет добавлять, ну или сделаешь удобную функцию, если ты уже прошареный конечно.
Во первых нужен детект атак. Очевидно что юнит атакован не пойдёт, поэтому делаем на баффах. Даем юниту яд которые не наносит урона и не замедляет. Так как по мезанике варкрафта сначала у нас накладывается бафф от яда, и только потом наносится урон от атаки. Таким образом, юнит ударяет юнита на него накладывается бафф яда, наносится урон. В редакторе есть опция в событиях "юнит получает урон" Но там только переменные, однако можно с помощью костыля (действие- создать событие "юнит" Получает урон) добавляем событие в этот триггер детекта, в нём же ставим условие срабатывать только если на юните который получает урон есть бафф яда. Таким образом создаётся триггер который срабатывает когда тычка долетает до цели, ну и в действиях ставишь "отнять ману у юнита который НАНОСИТ УРОН". Соответственно который принимает это gettriggerunit(). И в триггере детекта нужно удалить бафф с юнита, чтобы по нему любой урон не считался атакой. В понедельник могу сюда же выложить дотошный видос как всё это делается (28-е число). Ну или просто загугли "детект атак xgm"
» Администрация XGM / XGM.guru 在中文!
» Администрация XGM / Ошибка HTTP ERROR 500
Отредактирован Keparis9
» WarCraft 3 / Ищу человека для депротекта карты (брошенная создателем)
Закладки...
» WarCraft 3 / Ищу человека для депротекта карты (брошенная создателем)
Может помочь этот комментарий...
» Администрация XGM / Как менять аватарку блога?
СПАСИБО!
Отредактирован Keparis9
» WarCraft 3 / EWIX
Еще вот такой сайт есть для ознакомления: ewix.3dn.ru
» Администрация XGM / С Новым 2024 Годом, XGM!
» WarCraft 3 / Проверка нет ли врагов в аренах
Отредактирован Keparis9
» WarCraft 3 / Не пустая клетка.
» WarCraft 3 / Исходная позиция без главного здания и рабочих.
» WarCraft 3 / Исходная позиция без главного здания и рабочих.
» WarCraft 3 / Создание группы юнитов из здания, и нападение на противника
Отредактирован Keparis9
» WarCraft 3 / какая есть софтина по переименованию функций и переменных?
» WarCraft 3 / Создание группы юнитов из здания, и нападение на противника
» WarCraft 3 / Warcraft 3 (Original)
» WarCraft 3 / Не могу найти версию WFE которая будет работать через айкап
Отредактирован Keparis9
» WarCraft 3 / Сменить владельца у юнита
Отредактирован Keparis9
» WarCraft 3 / Намертво зависает вкладка Сценарий/свойство игрока.
Отредактирован Keparis9
» WarCraft 3 / На какой версии лучше работать?
» WarCraft 3 / Сменить владельца у юнита
» Администрация XGM / Просмотреть владельцев ачивки
Отредактирован Keparis9
» WarCraft 3 / call GroupEnumUnitsInRect - Помогите внести корректив в сценарий
Вместо g мелкой вставляешь какую хочешь группу, если не то вставишь то JNGP тебе подскажет в чём ты ошибся и что надо исправить. вместо filter пишешь свой фильтр, ну там в видосе подробнее.
» WarCraft 3 / Как сделать так, что-бы юнит терял ману при атаке.
Отредактирован Keparis9
» WarCraft 3 / Как сделать так, что-бы юнит терял ману при атаке.
Отредактирован Keparis9
» WarCraft 3 / Как сделать так, что-бы юнит терял ману при атаке.