[Наработка-Пособие]Избавляемся от кнопки "патруль" - Wc3-Maps Форум













[ Главная · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Strateg, Melissa  
[Наработка-Пособие]Избавляемся от кнопки "патруль"
-
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 кнопок на панели приказа и жутко хотелось бы убрать хотя бы часть из них :).
С чего это? Все кнопки мне нужны, все кнопки мне нравятся, удалять одну из кнопок команд?! Ну что за бред, даже не знаю кому это может понадобится... brezguet
 
-
новичокДата: Четверг, 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
Статус: Не на сайте
Цитата Imba ()
Karabasika ne tak napisal))) кстати прив

Imba, да Карабас, думаю, не расстроится. Он ушёл с модмейкинга навсегда. :-)
Здорово ^ . ^

Мои карты
Наработки,статьи
Мой анимелист
Чтобы модераторы души в вас не чаяли
 
-
░▒▓ŖΣÄĞÄŇĐŠΣĐ▓▒░Дата: Четверг, 21-11-2013, 18:18:54 | Сообщение # 7
Рыцарь

загрузка наград ...
Группа: Избранные
Сообщений: 222
Репутация: 1001
Статус: Не на сайте
Melissa, я во всё это не играю, я играю в доту и сражения, а там эта кнопка нужна.
 
-
MelissaДата: Четверг, 21-11-2013, 18:34:22 | Сообщение # 8
КотоБог

загрузка наград ...
Группа: Модераторы
Сообщений: 1111
Репутация: 2712
Статус: Не на сайте
░▒▓ŖΣÄĞÄŇĐŠΣĐ▓▒░, это сделано для картостроителей : )
Очень мало кто делает мили, (кроме меня, вов68 и убера никого ненаю). А в дотах патруль НЕ нужен.

Мои карты
Наработки,статьи
Мой анимелист
Чтобы модераторы души в вас не чаяли
 
-
S@ntariaДата: Четверг, 21-11-2013, 18:37:52 | Сообщение # 9
Король Мёртвых

загрузка наград ...
Группа: Модераторы
Сообщений: 2183
Статус: Не на сайте
А я и в мили патруль никогда не юзал
 
-
MelissaДата: Четверг, 21-11-2013, 18:40:10 | Сообщение # 10
КотоБог

загрузка наград ...
Группа: Модераторы
Сообщений: 1111
Репутация: 2712
Статус: Не на сайте
Цитата S@ntaria ()
А я и в мили патруль никогда не юзал

S@ntaria, ну там он всё-таки полезен, если АПМ игрока высокий - он найдёт куда применить патрулирование. Но это не про меня хД Потому в моей милишке тоже будет отсутствовать патруль. Кстати сегодня с ней ковырялся :3

Мои карты
Наработки,статьи
Мой анимелист
Чтобы модераторы души в вас не чаяли
 
-
░▒▓ŖΣÄĞÄŇĐŠΣĐ▓▒░Дата: Четверг, 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
Статус: Не на сайте
Цитата UbeR ()
А можно поподробнее?)

ты её наверняка видел, там ничего особенного, как приведу в более менее удобоваримый вид - запощу)

Мои карты
Наработки,статьи
Мой анимелист
Чтобы модераторы души в вас не чаяли
 
  • Страница 1 из 1
  • 1
Поиск:
Рейтинг@Mail.ru
Яндекс.Метрика

Copyright © 2010-2017
Вакансии :: Контакты
Мобильная версия сайта
chat