XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Желтая пресса: обучающие статьи
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

 
perimetral

offline
Опыт: 3,058
Активность: 10
Dest Tooltips
Вольный перевод одноименной статьи с WC3C. Оригинальный автор: hovering
Мануал научит вас использовать новый вид тултипов в игре. Не используются RtC и трекэйблы.
Необходимо:
  • WE
  • MPQ-браузер (желательно этот)
  • Карта
  • Блокнот (notepad.exe)
  • Желательно клавиатура
Система перестанет работать после оптимизации карты тулой Векса.
Шаг 1. Разрушаемые объекты.
На самом деле первый шаг прост. Данный метод работает на использовании поля "Имя" разрушаемых объектов. Естественно, туда много текста не влезет... в РО не влезет.
Для начала, создайте разрушаемый объект. Я базировался на взрывающемся бочонке ( mine of a barrel - могу ошибаться в переводе ).
Измените соответствующие поля так, чтобы они соответствовали моим:
Text - Name : TT
Pathing - Is Walkable : True
Pathing - Pathing Texture : None
Editor - Show Helper Object for Selection : True для упрощения перемещения
Art - Minimap - Show : False
Art - Model File : Невидимая платформа <база>
Art - Shadow : None
Помните, прочность должна быть больше 0, иначе объект не будет отображаться.
Хорошо, первый шаг пройден. Можете разместить в ВЕ один экземпляр, если хотите.
Шаг 2. MPQ и .wts файлы
Откройте MPQ Editor и в нем свою карту. В корневом разделе найдите файл war3map.wts. Извлеките его и откройте в Блокноте. Прокрутите в самый низ - вы увидите что-то типа этого:
STRING 1800
// Destructibles: B000 (TT), Name (Name)
{
TT
}
Значения STRING 1800 и B000 могут быть иными, но суть не меняется.
Теперь посмотрите на текст между { и } - его можно изменять на ваше усмотрение - это и будет тултипом. Не используйте |n для перевода строки - просто перейдите на следующую строку - тут это работает. Тут также работает цветовой код (|c00ABCD01|r, например). Желательно переходить на следующую строку через 15-20 символов, иначе тултип будет очень долгим.
Вы должны редактировать .wts файл каждый раз, когда захотите изменить тултип или добавить новый, т.к. ВЕ обрежет поле "Имя" при попытке изменить его в РО.
Шаг 3. Возвращаемся к карте.
ВЕ должен быть закрыт во время изменения .wts файла, иначе ничего не произойдет.
Вставьте измененный вами .wts файл, пользуясь MPQ-браузером в вашу карту, заменив старый. Сохранитесь =)
Теперь откройте карту в ВЕ и сразу же ее сохраните, ничего не сделав, иначе работа пойдет на смарку.
Шаг 4.
Теперь разместите ваш разр. объект в том месте, навождение мышью на которое должно вызвать тултип. Например, отлично подойдет для краткого описания при выборе героев или в РПГ-ОРПГ для описания всяких порталов-ворот-дверей и прочего.
Поэкспериментируйте с изменением Z-оси вашего разр. объекта для настройки подходящей вам видимости тултипа.
» Проблемы
Появляется маленький незаполненный тултип:
Был ли .wts файл импортирован корректно? ВЕ должен был быть закрыт при импортировании нового .wts файла. Карту надо было сохранить сразу же после итогового открытия в ВЕ.
Тула Векса испортила работу тултипа: смотреть начало статьи
Если вы хотите сделать объект над вашим разр. объектом выбираемым, юзайте за основу не бочонок, а вопросительный знак, например (дудады со значением оси Z, >0).
Оригинал(www.wc3c.net/showthread.php?t=106715)
________________
"agentex, с каких это пор стринги стали вызывать утечки?"(c) bee

Отредактировано perimetral, 06.05.2010 в 00:58.
Старый 05.05.2010, 14:10
Печатник lvl1
Typo
offline
Опыт: 4,157
Активность: 0
perimetral:
Ну используются RtC и трекэйблы.
Мб не используются?
Почему в Jass тема создана не понятно.
________________
EnergyGreedTD
Старый 05.05.2010, 14:18
perimetral

offline
Опыт: 3,058
Активность: 10
Печатник lvl1, да, спасибо. Да как-то механически создал в Jass, прошу перенести.
________________
#include brain.j
#define people = { a mob of small stupid insects }
Старый 05.05.2010, 14:30
16GB
GhostOne User
offline
Опыт: 59,290
Активность: 4536
Участник проектов:
-Monster Shooter 3 : Murloc Warfare
Кста на счет
perimetral:
{ и } - его можно изменять на ваше усмотрение
perimetral:
Не просто написать в { } нужно еще написать его в скобках тут
Destructibles: B000 (TT), Name (Name)
16GB добавил:
Иначе фатал
________________
Канал Simple AoS youtube
Старый 05.05.2010, 14:52
Doc
Слава Украiне!
offline
Опыт: 63,613
Активность: 11492
Участник проектов:
-Аниме
-Dota 2
Интересно, очень интересно.
Старый 05.05.2010, 14:56
XimikS

offline
Опыт: 38,228
Активность: 2968
Участник проектов:
-The Elder Scrolls
Перенес. Читать на английском было лучше :) хотя молодец что перевел)
Старый 05.05.2010, 15:05
Печатник lvl1
Typo
offline
Опыт: 4,157
Активность: 0
16GB:
Иначе фатал
Несогласен. Это же комент. Я их вооще сношу.
Печатник lvl1 добавил:
Если бы их можно было бы показывать только для локального игрока..
________________
EnergyGreedTD
Старый 05.05.2010, 15:57
Doc
Слава Украiне!
offline
Опыт: 63,613
Активность: 11492
Участник проектов:
-Аниме
-Dota 2
local integer i = 0
if GetLocalPlayer() == Player(0) then
set i = 'B000'
endif
call CreateDestructable(i,x,y,0.)
ну это примерно
Старый 05.05.2010, 16:21
Печатник lvl1
Typo
offline
Опыт: 4,157
Активность: 0
Проверено?
Печатник lvl1 добавил:
Разные деструбки разные карты путей - потенциально может вызвать расхождения в пути юнитов у разных игроков..
________________
EnergyGreedTD
Старый 05.05.2010, 16:40
Doc
Слава Украiне!
offline
Опыт: 63,613
Активность: 11492
Участник проектов:
-Аниме
-Dota 2
Хеллфим говорил что работает, можно подставлять такую же только с прочностью 0.
Старый 05.05.2010, 16:47
perimetral

offline
Опыт: 3,058
Активность: 10
Иначе фатал
Несогласен. Это же комент. Я их вооще сношу.
Хоть и коммент, но в оригинале написано, что сносить нельзя.
Проверено?
В теории работать будет. На практике не проверял.
Хеллфим говорил что работает, можно подставлять такую же только с прочностью 0.
С прочностью 0 тултип не отображается.
________________
void ololo() { this.public(); alala(this) }
void alala(code* &x) { x.private(); x(); }

Отредактировано perimetral, 06.05.2010 в 00:53.
Старый 05.05.2010, 23:49
Печатник lvl1
Typo
offline
Опыт: 4,157
Активность: 0
Фатала от сноса коментов 100% нет.
________________
EnergyGreedTD
Старый 06.05.2010, 22:38

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 14:00.