Jump to content

Илюминати

Members
  • Posts

    78
  • Joined

  • Last visited

Posts posted by Илюминати

  1. Всем доброго времени суток. :crab:

     

    Многие стремятся сделать свой UI - интерфейс наиболее приятным и комфортным для игры в плане PvP \ PvE. Для начала предлагаю вам посмотреть мою сборку скриптов и аддонов, скажу сразу, не очень большой любитель аддонов, так что пользуюсь ими по минимуму.

     

    Вот мои список аддонов:

     

    http://i047.radikal.ru/1404/cb/7bfec52518a6.png

     

    ExctraCD - Аддон отслеживает баффы, которые скрытые. Скрытые - это все проки от талантов, тринек (аксессуаров), энчантов, нашивок.

    GladiatorlosSA - Противник юзает скилл - у вас произносится в речь.

    LoseControl - Позволяет легко отслеживать контролли, которые лежат не Вашем персонаже.

    SafeQueue - Убирает кнопку ""Leave Queue" при проке арены.

    sArena - Замена аддона Gladius (т.к. Гладиус для меня не так хорошо смотрится, как данный аддон, можно сказать это вовсе не аддон, а просто доработанная замена скрипту)

    SaySapped - В то время, когда Вас сапнули в чат будет писаться "Sapped"

    И мои скрипты - О них чуть попозже.

     

    Как всё это у меня смотрится -

    http://s43.radikal.ru/i101/1404/3d/ca02b5aa0768.jpg

     

     

    Теперь перейдём к скриптам. На данный момент я использую около 20-30 скриптов, но описывать буду не все.

     

    Для начала, как же создать скрипт? Я делаю 1 аддон и закидываю в него кучу скриптов, но для новичков советую делать всё отдельно. И так, как создать аддон?

     

    Здесь всё прекрасно описано Будь плохим @ Играй на дефолте но там описано создание аддонов на катаклизм. Различие в создании аддонов между Пандарией и Катаклизмом - это пару циферок ^_^

     

    1. Заходим в WoW\Interface\Addons - создаём папку, например, "Scripts"

    2. Далее делаем 2 блокнотика "Scripts.lua \ Scripts.toc"

     

    http://i023.radikal.ru/1404/1f/c7f3aa57514b.png

     

    3. В Scripts.toc пишем

     

    ## Interface: 50400
    ## Title: Scripts
    ## Author: Ilyminaty100
    ## Version: 5.41
    
    scripts.lua

     

     

    4. А вот Scprits.lua - является местом, куда мы и помещаем скрипт.

     

    Скрипты Neilyo и не только здесь можно покопипастить себе море полезных скриптов :)

     

    Если понравился мой интерфейс - прошу миловать (ctrl+c ---> ctrl+v) - просто скопируйте всё и вставьте в .lua файл. Когда вставите у вас:

    1. Пропадут грифоны по бокам.

    2. Будет тёмная, на мой взгляд приятная оковка фреймов.

    3. Вместо портретов будут иконки класса.

    4. Если спелл не достает до противника, то на панели он будет гореть красным. http://i.imgur.com/mH9ZN.jpg

    5. Станет прозрачный бэкграунд фрейма игрока.

    6. При нажатии на спелл, он будет приятно помигивать :)

     

    Вроде всё, остального не стоит описывать, новички не поймут. :wink:

     

     

    UFP = "UnitFramePortrait_Update"; UICC = "Interface\\TargetingFrame\\UI-Classes-Circles"; CIT = CLASS_ICON_TCOORDS 
    
    hooksecurefunc(UFP,function(self) if self.portrait then local t = CIT[select(2,UnitClass(self.unit))] if t then self.portrait:SetTexture(UICC) self.portrait:SetTexCoord(unpack(t)) end end end)
    
    UIErrorsFrame:SetAlpha(0)
    
    MainMenuBarLeftEndCap:Hide();MainMenuBarRightEndCap:Hide()
    
    hooksecurefunc("ActionButton_OnEvent",function(self, event, ...)
                   if ( event == "PLAYER_TARGET_CHANGED" ) then
                           self.newTimer = self.rangeTimer
                   end
           end)
    
           hooksecurefunc("ActionButton_UpdateUsable",function(self)
                   local icon = _G[self:GetName().."Icon"]
                   local valid = IsActionInRange(self.action)
    
                   if ( valid == 0 ) then
                           icon:SetVertexColor(1.0, 0.1, 0.1)
                   end
           end)
    
           hooksecurefunc("ActionButton_OnUpdate",function(self, elapsed)
                   local rangeTimer = self.newTimer
    
                   if ( rangeTimer ) then
                           rangeTimer = rangeTimer - elapsed
    
                           if ( rangeTimer                                 ActionButton_UpdateUsable(self)
                                   rangeTimer = TOOLTIP_UPDATE_TIME
                           end
    
                           self.newTimer = rangeTimer
                   end
           end)
    
    MinimapBorderTop:Hide()
    MiniMapWorldMapButton:Hide()
    MinimapZoneText:SetPoint("TOPLEFT","MinimapZoneTextButton","TOPLEFT", 8, 0) -- to center the minimap zone text
    MinimapZoomIn:Hide()
    MinimapZoomOut:Hide()
    Minimap:EnableMouseWheel(true)
    Minimap:EnableMouseWheel(true)
    Minimap:SetScript('OnMouseWheel', function(self, delta)
           if delta > 0 then
                   Minimap_ZoomIn()
           else
                   Minimap_ZoomOut()
           end
    end)
    
    local ef=CreateFrame("Frame")
      
         ef:RegisterEvent("ADDON_LOADED")
            ef:SetScript("OnEvent", function(self, event, addon)
                if(addon=="Blizzard_TimeManager") then
             for i,v in pairs({
                  
                   PlayerFrameTexture,
                   TargetFrameTextureFrameTexture,
                   PetFrameTexture,
                           PartyMemberFrame1Texture,
                           PartyMemberFrame2Texture,
                           PartyMemberFrame3Texture,
                           PartyMemberFrame4Texture,
                   PartyMemberFrame1PetFrameTexture,
                   PartyMemberFrame2PetFrameTexture,
                   PartyMemberFrame3PetFrameTexture,
                   PartyMemberFrame4PetFrameTexture,
                           FocusFrameTextureFrameTexture,
                           TargetFrameToTTextureFrameTexture,
                           FocusFrameToTTextureFrameTexture,
           BonusActionBarFrameTexture0,
                   BonusActionBarFrameTexture1,
                   BonusActionBarFrameTexture2,
                   BonusActionBarFrameTexture3,
                   BonusActionBarFrameTexture4,   
                           MainMenuBarTexture0,
                           MainMenuBarTexture1,
                           MainMenuBarTexture2,
                           MainMenuBarTexture3,
           MainMenuMaxLevelBar0,
           MainMenuMaxLevelBar1,
                   MainMenuMaxLevelBar2,
                   MainMenuMaxLevelBar3,
                           MinimapBorder,
                   CastingBarFrameBorder,
                   FocusFrameSpellBarBorder,
                   TargetFrameSpellBarBorder,
                           MiniMapTrackingButtonBorder,
                           MiniMapLFGFrameBorder,
                           MiniMapBattlefieldBorder,
                           MiniMapMailBorder,     
    
                   select(1, TimeManagerClockButton:GetRegions()),
                   --select(1, GameTimeFrame:GetRegions()),
                 }) do
                    v:SetVertexColor(.4, .4, .4)
                 end
                   for i,v in pairs({
                   select(2, TimeManagerClockButton:GetRegions()),
                           }) do
                    v:SetVertexColor(1, 1, 1)
                 end
           self:UnregisterEvent("ADDON_LOADED")
           ef:SetScript("OnEvent", nil)
       end
    end)
             for i,v in pairs({
                   MainMenuBarLeftEndCap,
           MainMenuBarRightEndCap,  
                 }) do
                    v:SetVertexColor(.35, .35, .35)
                 end
    
    t100p="Interface\\Icons\\ability_rogue_shadowdance";t100=CFrame(Frame);
    func1(t100,640,560,"cd100",t101p,22,true);t100:SetScript(E,function(self,event,...) func2(t100,cd100,select(1,...),select(5,...),51713,60) end);
    
    ----------------------------------------------------------------------------------------------------
    --PartyTrinkets--
    ----------------------------------------------------------------------------------------------------
    local trinkets = {}
    local events = CreateFrame("Frame")            
    local partyFrame, trinket
       for i = 1, MAX_PARTY_MEMBERS do
           partyFrame = "PartyMemberFrame"..i
           trinket = CreateFrame("Cooldown", partyFrame.."Trinket")
           trinket:SetPoint("TOPRIGHT", partyFrame, 30, -6)
           trinket:SetSize(24, 24)
           trinket.icon = trinket:CreateTexture(nil, "BACKGROUND")
           trinket.icon:SetAllPoints()
           trinket.icon:SetTexture("Interface\\Icons\\inv_jewelry_trinketpvp_02")
           trinket:Hide()
           trinkets["party"..i] = trinket
       end
    function events:UNIT_SPELLCAST_SUCCEEDED(unitID, spell, rank, lineID, spellID)
       if not trinkets[unitID] then
           return
       end
       if spellID == 59752 or spellID == 42292 then
           CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 120, 1)        
       elseif spellID == 7744 then
           CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 45, 1)        
       end
    end
    function events:PLAYER_ENTERING_WORLD()
           local _, instanceType = IsInInstance()
                if instanceType == "arena" then
                self:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED")
                            elseif instanceType == "none" then
                self:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED")
                elseif self:IsEventRegistered("UNIT_SPELLCAST_SUCCEEDED") then
                 self:UnregisterEvent("UNIT_SPELLCAST_SUCCEEDED")          
                for _, trinket in pairs(trinkets) do
               trinket:SetCooldown(0, 0)
               trinket:Hide()
                end  end  
    end
    events:SetScript("OnEvent", function(self, event, ...) return self[event](self, ...) end)
    events:RegisterEvent("PLAYER_ENTERING_WORLD")
    
    LARGE_NUMBER_SEPERATOR = ","
    
    hooksecurefunc("PlayerFrame_UpdateStatus", function() 
    if IsResting("player") then 
    PlayerStatusTexture:Hide()
    PlayerRestIcon:Hide()
    PlayerRestGlow:Hide()
    PlayerStatusGlow:Hide() 
    elseif PlayerFrame.inCombat then 
    PlayerStatusTexture:Hide()
    PlayerAttackIcon:Hide()
    PlayerRestIcon:Hide()
    PlayerAttackGlow:Hide()
    PlayerRestGlow:Hide()
    PlayerStatusGlow:Hide()
    PlayerAttackBackground:Hide() end end)
    
    hooksecurefunc(getmetatable(PlayerFrameHealthBar).__index,"Show",function(s)
       if s:GetParent().healthbar then
           if s.st == nil then
               s:SetStatusBarTexture("Interface\\TokenFrame\\UI-TokenFrame-CategoryButton")
               s:GetStatusBarTexture():SetDesaturated(1)
               s:GetStatusBarTexture():SetTexCoord(0, 1, .609375, .796875)
               s:GetStatusBarTexture():SetHorizTile(true)
               s.st = true
           end
       end
    end) 
    
    UnitSelectionColor = function(unit)
    if not UnitExists(unit) then return 1,1,1,1 end
    
    local color = UnitIsPlayer(unit) and RAID_CLASS_COLORS[select(2, 
    UnitClass(unit))] or FACTION_BAR_COLORS[unitReaction(unit, 'player')]
    if color then
    if not UnitIsConnected(unit) then
    return .5, .5, .5, 1
    else
    return 0, 0, 0, 0.5
    end
    else
    if UnitIsTapped(unit) and not UnitIsTappedByPlayer(unit) then
    return .5, .5, .5, 1
    end
    end
    end
    
    LARGE_NUMBER_SEPERATOR = ","
    
    local f = CreateFrame("FRAME");
    f:SetScript("OnEvent", function(self,event,...)
                           local arg1 =...;        
                           if (arg1=="Blizzard_CombatText") then
                             f:UnregisterEvent("ADDON_LOADED");
                             hooksecurefunc("CombatText_UpdateDisplayedMessages",
                             function ()
                                   COMBAT_TEXT_LOCATIONS =
                                   {startX  = 100,
                                   startY = 384 * COMBAT_TEXT_Y_SCALE,
                                   endX =200,
                                   endY = 609 * COMBAT_TEXT_Y_SCALE};
                             end);
                           end
                           end);
    f:RegisterEvent("ADDON_LOADED")
    
    hooksecurefunc('TargetFrame_CheckFaction', function(self)
     if ( not UnitPlayerControlled(self.unit) 
     and UnitIsTapped(self.unit) 
     and not UnitIsTappedByPlayer(self.unit) 
     and not UnitIsTappedByAllThreatList(self.unit) ) then
       self.nameBackground:SetVertexColor(0.0, 0.0, 0.0, 0.5);
       if ( self.portrait ) then
         self.portrait:SetVertexColor(0.5, 0.5, 0.5);
       end
     else
       self.nameBackground:SetVertexColor(0.0, 0.0, 0.0, 0.5);
       if ( self.portrait ) then
         self.portrait:SetVertexColor(1.0, 1.0, 1.0);
       end
     end  
    end)

     

     

    Спасибо, что убили время из своей жизни на прочтения данной темы.

    З.Ы. если возникли вопросы - задавайте в теме или пишите в скайп, приятной игры, друзья :bye:

    • Like 3
  2. И так, если данная тема существовала, простите за дубль, не смог её найти.

    Проблема такова: создал персонажа и не могу зарегать бг, притом, что первым персонажем всё делается без проблем.

    В чём может заключаться трабла?

  3. Так вот,почему то когда я захожу на 1 акк,то клиент вылетает с ошибкой,как на другой захожу - все нормально.

    ?????

    Возможо стоит отписаться в тех. поддержку

    1. Окровавленный амулет Скира
    2. Даёт поставленные статы, т.е. 1552 к силе.
    3. Не даёт крита, не стакается.

     

    http://s52.radikal.ru/i137/1404/2d/c1aed4937340.jpg

    http://s45.radikal.ru/i109/1404/ab/9e02d73f9df2.jpg

    http://s019.radikal.ru/i642/1404/55/df105b708d59.jpg

     

    Если тема где-то была, прошу извинить за невнимательность :crab:

  4. Сейчас расскажу Вам как получить максимальный FPS на средних машинах для максимально комфортной игры на арене.

    Для начала создаём 3 макроса:

     

    1.

    /console ffx 0
    /console hwPCF 1
    /console shadowlod 0
    /console timingmethod 1
    /console showshadow 0
    /console showfootprints 0
    /console showfootprintparticles 0

     

    2.

    /console overridefarclip 0
    /console farclip 177
    /console horizonfarclip 1305
    /console detailDoodadAlpha 0
    /console groundeffectdensity 16

     

    3.

    /console groundeffectdist 1 
    /console smallcull 1 
    /console skycloudlod 1 
    /console characterAmbient 1 
    /console extshadowquality 0

     

    Потом ставим графику на "минимум" ▼

    http://s020.radikal.ru/i719/1404/19/e81bdd3a5537.jpg

     

    После смены графики прожимаем созданные макросы, именно в том порядке, в котором они указаны! Макросы нажимаются только 1 раз! При следующем входе в игру этого делать не нужно!

     

    Чтобы видеть эффекты, нужно включить Проецирование текстур в графике! http://s019.radikal.ru/i619/1404/ba/d3051ccafde2.jpg

     

     

     

    Далее выставляем в настройках:

     

    Вкладка "Основные":

     

    • Частота обновления - ставим максимальную.
    • Сглаживание - 1x.
    • Верт. синхронизация - отключена.

     

    Вкладка "Дополнительные":

     

    • Тройная буферизация - отключено.
    • Плавность управления - отключено.
    • Аппаратный курсор - включено.
    • Граффический API - DirectX 11.
    • Справа снимаем все галочки, гамма по желанию.

     

    На этом всё. Вот что вышло у меня: до http://s019.radikal.ru/i620/1404/c1/d41de01af1d6t.jpg после http://i021.radikal.ru/1404/d4/570e904b4f8b.jpg

     

    З.Ы. Фпс зависит ещё и мощности машины, этот гайд предназначен только для средних машин!

     

    :bye:

    • Like 5
  5. Еще как требуется. Двигать бафы до сих пор нельзя.

    ну двигай баффы на здоровье, как по мне баффы уже не заметны почти... пускай там и лежат... странный ты

×
×
  • Create New...