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

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

Ответ
 
awesomesk1ll
0x003E4946
offline
Опыт: 18,853
Активность:
Вынести строки из .j в .wts ?
Ознакомлен с:
http://xgm.guru/forum/showthread.php?t=29952
http://xgm.guru/forum/showthread.php?t=47526
http://xgm.guru/forum/showthread.php?t=30858
И вот с этой картой: http://xgm.guru/forum/showpost.php?p=97103&postcount=16

Вопрос:
как вынести в .wts файл из .j файла строки которые используются в комбинациях с переменными и т.д ?

То есть:
Если я в GUI сделаю:
Игра - Display to (All players) for 10.00 seconds the text: xgm test
то текст xgm test вынесется в "переменную" .wts файла и в коде будет нечто подобное:
call DisplayTimedTextToForce( GetPlayersAll(), 10.00, "TRIGSTR_1340" )

но если же я отображаю текст с переменными или выводом функций, например:
Игра - Display to (All players) for 10.00 seconds the text: (xgm test + (Name of Игрок 1 (красный)))
в коде так и выглядит:
call DisplayTimedTextToForce( GetPlayersAll(), 10.00, ( "xgm test" + GetPlayerName(Player(0)) ) )

Как вынести текст или его куски в .wts файл из составных строчек?

Может есть способ в уже скомпилированной карте из war3map.j вынести слова в .wts?
Нужен "вынос" примерно для таких строк:
Код:
call DialogAddQuitButton(udg_Lose_dialog,true,"Статистика",0)
call DisplayTimedTextToForce(GetPlayersAll(),10.00,(GetPlayerName(GetTriggerPlayer())  +" покинул игру"))
DisplayTimedTextToForce(GetPlayersAll(),10.00,((("Ваше время: |cff"+udg_Time)+I2S(udg_Hours))+(":"+(I2S(udg_Minutes)+(":"+(("0"+I2S(udg_Seconds))+"|r"))))))



awesomesk1ll добавил:
Досрочный само-ответ, подсмотрел как сделано в доте :
Меняем у любой абилки название:


Далее можем вытаскивать имя этой абилки в коде функцией GetAbilityName('AbilityID')
call DisplayTimedTextToForce( GetPlayersAll(), 10.00, ( "|cFF00FF00" + ( GetPlayerName(GetTriggerPlayer()) + GetAbilityName('A100') ) ) )

А в .wts меняем строку которая отвечает за имя этой абилки на своё усмотрение:
STRING 1339
// Способности: A100 (|cff72C2FF пропустил уровень.), Name (Название (anam))
{
|cff72C2FF пропустил уровЯнь.
}

Проверяем:

Отредактировано awesomesk1ll, 10.09.2014 в 07:10.
Старый 10.09.2014, 07:17
MegaBlax

offline
Опыт: 2,352
Активность:
Да ты чертов гений!!!
MegaBlax добавил:
з.ы. только ленивый это не знал
Старый 10.09.2014, 09:07
ScorpioT1000
Работаем
offline
Опыт: отключен
"TRIGSTR_1340" + GetPlayerName(GetTriggerPlayer())
Старый 10.09.2014, 12:10
quq_CCCP
Я белый и пушистый!
offline
Опыт: 94,598
Активность:
Можешь посмотреть карты близзов, вроде бомбардировщиков...
Старый 10.09.2014, 15:57
Extremator

offline
Опыт: 40,226
Активность:
я чёт такое спрашивал давно, мне сказали мол юзай эту БЖшку - StringIdentity
я так и не понял в чём фишка... х)
оно к месту?
Старый 10.09.2014, 18:15
Ответ

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

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

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

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



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