Приветствуем вас на форуме проекта WoW Circle. Если вы читаете это, значит не зарегистрировались у нас. Для того, чтобы получить доступ к расширенным возможностям нашего форума нажмите сюда и пройди регистрацию, которая не займет у вас много времени. После регистрации будут доступны новые, более расширенные, возможности.
[HELP] Кто шарит в LUA и WoW API. Реакция на клик по фрейму.

Упомянутые в теме пользователи:

Показано с 1 по 4 из 4
  1. #1
    Старожил Аватар для Wbtest2
    Регистрация
    21.02.2015
    Адрес
    Minsk
    Сообщений
    180
    Поблагодарил(а)
    46
    Получено благодарностей: 114 (сообщений: 60).
    Репутация: 114

    Post [HELP] Кто шарит в LUA и WoW API. Реакция на клик по фрейму.

    Вот для примера есть кусок кода, который создает иконку над всеми неймплейтами:

    Скрытый текст

    PHP код:
    local function CreateIcon(parent)    
       
    local frame CreateFrame("Frame"nilparent);    
       
    frame:SetPoint("CENTER"parent025);    
       
    frame:SetSize(3030);    
       
    frame.Icon frame:CreateTexture(nil,"OVERLAY");   
       
    frame.Icon:SetTexture("Interface\\Icons\\ABILITY_DUALWIELD");   
       
    frame.Icon:SetAllPoints();
    end;

    CreateFrame("Frame"):SetScript('OnUpdate', function()   
       for 
    1,select('#',WorldFrame:GetChildren()) do        
          
    local frame select(iWorldFrame:GetChildren());        
          
    local _healthBorder___highlightTexturenameTextlevelText__frame:GetRegions();
          if 
    healthBorder and healthBorder:GetObjectType() == "Texture" and healthBorder:GetTexture() == [=[Interface\Tooltips\Nameplate-Border]=] then
             local IconFrame 
    select(3,frame:GetChildren());
             if 
    IconFrame == nil then
                CreateIcon
    (frame);
             
    end;
          
    end;
       
    end;
    end); 
    [свернуть]


    У самого довольно поверхностные знания LUA, поэтому люди знающие хорошо LUA нужна помощь небольшая.
    Собственно сам вопрос: как можно сделать чтобы, при клике по этой созданной иконке брался в таргет юнит к неймплейту которого прикреплена конкретная иконка?

  2. #2
    Инопланетянин
    Регистрация
    20.03.2012
    Сообщений
    4,191
    Поблагодарил(а)
    362
    Получено благодарностей: 1,439 (сообщений: 839).
    Репутация: 2399
    Цитата Сообщение от Wbtest2 Посмотреть сообщение
    Вот для примера есть кусок кода, который создает иконку над всеми неймплейтами:

    Скрытый текст

    PHP код:
    local function CreateIcon(parent)    
       
    local frame CreateFrame("Frame"nilparent);    
       
    frame:SetPoint("CENTER"parent025);    
       
    frame:SetSize(3030);    
       
    frame.Icon frame:CreateTexture(nil,"OVERLAY");   
       
    frame.Icon:SetTexture("Interface\\Icons\\ABILITY_DUALWIELD");   
       
    frame.Icon:SetAllPoints();
    end;

    CreateFrame("Frame"):SetScript('OnUpdate', function()   
       for 
    1,select('#',WorldFrame:GetChildren()) do        
          
    local frame select(iWorldFrame:GetChildren());        
          
    local _healthBorder___highlightTexturenameTextlevelText__frame:GetRegions();
          if 
    healthBorder and healthBorder:GetObjectType() == "Texture" and healthBorder:GetTexture() == [=[Interface\Tooltips\Nameplate-Border]=] then
             local IconFrame 
    select(3,frame:GetChildren());
             if 
    IconFrame == nil then
                CreateIcon
    (frame);
             
    end;
          
    end;
       
    end;
    end); 
    [свернуть]


    У самого довольно поверхностные знания LUA, поэтому люди знающие хорошо LUA нужна помощь небольшая.
    Собственно сам вопрос: как можно сделать чтобы, при клике по этой созданной иконке брался в таргет юнит к неймплейту которого прикреплена конкретная иконка?
    А зачем тебе это? На вов жп твоя тема?

    PS скорее всего желаешь узнать выполнение plua через клиент =) На самом деле это возможно.
    Последний раз редактировалось DreamlØlz; 03.03.2015 в 18:29.

  3. #3
    Старожил Аватар для Wbtest2
    Регистрация
    21.02.2015
    Адрес
    Minsk
    Сообщений
    180
    Поблагодарил(а)
    46
    Получено благодарностей: 114 (сообщений: 60).
    Репутация: 114
    А зачем тебе это? На вов жп твоя тема?

    PS скорее всего желаешь узнать выполнение plua через клиент =) На самом деле это возможно.
    На вов жп нету тем моих). Собственно аддон хочу сделать (точнее уже сделал) на отображение иконок тотемов над дефолтными неймплейтами. (тидиплейтс мне не нравятся, привык к дефолтным). От не помешало бы что бы при клике по иконке над тотемом брался в таргет тотем, хз каким способом: или как нибудь при клике по иконке осуществлялся клик по самому неймплейту, или хз. Ну с использованием protected функций можно было бы легко затаргетить юнитов по имени, но в конкретном случае с тотемами так не прокатит, да и использовать plua не хочется )


    Была идея просто увеличить высоту неймплейта так чтоб он покрыл иконку), на кате ето прокатило там при увеличении высоты фрейм вверх растягивается, в лк в отличии от каты вниз , а как правильно поднять сам неймплейт относительно его позиции я не знаю). При :ClearAllPoints() неймплейт будет уже неприкреплен к юниту а будет в центре экрана к примеру. я хз к какому фрейму цеплять, если использовать ClearAllPoints(), чтоб поднять его. Но как по мне такой метод не очень.
    Последний раз редактировалось Wbtest2; 03.03.2015 в 20:00.

  4. #4
    Инопланетянин
    Регистрация
    20.03.2012
    Сообщений
    4,191
    Поблагодарил(а)
    362
    Получено благодарностей: 1,439 (сообщений: 839).
    Репутация: 2399
    Цитата Сообщение от Wbtest2 Посмотреть сообщение
    На вов жп нету тем моих). Собственно аддон хочу сделать (точнее уже сделал) на отображение иконок тотемов над дефолтными неймплейтами. (тидиплейтс мне не нравятся, привык к дефолтным). От не помешало бы что бы при клике по иконке над тотемом брался в таргет тотем, хз каким способом: или как нибудь при клике по иконке осуществлялся клик по самому неймплейту, или хз. Ну с использованием protected функций можно было бы легко затаргетить юнитов по имени, но в конкретном случае с тотемами так не прокатит, да и использовать plua не хочется )


    Была идея просто увеличить высоту неймплейта так чтоб он покрыл иконку), на кате ето прокатило там при увеличении высоты фрейм вверх растягивается, в лк в отличии от каты вниз , а как правильно поднять сам неймплейт относительно его позиции я не знаю). При :ClearAllPoints() неймплейт будет уже неприкреплен к юниту а будет в центре экрана к примеру. я хз к какому фрейму цеплять, если использовать ClearAllPoints(), чтоб поднять его. Но как по мне такой метод не очень.
    Есть одна недоработка близов ... SetScale && SetSize && SetPoint не работают в бою. Так что таким способом будучи в бою и сделав /reload или же просто появился новый моб в поле зрения - буде получать сообщения сошибками типа "нельзя юзать в бою"... Можешь как вариант отсеивать нейм плейты по TextRegion -> GetText() -> изменять размер хп бара и смещать его в право\лево , а в уголок пихать иконку тотема =)

Ваши права

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