MrLee Skrevet 26. mars 2005 Skrevet 26. mars 2005 (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) Endret 26. mars 2005 av MrLee
MrLee Skrevet 26. mars 2005 Forfatter Skrevet 26. mars 2005 (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 Endret 26. mars 2005 av MrLee
MrLee Skrevet 26. mars 2005 Forfatter Skrevet 26. mars 2005 (endret) Den registrerer bare disse quiver/shot bag typene, og bare på den bag slotten som sitter helt mot venstre!! Heavy QuiverLight 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 26. mars 2005 av MrLee
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå