WarCraft 3: Редактирование приказов

» Раздел: Основы

Сабж

И какого ты отвлёк нас от важных и необходимых дел?
Недавно рылся в архивах варкрафта и нашёл интересный файлик, вернее, даже два.
Первый из них проживает по следующему адресу:
Units/CommandFunc.txt
Второй решил далеко не уходить и поселился тут же:
Units/CommandStrings.txt
Чем же они меня так заинтересовали? Ответ прост - они дают ещё один способ индивидуализации этих ваших "карт".

Что оно дает?

О, крутая штука! А что это?
При грамотной работе они реально могут дать оригинальный и необычный вид карте, впрочем, те, кто может "грамотно работать", на эту мелочь вряд ли разменяются. Хотя кто знает...
Вообще не буду долго тянуть и расскажу, что же оно может дать, смотрим ниже.
Даже и не надейтесь, это не паинт фотошоп.

Как это делается?

Это очень круто, я тоже так хочу!
Делать такое "нестандартное" расположение и описание кнопок очень даже просто - нужен лишь простой текстовый редактор, например notepad.
Впрочем, не буду долго тянуть и просто опишу процесс перемещения иконки по шагам:

Перемещаем иконку

  1. Открываем CommandFunc.txt.
  2. Находим строку с названием нужного приказа (например, [CmdAttack] это "Атаковать").
  3. Через строку находится строка Buttonpos=X,Y, где X и Y - координаты кнопки. Вот эту строку, вернее X и Y, и надо менять, координаты ячеек показаны ниже на рисунке.
  4. Сохраняем и импортируем в карту файл, заменяя стандартный путь на Units/CommandFunc.txt.
  5. Сохраняем карту, запускаем и наслаждаемся перемещённой иконкой.
Однако это ещё далеко не всё. Помимо координат можно менять и описание, что наглядно видно на скрине в начале статьи. Этим и займёмся.

Редактируем описание

  1. Открываем CommandStrings.txt.
  2. Находим строку с названием нужного приказа (например, [CmdAttack] это "Атаковать").
  3. Следующая строка - заголовок иконки, например, Tip=Атаковать (|cffffcc00A|r), оставляем Tip=, дальше пишем своё название.
  4. Потом идёт строка Ubertip="..." , это подробное описание. Его можно менять на своё усмотрение, для перехода на новую строку используем \n, оригинальные кавычки оставляем.
  5. Следующая строка - Hotkey=, это указание на горячую клавишу. Писать только 1 (одну) заглавную букву латинского алфавита, иначе не работает и приказ остаётся без хоткея (при русском символе 50/50 крашится).
  6. Сохраняем и импортируем в карту файл, заменяя стандартный путь на Units/CommandStrings.txt.
  7. Сохраняем карту, запускаем и наслаждаемся изменённой иконкой.

Для справки

удачных творческих ходов и нестандартных решений!

Просмотров: 11 084

» Лучшие комментарии


