Добавлен , опубликован
От хозяина блога: статья не моя, я лишь решил её перекопировать на хгм, что бы местные могли с ней ознакомиться.
Автор перевода: ExotiC
Англоязычная версия статьи
Предполагается, что вы уже имеете общее представление о путях к файлам. Гайд ознакомит вас с возможностями сообщений и их использованием. Большинство из них поддерживают манипуляции с текстом, отображаемым с помощью переменных.
Скопируйте в ваш initgamemode что-то на подобии:
Convars:RegisterCommand( "call1", function(...) return self:call1( ... ) end, "Function Call 1", FCVAR_CHEAT )
Convars:RegisterCommand( "call2", function(...) return self:call2( ... ) end, "Function Call 2", FCVAR_CHEAT )
Convars:RegisterCommand( "call3", function(...) return self:call3( ... ) end, "Function Call 3", FCVAR_CHEAT )
Convars:RegisterCommand( "call4", function(...) return self:call4( ... ) end, "Function Call 4", FCVAR_CHEAT )
Это дает вам 4 консольные команды (call1-4), чтобы запустить ваши 4 функции. Это делает возню немного легче, команда "script_reload" (в консоль) перезагрузит ваш скрипт, не тратя время на перекомпиляцию карты.

Стандартное всплывающее окно

ShowGenericPopup( "#popup_title", "#popup_body", "", "", DOTA_SHOWGENERICPOPUP_TINT_SCREEN )
--Это будет читать ваш #popup_title и #popup_body переменные из \resource\addon_english.txt
И этот файл будет выглядеть примерно так:
"lang"
{
"Language"      "English"
"Tokens"
{       
    "popup_title"                           "OMG its a title"

    "popup_body"                    "useful info here"
}   
}

Сообщение в чат

Похоже на то, как пользователь вводит сообщение
Say(nil,"text here", false)
-- nil может быть заменен на Player ID
-- Текст поддерживает вводимые переменные, из кода или даже от вашей консольной команды

Большой текст сверху по центру он же show_center_message

local messageinfo = {
message = messagetext,
dur = timetoshow
}
FireGameEvent("show_center_message",messageinfo) 
Чтобы это работало, вам нужно вызвать функцию для принятия строк messagetext и timetoshow. Ваша функция должна быть примерно такая:
function blah:call1 ( cmd, messagetext, timetoshow )
-- cmd будет возвращать call1
Вызвать командой из консоли? Это выглядело бы так:
sv_cheats 1
call1 TEXTTOSHOW 2

Текст в области вывода убийства

GameRules:SendCustomMessage("<font color='#58ACFA'>This is some Blue Text</font> This is white", 0, 0)
Переменные поддерживаются, так же как простой ограниченный HTML. Я не уверен в том что HTML поддерживается, но по крайней мере базовые манипуляции с текстом (Жирность, Курсив, Цвет) работают.
`
ОЖИДАНИЕ РЕКЛАМЫ...