Gå til innhold

ammoCount UI mod. Av (nesten bare) meg.


Anbefalte innlegg

Skrevet (endret)

Jeg har, etter mye stressing, modifisert en standalone UI mod som viser hvor mange bag slots man har igjen nede i hjørnet av iconet av backpack'en.

 

Nå sitter jeg og prøver å gjøre det samme med ammo.

Regner med å lage en enkel mod som bare tar høyde for at ammo pouch/quiver er i den bag slot helt til venstre.

 

Jeg har fått den til å vise en verdi i venstre hjørne, som vist på bildet jeg har lagt med. (høgre verdi funker, og viser free bag slots. Venstre verdi er statisk. Jeg la den inn for å vise hvor teksten ville komme.)

 

Det eneste jeg trenger er hjelp til å skrive koden som teller opp hvor mange piler/shots som ligger i ammo carrieren i siste slot (der jeg har ammo pouch i dette bildet... slot 5(?)

 

Er det noen som har noen ideer?

 

Dette er innholdet av LUA fila jeg har til nå..

 

function ammoCount_Update()
ammo = 8000;

slots = GetContainerNumSlots(5);

this:SetMinMaxValues(0, slots);
this:SetValue(0);
this:SetStatusBarColor(red, green, 0.0, 0.75);

ammoCountLabel:SetText(ammo);
end


function ammoCount_OnEvent(event)
 ammoCount_Update();
end


function ammoCount_OnLoad()
this:SetAlpha(1);
this:RegisterEvent("BAG_UPDATE");
this:RegisterEvent("PLAYER_ALIVE");
end

 

"This." kommandoene kan du bare overse, de er rester etter en status bar som fulgte med den mod'en jeg tok utgangspunkt i, som jeg ikke får fjerna helt (bare skjult) :w00t:

post-172-1111800546_thumb.jpg

Endret av MrLee
Videoannonse
Annonse
Skrevet (endret)

Etter litt mer hodegrubling, og en tur innom http://www.wowwiki.com/Main_Page fant jeg utav det.

 

koden ble slik:

 

function ammoCount_Update()

local bagName = GetBagName(4);

 

if bagName=="Heavy Quiver" then

  ammo = 0;

  slots = GetContainerNumSlots(4);

  counter = 0;

 

        for slotIndex = 0, slots do               

  local texture, itemCount, locked, quality, readable = GetContainerItemInfo(4,counter);

 

  if itemCount==NIL then

    counter = counter + 1;

  else

          ammo = ammo + itemCount;

    counter = counter + 1;

        end

  end

 

  ammoCountLabel:SetText(ammo);

elseif bagName=="Light Leather Quiver" then

  ammo = 0;

  slots = GetContainerNumSlots(4);

  counter = 0;

 

        for slotIndex = 0, slots do               

  local texture, itemCount, locked, quality, readable = GetContainerItemInfo(4,counter);

 

  if itemCount==NIL then

    counter = counter + 1;

  else

          ammo = ammo + itemCount;

    counter = counter + 1;

  end

  end

  ammoCountLabel:SetText(ammo);

elseif bagName=="Medium Quiver" then

  ammo = 0;

  slots = GetContainerNumSlots(4);

  counter = 0;

 

        for slotIndex = 0, slots do               

  local texture, itemCount, locked, quality, readable = GetContainerItemInfo(4,counter);

 

  if itemCount==NIL then

    counter = counter + 1;

  else

          ammo = ammo + itemCount;

    counter = counter + 1;

  end

  end

  ammoCountLabel:SetText(ammo);

elseif bagName=="Small shot pouch" then

  ammo = 0;

  slots = GetContainerNumSlots(4);

  counter = 0;

 

        for slotIndex = 0, slots do               

  local texture, itemCount, locked, quality, readable = GetContainerItemInfo(4,counter);

 

  if itemCount==NIL then

    counter = counter + 1;

  else

          ammo = ammo + itemCount;

    counter = counter + 1;

  end

  end

  ammoCountLabel:SetText(ammo);

elseif bagName=="Small Leather Ammo Pouch" then

  ammo = 0;

  slots = GetContainerNumSlots(4);

  counter = 0;

 

        for slotIndex = 0, slots do               

  local texture, itemCount, locked, quality, readable = GetContainerItemInfo(4,counter);

 

  if itemCount==NIL then

    counter = counter + 1;

  else

          ammo = ammo + itemCount;

    counter = counter + 1;

  end

  end

  ammoCountLabel:SetText(ammo);

elseif bagName=="Heavy Leather Ammo Pouch" then

  ammo = 0;

  slots = GetContainerNumSlots(4);

  counter = 0;

 

        for slotIndex = 0, slots do               

  local texture, itemCount, locked, quality, readable = GetContainerItemInfo(4,counter);

 

  if itemCount==NIL then

    counter = counter + 1;

  else

          ammo = ammo + itemCount;

    counter = counter + 1;

  end

  end

  ammoCountLabel:SetText(ammo);

elseif bagName=="Quickdraw Quiver" then

  ammo = 0;

  slots = GetContainerNumSlots(4);

  counter = 0;

 

        for slotIndex = 0, slots do               

  local texture, itemCount, locked, quality, readable = GetContainerItemInfo(4,counter);

 

  if itemCount==NIL then

    counter = counter + 1;

  else

          ammo = ammo + itemCount;

    counter = counter + 1;

  end

  end

  ammoCountLabel:SetText(ammo);

elseif bagName=="Thick Leather Ammo Pouch" then

  ammo = 0;

  slots = GetContainerNumSlots(4);

  counter = 0;

 

        for slotIndex = 0, slots do               

  local texture, itemCount, locked, quality, readable = GetContainerItemInfo(4,counter);

 

  if itemCount==NIL then

    counter = counter + 1;

  else

          ammo = ammo + itemCount;

    counter = counter + 1;

  end

  end

  ammoCountLabel:SetText(ammo);

 

else

  ammoCountLabel:SetText("");

end

 

this:SetMinMaxValues(0, 1);

this:SetValue(0);

this:SetStatusBarColor(red, green, 0.0, 0.75);

 

ammoCountLabel:SetText(ammo);

end

 

 

function ammoCount_OnEvent(event)

  ammoCount_Update();

end

 

 

function ammoCount_OnLoad()

this:SetAlpha(1);

this:RegisterEvent("BAG_UPDATE");

this:RegisterEvent("PLAYER_ALIVE");

end

 

<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/

..\FrameXML\UI.xsd">

<script file="ammoCount.lua"/>

<StatusBar name="ammoCountFrame" toplevel="true" frameStrata="TOOLTIP" enableMouse="true" hidden="false" parent="MainMenuBarArtFrame" inherits="TextStatusBar">

  <Backdrop name="$ammoCountBackdrop" bgFile="Interface\Tooltips\UI-Tooltip-Background" edgeFile="Interface\Tooltips\UI-Tooltip-Border" tile="true">

  <EdgeSize>

    <AbsValue val="1"/>

  </EdgeSize>

  <TileSize>

    <AbsValue val="4"/>

  </TileSize>

  <BackgroundInsets>

    <AbsInset left="8" right="8" top="8" bottom="8"/>

  </BackgroundInsets>

  </Backdrop>

  <Size>

  <AbsDimension y="8"/>

  </Size>

  <Anchors>

  <Anchor point="BOTTOMRIGHT" relativeTo="MainMenuBarBackpackButton" relativePoint="BOTTOMRIGHT"/>

  <Anchor point="BOTTOMLEFT" relativeTo="CharacterBag3Slot" relativePoint="BOTTOMLEFT"/>

 

  </Anchors>

  <Layers>

  <Layer level="ARTWORK">

    <FontString name="ammoCountLabel" inherits="GameFontHighlight" justifyH="LEFT">

    <Anchors>

      <Anchor point="LEFT"/>

    </Anchors>

    </FontString>

  </Layer>

  </Layers>

  <scripts>

  <OnLoad>

    ammoCount_OnLoad();

  </OnLoad>

  <OnEvent>

    ammoCount_OnEvent(event);

  </OnEvent>

  </Scripts>

  <BarTexture file="Interface\TargetingFrame\UI-StatusBar"/>

</StatusBar>

</Ui>

 

og resultatet ble slik:

 

edit: etterat jeg endra det slik at den ikke viser antallet items i bag'en hvis du ikke har ammo/quiver bag på den slot'en, så ble fila "litt" større :p

post-172-1111804215_thumb.jpg

Endret av MrLee
Skrevet (endret)

Den registrerer bare disse quiver/shot bag typene, og bare på den bag slotten som sitter helt mot venstre!!

 

Heavy Quiver

Light Leather Quiver

Medium Quiver

Small shot pouch

Small Leather Ammo Pouch

Heavy Leather Ammo Pouch

Quickdraw Quiver

Thick Leather Ammo Pouch

 

jeg fant ingen andre via thottbot. Hvis det er flere, vennligst si ifra, så kan jeg legge dem til :)

 

Legger for ordens skyld med den ferdige UI mod'en (Sammen med min modifiserte BagGauge) og endrer topic.

 

edit: Merk, vil ikke funke med andre mods som skjuler den originale Mainbar'en..(i.e. denne mod'en vil ikke fungere sammen med Flexbar.. den vises rett og slett ikke..)

UI_Mods_By_Mr_Lee.zip

Endret av MrLee

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...