3 комментария удалено
JesusHipster #4 - 8 лет назад 1
лучше напиши статью о том как их скрыть и заменить :D
Это сообщение удалено
Clamp #6 - 8 лет назад 0
к сожалению, скрыть таким способом я их не сумел, экспериментируйте
благо теперь вы сможете изменять описания и расположения кнопок, а значит, использовать в качестве приказов способностей, фактически то, что надо
z1i2p3 #7 - 8 лет назад 2
VetsaN, Нужно, причём даже частенько, Я давно практикую. Особенно полезно когда у юнита не все приказы есть (например если он не ходит - то пропуск ячейки, а так хоп и заменил позицию)
JesusHipster #8 - 8 лет назад 1
я полага на данный момент пункт 4 это ?? а пункт 5 это гишефт
как мило каардинаты ху всё предусмотрительно
теперь запили как их заменять на скиллы оО
2 комментария удалено
Doc #11 - 8 лет назад 3
Описания фигня, редактируются в игровом интерфейсе, за положение кнопок спасибо.
4 комментария удалено
Doc #17 - 8 лет назад 1
да и хоткеи тоже.
Fakov #18 - 8 лет назад 1
кламп, практическое применение опиши кроме нестандартности. Запили какое нибудь тру обыгрывание фичи и запиши это сюда - тогда будет статья. А так - в сборник фич)
2 комментария удалено
Isstrebitel #21 - 6 лет назад -4
Если нужно изменить это для всех карт - подходит этот способ, а если только для одной - нужно менять в редакторе через игровой интерфейс.
LOR_D #22 - 6 лет назад 1
Isstrebitel, через игровой интерфейс нельзя переместить иконку
Steal nerves #23 - 3 года назад (отредактировано ) 13
Если позицию кнопки ставишь -2147483648,-2147483648 в текстовике, то можно скрыть эту кнопку, и при чем не одну. И от способностей можно также (только файлик будет другой, для хуманов HumanAbilityFunc.txt, для других рас др.). Задается точно только это значение, иначе краш варкрафта. В РО изменить нельзя, только в текстовике. Но самое забавное, что, если скрыть атаку, то сам юнит вообще атаковать не хочет своих же (хоткей через кнопку А не работает, короче если кнопка спрятана, хоткей не будет работать), только атакует врагов (управляется мышью).
Isstrebitel, можно поменять и для одной карты, текстовик пихаешь в карту (путь должен точно таким же Units\CommandFunc.txt).
прикреплены файлы
3 комментария удалено
Raised #27 - 1 год назад 0
Steal nerves, это способ все равно не позволит скрыть кнопку "Move".
ClotPh #28 - 1 год назад 0
А если файлы прямо в архивах вара отредактировать?
ClotPh #30 - 1 год назад 0
Ну предположения, что все поменяется в варе в целом, но если в картах будут свои импортированные файлы CommandFunc и CommandStrings, то приоритет будет у них.
Интересно, какие изменения вызовут в сетевой десинк и какие нет (ну т. е. понятно, что там если сменить себе позицию кнопки, а потом в собственной карте мемхаком или как-то еще использовать значение позиции кнопки для, скажем, расчета дамага по цели... не помню, можно ли такой изврат сделать и не знаю, зачем он нужен, но мало ли - то десинк очевиден, т. к. величина дамага будет разная, ну а более простые, можно ли там, допустим, просто себе кнопку атаки переместить? Думаю, да).
SсRealm #31 - 1 год назад 0
просто на одну клавишу ставите атаковать и двигаться и меняете картинку,делов то(
PT153 #32 - 1 год назад (отредактировано ) 3
это способ все равно не позволит скрыть кнопку "Move".
Есть другой способ скрыть ВСЕ кнопки.
Buttonpos=0,-11
Это я выяснил задав вопрос.
EHP_Sequence #33 - 6 месяцев назад 0
PT153:
это способ все равно не позволит скрыть кнопку "Move".
Есть другой способ скрыть ВСЕ кнопки.
Buttonpos=0,-11
Это я выяснил задав вопрос.
Так, а куда это писать, простите за невежество?
Также добавлю, что у меня версия 1.30, а метод из статьи для него не подходит.
8gabriel8 #34 - 6 месяцев назад 0
Если не подходит метод, то в никуда. А откуда знаешь, что не подходит? Мне тоже кажется, что читал как-то об этом, что на новых версиях не скрыть кнопки, но кто это проверял?
EHP_Sequence #35 - 6 месяцев назад (отредактировано ) 0
так, я немного побыл некромантом
Дело в том, что на 1.30 в принципе нет никаких файлов .txt.
8gabriel8 #36 - 6 месяцев назад 0
Нужно его достать из casc-архива. Сделать это можно с помощью CascView.
EHP_Sequence #37 - 6 месяцев назад (отредактировано ) 0
А куда писать "Buttonpos"? Вкратце, мне нужно сделать карту, в которой в алтаре нанимаются 12 героев. Стандартно, однако, кнопок доступно только 11 (одна позиция занята кнопкой точки сбора), поэтому 1 герой недоступен (вообще никак, даже через хоткей). Поэтому вопрос -- как удалить кнопку точки сбора, но так, чтобы сама команда сбора в указанном месте осталась?
8gabriel8 #38 - 6 месяцев назад 0
Сюда это писать надо:
Units/CommandFunc.txt
Так он выглядит на 1.26а. Но не знаю, как на 1.30 правильно путь указать. Может Units/CommandFunc.txt, может war3.mpq/Units/CommandFunc.txt, может ещё как-то.

Драколич на хайве упомянул, что можно было бы скрывать кнопки в спеллбуке, но как их туда поместить, не уловил.
прикреплены файлы
pro100master #39 - 6 месяцев назад 0
есть же нативка скрыть абилку а также и команду.
PT153 #40 - 6 месяцев назад (отредактировано ) 0
Так, а куда это писать, простите за невежество?
Ну так ты открой игру каском, вытащи этот файл, про который написана статья, замени позиции иконок и импортируй новый файл по нужному пути в карту. А ещё, насколько я помню, добавляли нативку по скрытию этих иконок.
pro100master:
есть же нативка скрыть абилку а также и команду.

А куда писать "Buttonpos"?
Ты файл найди, там уже увидишь.