Перейти к содержанию

Дайджесты за январь-февраль

Обновления гайдов и аддонов

Январь Февраль

Мониторинг серверов и редактор аддонов

Представляем вам две легенды. То, о чем можно было только мечтать, стало реальностью.

Мониторинг серверов Редактор аддонов

Подсказки из игры на вашем сайте

Теперь вы можете отображать сведения о внутриигровых элементах простым наведением курсора мыши.

Подробнее

Апдейтер аддонов

Представляем вам программу для автообновления аддонов и делимся подробностями.

Подробнее Скачать

Хочу пообщаться с людьми которые разбираются в разработке аддонов.


Gvinnedar

Рекомендуемые сообщения

Привет , а как поменять формат отдельных функций?  я всё еще использую функцию чата выше и у меня не получается задать разный формат.

 

Ссылка на комментарий
Поделиться на другие сайты

Поменять:

function LogToChat(chatText) -> function LogToChat(chatText,chatColor)

valuedText:SetClassVal("color", "LogColorRed") -> valuedText:SetClassVal("color", chatColor or "LogColorRed") 

Классы:

LogColorCyan
LogColorBlue
LogColorLightRed
LogColorPink
LogColorMagenta
LogColorBlack
LogColorLightGreen
LogColorBrown
LogColorSlateBlue
LogColorWhite
LogColorGreen
LogColorRed
LogColorOrange
LogColorYellow
LogColorGold
LogColorViolet
LogColorCian

Вызывать LogToChat("Текст","Класс"), например, LogToChat("блаблабла","LogColorGreen")

Ссылка на комментарий
Поделиться на другие сайты

Привет , подскажи пожалуйста, как перейти на "текстовой виджет" ?

Я хочу заменить сообщения в чате на текст на экране.

Объясни основы , пожалуйста.

 

Ссылка на комментарий
Поделиться на другие сайты

Как я понял , все нужно переделывать уже на основе "графики"

 

Ссылка на комментарий
Поделиться на другие сайты

В 09.11.2022 в 21:00, Gvinnedar сказал:

Привет , подскажи пожалуйста, как перейти на "текстовой виджет" ?

Я хочу заменить сообщения в чате на текст на экране.

Объясни основы , пожалуйста.

 

Для этого и существует WidgetTextView

Ссылка на комментарий
Поделиться на другие сайты

В 09.11.2022 в 21:00, Gvinnedar сказал:

Привет , подскажи пожалуйста, как перейти на "текстовой виджет" ?

Я хочу заменить сообщения в чате на текст на экране.

Объясни основы , пожалуйста.

 

Можно посмотреть здесь

data\Mods\SampleAddons\SampleZoneAnnounce

Ссылка на комментарий
Поделиться на другие сайты

  • 5 недель спустя...

Ребят, а есть наглядный пример API динамичного состояния скилла?

Нахожу Id скилла и хочу написать напоминание для активации, но не выходит прописать состояние.

 

Ссылка на комментарий
Поделиться на другие сайты

20 минут назад, Gvinnedar сказал:

Ребят, а есть наглядный пример API динамичного состояния скилла?

Нахожу Id скилла и хочу написать напоминание для активации, но не выходит прописать состояние.

 

Что такое динамическое состояние скилла?

Подозреваю что речь о spellLib.GetState( SpellId ).isActive

Ссылка на комментарий
Поделиться на другие сайты

У меня получается так

local spellName = "Поднять знамя"
    local spellId = GetSpellBook(spellName)
        local spellbook = GetDescription(SpellId)
        local spellState = spellLib.GetState( SpellId )
        if not spellState.isActive then
                
                    
            wtMessage:SetVal( "value","Используй")
            wtMessage:Show( true )    
            wtMessage:PlayFadeEffect( 0.1, 1.0, MESSAGE_FADE_IN_TIME, EA_MONOTONOUS_INCREASE ) 
            fadeStatus = WIDGET_FADE_IN 

Ссылка на комментарий
Поделиться на другие сайты

local wtMessage -- Какой-то виджет типа textwiev
local MESSAGE_FADE_IN_TIME = 1000 -- number (int) - время анимации (в миллисекундах, неотрицательное)
local fadeStatus -- какая-то переменная
local WIDGET_FADE_IN -- ещё какая-то переменная

--- Возвращает spellId по spellName из книги заклинаний аватара или nil, если такого нет
local function GetSpellId(spellName)
    if not spellName then return end
    local spellList = avatar.GetSpellBook() or {}
    local getSpellDesc = spellLib.GetDescription
    local fromWString = userMods.FromWString
    for _, spellId in pairs(spellList) do
        local spellDesc = getSpellDesc(spellId)
        if spellDesc and spellDesc.name
                and spellName == fromWString(spellDesc.name) then
            return spellId
        end
    end
end

--- Возвращает true, если заклинание со spellId в данный момент активировано, false если неактивировано, nil если такого нет
local function IsSpellActive(spellId)
    if not spellId then return end
    local spellState = spellLib.GetState(spellId)
    if spellState then return spellState.isActive end
end

--- Выводит сообщение о неактивном заклинании spellName
local function WarnSpellInactive(spellName)
    if IsSpellActive(GetSpellId(spellName)) ~= false then return end
    wtMessage:SetVal("value", "Используй "..tostring(spellName))
    wtMessage:Show(true)
    wtMessage:PlayFadeEffect(0.1, 1.0, MESSAGE_FADE_IN_TIME, EA_MONOTONOUS_INCREASE)
    fadeStatus = WIDGET_FADE_IN
end

WarnSpellInactive("Поднять знамя")

Вроде как-то так.

Ссылка на комментарий
Поделиться на другие сайты

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...

Важная информация

Пользуясь сайтом, вы принимаете Условия использования