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

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

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

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

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

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

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

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

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

Подробнее

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

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

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

GRuSHa

Пользователь
  • Постов

    34
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные GRuSHa

  1. а чтобы добавить элемент в контейнер через PushBack( self, widget ) нужно писать 

    for i = 1, 24 do
    local newPanel = mainForm:CreateWidgetByDesc(descPanel);
      
    wtContainer:PushBack(newPanel);
    listPanel[i] = newPanel;
    end;

    или нужно так?

    for i = 1, 24 do
    
    wtContainer:PushBack(descPanel);
    listPanel[i] = wtContainer:GetElementCount()
    end;
  2. да именно контейнер, после смерти моба виджет панели этого моба удаляется, я сделаю помощник в рейдах и мне нужен интерфейс примерно как в баф анонсе или Healer, как отслеживать бафы я уже знаю, как добавлять виджеты в контейнер додумал уже сам, а как реализуется чтобы ХП моба были фоном виджета пока не совсем помял, думал поставить ещё панель в панель и установить красный или жёлтый фон на неё уменьшать размер панельки по количеству хп, подскажите как лучше сделать

  3. Доброго времени суток.

    Растолкуйте плиз как работать с CreateWidgetByDesc( self, widgetDesc )

    Как получить widgetDesc?

    Нужно добавлять мобов в Container, создал файл Container.xdb, моб это Panel. Эту панель делать дочерней какому элементу? И как получить её в переменную  widgetDesc, как потом управлять ею?

    Вообщем если можно простенький пример выложите.

    P.S. извините что так много вопросов от меня.

  4. Доброго времени суток.

    Я много раз видел что вместе с эвентом приходит ещё информация, например:

    EVENT_UNIT_SPAWNED

    Событие посылается каждый раз, когда в зоне действия аватара появляется новый юнит

    -- поля:
    unitId: ObjectId (not nil) (идентификатор юнита)

     

    как в функции получить этот unitId

     

    function DoIt()
    LogInfo("Нужен UnitId")
    end

     

    common.RegisterEventHandler(DoIt, "EVENT_UNIT_SPAWNED")

     

  5. Доброго времени суток.

    Помогите решить проблему.

    Как аддоном отследить виджет другого аддона?

    Допустим у меня есть аддон, mainform называется Form1 и мне нужно из другого аддона отследить Form1:IsVisible() как это сделать?

     

  6. оно не сравнивает ни в обычных строках ни в WString

    Error: addon Addon:   func: ToWString, field, line: -1, defined: C, line: -1, [C]
    Error: addon Addon:     func: OnGetShard, global, line: 33, defined: Lua, line: 23, [string "Mods/Addons/Addon/scripts/AddonScript.lua"]
    Error: addon Addon:       func: Init, global, line: 96, defined: Lua, line: 91, [string "Mods/Addons/Addon/scripts/AddonScript.lua"]
    Error: addon Addon:         func: ?, ?, line: 112, defined: main, line: 0, [string "Mods/Addons/Addon/scripts/Addon.lua"]
    Error: addon Addon: Game::LuaDebugToWString: param 1 not a class nstl::basic_string<char> (type: WString), details: int __cdecl Game::LuaDebugToWString(struct lua_State *)
  7. Доброго времени суток всем.

    Столкнулся с проблемой, нужно проверять имя шарда и в зависимости от имени выводить сообщение, но не получается сравнить строки с помощью ==  , перевожу обе строки в WString и всёравно не сравнивает, что посоветуете?

  8. я прочитал, но не чего не получилось, добавил в код

    wtMainPanel = mainForm:GetChildChecked( "MainPanel", false )
    wtText = wtMainPanel:GetChildChecked( "Text", false )
    wtText:SetVal( "text_label", userMods.ToWString("Вы используете шард Легендари=))" ) )
    
    <body alignx="center"><r name="text_label"/></body>
    

    в чём ошибка? как поправить?

  9. я сделал так

     

    Global( "wtMainPanel", nil )

    --------------------------------------------------------------------------------
    -- REACTION HANDLERS
    --------------------------------------------------------------------------------

    -- "execute"
    function OnReactionExecute( params )

     if DnD.IsDragging() then return end
        

    ...

    end

    --------------------------------------------------------------------------------
    -- INITIALIZATION
    --------------------------------------------------------------------------------
    function Init()

        wtMainPanel = mainForm:GetChildChecked( "MainPanel", false )
        DnD.Init( wtPanel, wtPanel, true )
        common.RegisterReactionHandler( OnReactionExecute, "execute" )
    end
    --------------------------------------------------------------------------------
    Init()
     

     

    проверил все файлы.

    панель намертво застряла и не шивелится

    я попробовал 

    DnD.Init( wtMainPanel, nil, true )
    for _,wtChild in pairs( wtMainPanel:GetNamedChildren() ) do
    DnD.Init( wtChild, nil, true, nil, 4, KBF_CTRL )
    end

    кнопки начали перемещаться по панели, а сама панель нет, подскажите в чём может быть ошибка

  10. Доброго времени суток вам.

    Помогите, захотел подключить DnD в аддоне и столкнулся с проблемой куда писать код ,представленный в документации к библиотеке.

    У меня на паленькой панельке расположены 2 кнопки и написать нужно, как я понимаю DnD.Init( wtPanel, wtPanel, true ) и if DnD.IsDragging() then return end чтобы перетаскивать панельку с кнопками. не могли бы вы на стандартном аддоне SampleReactionHandler, поставить в нужные места код чтобы я понял=))

    --------------------------------------------------------------------------------
    -- GLOBALS
    --------------------------------------------------------------------------------
    
    Global( "wtMainPanel", nil )
    Global( "delta", 10 )
    Global( "COUNTER_LIMIT", 5 )
    Global( "counter", COUNTER_LIMIT )
    
    --------------------------------------------------------------------------------
    -- REACTION HANDLERS
    --------------------------------------------------------------------------------
    
    -- "execute"
    function OnReactionExecute( params )
    	LogInfo( "counter: ", counter )
    	
    	counter = counter - 1
    	if counter < 0 then
    		counter = COUNTER_LIMIT
    		delta = -delta
    	end
    	
    	local place = wtMainPanel:GetPlacementPlain()
    	place.posX = place.posX + delta
    	wtMainPanel:SetPlacementPlain( place )
    end
    
    --------------------------------------------------------------------------------
    -- INITIALIZATION
    --------------------------------------------------------------------------------
    function Init()
    	LogInfo( "Reaction handler sample" )
    
    	common.RegisterReactionHandler( OnReactionExecute, "execute" ) 
    	
    	wtMainPanel = mainForm:GetChildChecked( "MainPanel", false )
    end
    --------------------------------------------------------------------------------
    Init()
    --------------------------------------------------------------------------------
    
    

    или дайте какой нибудь простой аддон где есть DnD, пожалуйста. 

  11. помогите пожалуйста, у меня не работает 

    conditions = avatar.GetItemDressConditions( itemId )

    if conditions.sysFirstCondition ~= "ENUM_DressResult_Success" then
    if conditions.failedConditions[ "ENUM_DressResult_WrongChararacterClass" ] then
    LogInfo( "Неподходящий класс" )
    end
    end

    этот код написан в справке.

    путём расстановки LogInfo узнал что if conditions.sysFirstCondition ~= "ENUM_DressResult_Success" then работает нормально,а if conditions.failedConditions[ "ENUM_DressResult_WrongChararacterClass" ] then вообще не работает, что нужно изменить?

  12. это получается нужно запускать Init через common.RegisterEventHandler или как проверка через if ?

    А с avatar.GetId можно ли его потом прогнать через remort.GetMainName в описании написано "Возвращает имя основного персонажа, если игрок является альтернативным персонажем."

    про циклы понятно

     

    А как тогда защиту строить?

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

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

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

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