[Наработка-Пособие]Избавляемся от кнопки "патруль"
|
|
-
Melissa | Дата: Среда, 20-11-2013, 18:19:23 | Сообщение # 1 |
КотоБог
загрузка наград ...
Группа: Модераторы
Сообщений: 1111
Репутация: 2712
Статус: Не на сайте
|
Небольшое вступление Наверняка вас достали уныло торчащие 5 кнопок на панели приказа и жутко хотелось бы убрать хотя бы часть из них :). Можно конечно дать юниту способность "Пустить корни" или поставить скорость на 0, но это лишит его возможности двигаться. В данном топике вам расскажут о том, как избавиться от 1 из навязчивых кнопок и сделать примерно вот так: Те кто не любят много букв - переходим к Блитз-Инструкции в самом низу.
От автора статьи - пособие К сожалению, единственная кнопка которую можно скрыть, это кнопка атаки, но если мы ее уберем, нельзя будет отдать
приказ через кнопку "А", и отправить юнита в атаку или атаковать союзника/нейтрала. Поэтому мы заменим ее другой кнопкой. Во многих статьях ее и заменяют кнопкой патруля, но тут есть одна проблемка. Нельзя отдать приказ патруля на юнита, можно только в точку. Поэтому я сделал немного иначе. Мы заменим атаку кнопкой перемещения, а перемещение патрулем. Приказ о перемещении можно отдать как на союзников, так и на врагов, а также в точку. Единственная проблема, нельзя атаковать предметы. Как показывает практика, этого почти никто и никогда не делает, предпочитают продавать. Вносим соответствующие изменения в наши txt. CommandFunc находим [CmdPatrol]и заменяем Art и Buttonpos на такие как у [CmdMove], у [CmdMove]на [CmdAttack]. Будет как-то так:
[CmdMove]Art=CommandAttack Buttonpos=3,0
[CmdPatrol]Art=CommandMove Buttonpos=0,0
[CmdAttack]Art=CommandAttack Buttonpos=3,0
Подобным образом меняем данные в CommandStrings, будет что-то такое:
[CmdMove]Tip=Атаковать (|cffffcc00A|r) Ubertip="Приказ выбранным войскам перейти в указанную точку, нападая на всех встреченных противников. Если вы отдадите приказ о нападении на определенную боевую единицу, ваши войска нападут именно на нее, не обращая внимания на других противников." Hotkey=A
[CmdPatrol]Tip=Двигаться (|cffffcc00M|r) Ubertip="Приказ выбранным войскам перейти в указанную точку, не обращая внимания на противников. При указании в качестве
цели дружественного воина, боевая единица будет следовать за ним." Hotkey=M
[CmdAttack]Tip=Атаковать (|cffffcc00P|r) Ubertip="Приказ выбранным войскам перейти в указанную точку, нападая на всех встреченных противников. Если вы отдадите
приказ о нападении на определенную боевую единицу, ваши войска нападут именно на нее, не обращая внимания на других
противников." Hotkey=P
Готовые файлы. Эти файлы мы импортируем в карту (F12), после прописываем пути: Units\CommandFunc.txt Units\CommandStrings.txt Теперь необходимо убрать стандартную иконку атаки, для этого идем в редактор объектов (F6), и у всех юнитов присутствующих
в карте убираем галочку "Бой - Атака 1 - показать UI", если есть атака 2, то и "Бой - Атака 2 - показать UI". У героев
снимаем обе галки обязательно, иначе при подборе сферы появится второй приказ атаковать. Проверили в игре, все появилось как надо. Но наш юнит все еще не подчиняется приказам на иконках. На атаку он просто
бегает, на перемещение начинает патрулировать. Будем исправлять. Открываем, всеми любимый, редактор триггеров (F4), создаем новый триггер, назовем его PatrolMove, преобразуем в текст и
вставим следующий код: ============================================================================ function Trig_PatrolMove_Conditions takes nothing returns boolean return GetIssuedOrderId() == 851990 endfunction
function Trig_PatrolMove_Actions takes nothing returns nothing call IssuePointOrderById(GetOrderedUnit(), 851971,GetOrderPointX(),GetOrderPointY()) endfunction
=========================================================================== function InitTrig_PatrolMove takes nothing returns nothing set gg_trg_PatrolMove = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( gg_trg_PatrolMove, EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER ) call TriggerAddCondition( gg_trg_PatrolMove, Condition( function Trig_PatrolMove_Conditions ) ) call TriggerAddAction( gg_trg_PatrolMove, function Trig_PatrolMove_Actions ) endfunction Создадим еще один триггер, MoveAttack Тоже преобразуем его в текст и вставим этот код: [code=jass]function Trig_MoveAttack_Conditions takes nothing returns boolean return GetIssuedOrderId() == 851986 endfunction
function Trig_MoveAttack_Actions takes nothing returns nothing call IssuePointOrderById(GetOrderedUnit(), 851983,GetOrderPointX(),GetOrderPointY()) call IssueTargetOrderById(GetOrderedUnit(), 851983, GetOrderTargetUnit()) call IssueTargetOrderById(GetOrderedUnit(), 851983, GetOrderTargetDestructable()) endfunction
=========================================================================== function InitTrig_MoveAttack takes nothing returns nothing set gg_trg_MoveAttack = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( gg_trg_MoveAttack, EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER ) call TriggerRegisterAnyUnitEventBJ( gg_trg_MoveAttack, EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER ) call TriggerAddCondition( gg_trg_MoveAttack, Condition( function Trig_MoveAttack_Conditions ) ) call TriggerAddAction( gg_trg_MoveAttack, function Trig_MoveAttack_Actions ) endfunction
Теперь от меня К сожалению, использовав труд Карабаса, мы кое в чём теряем: - нельзя атаковать предметы - нельзя атаковать деревья - если написан триггерный АИ, то, возможно, будут конфликты.
Дополним наработку Карабаса следующим триггером: Триггер берёт целеваю точку приказа и, если она видима игроку, то даёт приказ атаковать предмет в ней, если есть. Либо
дерево, если есть. (Приоритет на дерево) Остаётся небольшое неудобство - при отдаче приказа на атаку предмета/дерева - оно не будет выделяться кружочком.
Все 3 триггера дополняем условием Player Comparison - Owner of triggering unit controller = Человек. Это исключит конфликты для юнитов, подконтрольных компьютерному игроку + для АИ они вообще не будут выполняться.
Скачать Наработку
Блитз-инструкция Скачиваем карту Заходим в менеджер импорта и экспортируем оба файла Импортируем эти файлы в свою карту и прописываем те же пути Копируем все 3 триггера в свою карту (2 триггера, если вы хотите оставить предметы и деревья неатакуемыми с помощью кнопки "Атаковать") У всех юнитов ставим параметр "Бой - атака 1 - показать UI" - нет, + "Бой - атака 2 - показать UI" - нет Готово
Мои карты Наработки,статьи Мой анимелист Чтобы модераторы души в вас не чаяли
|
| | |
-
░▒▓ŖΣÄĞÄŇĐŠΣĐ▓▒░ | Дата: Четверг, 21-11-2013, 14:35:27 | Сообщение # 2 |
Рыцарь
загрузка наград ...
Группа: Избранные
Сообщений: 222
Репутация: 1001
Статус: Не на сайте
|
Цитата Melissa ( ) Наверняка вас достали уныло торчащие 5 кнопок на панели приказа и жутко хотелось бы убрать хотя бы часть из них :). С чего это? Все кнопки мне нужны, все кнопки мне нравятся, удалять одну из кнопок команд?! Ну что за бред, даже не знаю кому это может понадобится...
|
| | |
-
новичок | Дата: Четверг, 21-11-2013, 15:07:29 | Сообщение # 3 |
Гражданин
загрузка наград ...
Группа: Пользователи
Сообщений: 33
Репутация: 25
Статус: Не на сайте
|
[quote=░▒▓ŖΣÄĞÄŇĐŠΣĐ▓▒░;127078]Ну что за бред, даже не знаю кому это может [/quote] Может помочь, допустим добавить другую, более нужную команду.
Посторонись-смертный!
|
| | |
-
Melissa | Дата: Четверг, 21-11-2013, 15:32:46 | Сообщение # 4 |
КотоБог
загрузка наград ...
Группа: Модераторы
Сообщений: 1111
Репутация: 2712
Статус: Не на сайте
|
Цитата ░▒▓ŖΣÄĞÄŇĐŠΣĐ▓▒░ ( ) С чего это? Все кнопки мне нужны, все кнопки мне нравятся, удалять одну из кнопок команд?! Ну что за бред, даже не знаю кому это может понадобится... Цитата новичок ( ) Может помочь, допустим добавить другую, более нужную команду.
░▒▓ŖΣÄĞÄŇĐŠΣĐ▓▒░, я полагаю, кнопка "патрулировать" тебе особенно нужна в аренах, АОС-ках и РПГ. :-) не так ли?
Мои карты Наработки,статьи Мой анимелист Чтобы модераторы души в вас не чаяли
|
| | |
-
Imba | Дата: Четверг, 21-11-2013, 16:17:05 | Сообщение # 5 |
КотЭ
загрузка наград ...
Группа: V.I.P.
Сообщений: 1395
Репутация: 1289
Статус: Не на сайте
|
Kid Karabasika ne tak napisal))) кстати прив
|
| | |
-
Melissa | Дата: Четверг, 21-11-2013, 16:55:14 | Сообщение # 6 |
КотоБог
загрузка наград ...
Группа: Модераторы
Сообщений: 1111
Репутация: 2712
Статус: Не на сайте
| | |
-
░▒▓ŖΣÄĞÄŇĐŠΣĐ▓▒░ | Дата: Четверг, 21-11-2013, 18:18:54 | Сообщение # 7 |
Рыцарь
загрузка наград ...
Группа: Избранные
Сообщений: 222
Репутация: 1001
Статус: Не на сайте
|
Melissa, я во всё это не играю, я играю в доту и сражения, а там эта кнопка нужна.
|
| | |
-
Melissa | Дата: Четверг, 21-11-2013, 18:34:22 | Сообщение # 8 |
КотоБог
загрузка наград ...
Группа: Модераторы
Сообщений: 1111
Репутация: 2712
Статус: Не на сайте
| | |
-
S@ntaria | Дата: Четверг, 21-11-2013, 18:37:52 | Сообщение # 9 |
Король Мёртвых
загрузка наград ...
Группа: Модераторы
Сообщений: 2183
Статус: Не на сайте
|
А я и в мили патруль никогда не юзал
|
| | |
-
Melissa | Дата: Четверг, 21-11-2013, 18:40:10 | Сообщение # 10 |
КотоБог
загрузка наград ...
Группа: Модераторы
Сообщений: 1111
Репутация: 2712
Статус: Не на сайте
| | |
-
░▒▓ŖΣÄĞÄŇĐŠΣĐ▓▒░ | Дата: Четверг, 21-11-2013, 21:15:35 | Сообщение # 11 |
Рыцарь
загрузка наград ...
Группа: Избранные
Сообщений: 222
Репутация: 1001
Статус: Не на сайте
|
Цитата Melissa ( ) А в дотах патруль НЕ нужен. Кто это тебе сказал? Когда берёшь руну иллюзий ( или играешь чаром с иллюзиями) можно поставить илюзии патрулировать возле рун и таким образом запутать и отследить возможного врага, пришедшего за руной или просто проходящего мимо лесом. Эта тактика в доте редко используется, но всё же имеет место быть, правда только в первой, во второй патруля нет(
|
| | |
-
Melissa | Дата: Четверг, 21-11-2013, 21:58:41 | Сообщение # 12 |
КотоБог
загрузка наград ...
Группа: Модераторы
Сообщений: 1111
Репутация: 2712
Статус: Не на сайте
| | |
-
UbeR | Дата: Пятница, 22-11-2013, 09:27:53 | Сообщение # 13 |
ГНОМ
загрузка наград ...
Группа: Модераторы
Сообщений: 971
Репутация: 6869
Статус: Не на сайте
|
Цитата S@ntaria ( ) А я и в мили патруль никогда не юзал Ыыы, я тоже =)
Цитата Melissa ( ) в моей милишке А можно поподробнее?)
I am a dwarf and I`m digging a hole!~ MELEE MADNESS - обсудить и скачать
|
| | |
-
Melissa | Дата: Пятница, 22-11-2013, 12:00:18 | Сообщение # 14 |
КотоБог
загрузка наград ...
Группа: Модераторы
Сообщений: 1111
Репутация: 2712
Статус: Не на сайте
| | |