Custom Auxbox Creations

Moderator: EUO Moderators

Post Reply
User avatar
eggmceye
hello
Posts: 10388
Joined: Mon Mar 11, 2002 3:55 pm
Location: Sydney, Australia
Contact:

Re: Custom Auxbox Creations

Post by eggmceye » Tue Sep 15, 2020 8:14 pm

hard to please some people :fp:

Chedich
on lolpatrol
Posts: 253
Joined: Wed Jan 14, 2004 12:51 am

Re: Custom Auxbox Creations

Post by Chedich » Wed Sep 16, 2020 2:58 am

If you used alt+m to set it up in game you probably used the framework I set up. You should be able to find it here on the forums if that's what you want to use.

User avatar
treos
I once posted in TFIOOC!
Posts: 109
Joined: Fri Dec 21, 2012 12:23 am

Re: Custom Auxbox Creations

Post by treos » Wed Sep 16, 2020 3:45 am

Chedich wrote:
Wed Sep 16, 2020 2:58 am
If you used alt+m to set it up in game you probably used the framework I set up. You should be able to find it here on the forums if that's what you want to use.
ty, think i found the right one here. https://forums.swut.net/viewtopic.php?f ... ive#p93872 it works and has the alt+m and other key combos to configure it in-game.

also, egg, my main problem with the other one was that the "config" character file simply wasn't loading even when renaming it to the name of my character and hitting alt+F5 in-game. i don't know what the problem was because i did as you said and renamed the auxbox file to lua and the config file to charactername.lua as well.

chedich's is just easier to config from in-game. (ty for that btw, chedich)

Chedich
on lolpatrol
Posts: 253
Joined: Wed Jan 14, 2004 12:51 am

Re: Custom Auxbox Creations

Post by Chedich » Wed Sep 16, 2020 5:48 am

I think brentoboy's config file was supposed to be renamed to charname.AUX :geek:

User avatar
treos
I once posted in TFIOOC!
Posts: 109
Joined: Fri Dec 21, 2012 12:23 am

Re: Custom Auxbox Creations

Post by treos » Wed Sep 16, 2020 6:00 am

Chedich wrote:
Wed Sep 16, 2020 5:48 am
I think brentoboy's config file was supposed to be renamed to charname.AUX :geek:
:fp: dammit... well, what's done is done and i have chedich's scripts now and they'll work fine for me.

User avatar
Keighn
Stop posting already --;
Posts: 5375
Joined: Sat Jun 26, 2004 10:13 am
Location: Hey.... pssttt Back in Orgeon

Re: Custom Auxbox Creations

Post by Keighn » Wed Sep 16, 2020 6:23 am

MOON_PHASE looks nice.

Code: Select all

-- Start
auxbox_next_line = 0
session_time = 0
sessionstart = os.time()
shiftkeys={"Shift","Alt","Ctrl+Shift","Shift+Alt","Ctrl+Alt","Ctrl+Alt+Shift","RMB","Ctrl+RMB"}
old_build = {   
   me:get_float_str(),
   me:get_float_dex(),
   me:get_float_intel(),
   wl:get_full_name(me.weapon),
   wl:get_full_name(me.shield),
   wl:get_full_name(me.armour),
   wl:get_full_name(me.boots),
   wl:get_full_name(me.gloves),
   wl:get_full_name(me.hat),
   wl:get_full_name(me.trousers),
   wl:get_full_name(me.ring1),
   wl:get_full_name(me.ring2),
   wl:get_full_name(me.amulet),
   wl:get_full_name(me.sigil1),
   wl:get_full_name(me.sigil2),
   wl:get_full_name(me.sigil3)
}
lm_last_dpst = g_dpst       
lm_dmg_log = {}
lm_hit_count = 0
lm_last_xp = me.xp
lm_xp_log = {}
lm_xptime_log = {}
lm_kill_count = 0
lm_dmgt_log = {}
lm_last_dtpst = g_dtpst
-- XP Array
req_xp = {}
req_xp[1] = 0 -- fixed XP value
req_xp[2] = 200 -- fixed XP value
req_xp[26] = 93000 -- fixed XP value
	
for i=3,25 do -- adds XP for lvl 3 to 25 to array
   req_xp[i] = math.floor(req_xp[i-1]+1.2*(req_xp[i-1]-req_xp[i-2]))
end
for i=27,1000 do -- adds XP for lvl 27 to 1000 to array
   req_xp[i] = req_xp[i-1]+(i-26)*1000*4+15000
end
if me.xp >= req_xp[1000] then
   current_level = 1000
else
   for i = 1,999 do -- getting current player level based on array 
      if req_xp[i] <= me.xp and req_xp[i + 1] > me.xp then
         current_level = i
         break
      end
   end
end     
-- Instances
lm_instancemap_log = {}
lm_instance_list = { 
   [54] = "Mino Halls", 
   [55] = "Mino Halls", 
   [56] = "Mino Halls", 
   [57] = "Mino Halls", 
   [58] = "Mino Halls",
   [59] = "Mino Halls", 
   [60] = "Mino Halls", 
   [61] = "Mino Halls",
   [63] = "Mt. Pass", 
   [64] = "Mt. Pass", 
   [65] = "Mt. Pass", 
   [66] = "Mt. Pass",
   [67] = "Pendragon", 
   [68] = "Pendragon", 
   [69] = "Pendragon", 
   [70] = "Pendragon",
   [90] = "KToS",
   [110] = "Wiz Tower", 
   [111] = "Wiz Tower", 
   [112] = "Wiz Tower", 
   [113] = "Wiz Tower", 
   [114] = "Wiz Tower",
   [115] = "Wiz Tower", 
   [116] = "Wiz Tower", 
   [117] = "Wiz Tower",
   [120] = "Tangled", 
   [121] = "Tangled", 
   [122] = "Tangled", 
   [123] = "Tangled", 
   [124] = "Tangled",
   [125] = "Tangled", 
   [126] = "Tangled", 
   [127] = "Tangled", 
   [128] = "Tangled",
   [136] = "Cass Tower", 
   [137] = "Cass Tower",
   [175] = "Rivers End", 
   [176] = "Rivers End", 
   [177] = "Rivers End", 
   [178] = "Rivers End", 
   [179] = "Rivers End",
   [180] = "Rivers End",
   [182] = "VotT", 
   [183] = "VotT", 
   [184] = "VotT", 
   [185] = "VotT", 
   [186] = "VotT",
   [196] = "CoS",
   [230] = "Anathema", 
   [231] = "Anathema", 
   [232] = "Anathema", 
   [233] = "Anathema", 
   [234] = "Anathema",
   [235] = "Anathema", 
   [236] = "Anathema",
   [282] = "Blood Moor"
}
-- -- -- -- -- -- -- -- -- -- --
function auxbox()
   local w=d:auxbox_get_width()
   local h=d:auxbox_get_height()
   auxbox_lm_dpscalc()
   d:auxbox_clear();
   auxbox_next_line = 0
   auxboxfunc()
end

-- Real World Time - Duncan (PD) / Zen (Reg) / Brentoboy (forums)
function auxbox_time()
   auxbox_prop_line("Real World Time:", string.format(os.date("%I:%M%p")))
   if os.difftime(os.time(), sessionstart) > session_time then -- just to reduce the script to every second
      session_time = os.difftime(os.time(), sessionstart)
      session_d_float = session_time / 60 / 60 / 24
      session_d = math.floor(session_d_float)
      session_h = math.floor((session_d_float - session_d)*24)
      session_m = math.floor(((session_d_float - session_d)*24 - session_h) * 60)
      session_s = math.floor((((session_d_float - session_d)*24 - session_h) * 60 - session_m) * 60)
   end    
   if session_d~=nil then
      auxbox_prop_line("Session time:", string.format("%02.f:%02.f:%02.f:%02.f", session_d, session_h, session_m, session_s))   
   end 
end


function auxbox_prop_line(prop_name, prop_val)
   local pvl=0
   if prop_name==nil then prop_name="" end
   if prop_val==nil then prop_val="" end
   local filler = string.rep(" ", 25 - string.len(prop_name) - string.len(prop_val))
   auxbox_next_line = auxbox_next_line + 1
   d:auxbox_set_line(auxbox_next_line, string.format("%s %s %s", prop_name, filler, prop_val))
end


function auxbox_blank_line()
   auxbox_next_line = auxbox_next_line + 1
end


function auxboxfunc()
   auxbox_lm_dpscalc()
   d:auxbox_clear()
   auxbox_time()
   auxbox_blank_line()
   auxbox_strdex()
   auxbox_blank_line()
   auxbox_lm_time()
   auxbox_lm_hits()
   auxbox_lm_kills()
   auxbox_lm_dmg()
   auxbox_lm_dps()
   auxbox_lm_xp_gained()
   auxbox_lm_xppm()
   auxbox_xp()
   auxbox_blank_line()
   auxbox_lm_last4dmg()
   auxbox_blank_line()
   auxbox_lm_last4dmgt()
   auxbox_blank_line()
   auxbox_lm_last4xp()
   auxbox_blank_line()
   auxbox_lm_dynamic_instance_reset()
   auxbox_blank_line()
   -- auxbox_bound_item_basecodes()
   Items_Left()
end


function auxbox_lm_dpscalc ()
   local new_build = {   
      me:get_float_str(),
      me:get_float_dex(),
      me:get_float_intel(),
      wl:get_full_name(me.weapon),
      wl:get_full_name(me.shield),
      wl:get_full_name(me.armour),
      wl:get_full_name(me.boots),
      wl:get_full_name(me.gloves),
      wl:get_full_name(me.hat),
      wl:get_full_name(me.trousers),
      wl:get_full_name(me.ring1),
      wl:get_full_name(me.ring2),
      wl:get_full_name(me.amulet),
      wl:get_full_name(me.sigil1),
      wl:get_full_name(me.sigil2),
      wl:get_full_name(me.sigil3)
   }
   for i=1,#old_build do
        if old_build[i] ~= new_build[i] then
         table.remove (old_build, i)
         table.insert (old_build, i, new_build[i])
         for i,v in pairs(lm_dmg_log) do
            lm_dmg_log[i]=nil
         end
         for i,v in pairs(lm_dmgtime_log) do
            lm_dmgtime_log[i]=nil
         end
         for i,v in pairs(lm_xp_log) do
            lm_dmg_log[i]=nil
         end
         for i,v in pairs(lm_xptime_log) do
            lm_dmgtime_log[i]=nil
         end
         for i,v in pairs(lm_dmgt_log) do
            lm_dmgt_log[i]=nil
         end
         lm_hit_count = 0
         lm_kill_count = 0
      end  
    end
   if lm_hit_count == 0 then
      lm_hunt_start = os.clock()
      lm_last_killtime = os.clock()
      lm_dmg_start = g_dpst
      lm_xp_start = me.xp
      lm_dmgt_start = g_dtpst
   end
   lm_hunt_time = os.clock() - lm_hunt_start  
   lm_total_dmg = g_dpst - lm_dmg_start
   lm_xp_gained = me.xp - lm_xp_start
   lm_total_dmgt = g_dtpst - lm_dmgt_start
   local lm_dmg_dif
    if lm_last_dpst ~= g_dpst then
      lm_dmg_dif = g_dpst - lm_last_dpst
      table.insert(lm_dmg_log, 1, lm_dmg_dif)
      lm_last_dpst = g_dpst
      lm_hit_count = lm_hit_count + 1
   end
   local lm_dmgt_dif
   if lm_last_dtpst ~= g_dtpst then
      lm_dmgt_dif = g_dtpst - lm_last_dtpst
      table.insert(lm_dmgt_log, 1, lm_dmgt_dif)
      lm_last_dtpst = g_dtpst
   end    
   local lm_xptime_dif
   local lm_xp_dif
   if lm_last_xp ~= me.xp and lm_hit_count >= 1 then
      lm_kill_count = lm_kill_count + 1
      lm_xptime_dif = os.clock() - lm_last_killtime
      table.insert(lm_xptime_log, 1, lm_xptime_dif)
      lm_last_killtime = os.clock()
      lm_xp_dif = me.xp - lm_last_xp
      table.insert(lm_xp_log, 1, lm_xp_dif)
      lm_last_xp = me.xp   
   end    
   local lm_xptime_count = 0
   lm_xptime_sum = 0  
    if lm_xptime_log[1] ~= nil then
        for i,v in pairs(lm_xptime_log) do
            if type(v) == 'number' then
            lm_xptime_sum = lm_xptime_sum + v
            lm_xptime_count = lm_xptime_count + 1
            if lm_xptime_count >= 500 then
               table.remove(lm_xptime_log, 500)
            end
         end
      end
    end
   local lm_xp_count = 0
   lm_xp_sum = 0
    if lm_xp_log[1] ~= nil then
        for i,v in pairs(lm_xp_log) do
            if type(v) == 'number' then
            lm_xp_sum = lm_xp_sum + v
            lm_xp_count = lm_xp_count + 1
            if lm_xp_count >= 500 then
               table.remove(lm_xp_log, 500)
            end
            end
        end
    end
end


function auxbox_lm_hits()
   auxbox_prop_line("Total Hits  :", string.format("%d",lm_hit_count))
end


function auxbox_lm_time()
   h = math.floor(lm_hunt_time / 60 / 60)
   m = math.floor((lm_hunt_time / 60 / 60 - h) * 60)
   s = math.floor(((lm_hunt_time / 60 / 60 - h) * 60 - m) * 60)
   auxbox_prop_line("Total Time  :", string.format("%02.f:%02.f:%02.f", h, m, s))
end


function auxbox_lm_dmg()
   auxbox_prop_line("Total Dmg   :", string.format("%d",lm_total_dmg))
end


function auxbox_lm_dps()
   if lm_hunt_time == 0 then
   auxbox_prop_line("Total Dps   :", 0)
   else
   auxbox_prop_line("Total Dps   :", string.format("%d", lm_total_dmg/lm_hunt_time))
   end
end


function auxbox_lm_last4dmg()
   local hit1, hit2, hit3, hit4
   if lm_dmg_log[1] ~= nill then hit1 = lm_dmg_log[1] else hit1 = 0 end
   if lm_dmg_log[2] ~= nill then hit2 = lm_dmg_log[2] else hit2 = 0 end
   if lm_dmg_log[3] ~= nill then hit3 = lm_dmg_log[3] else hit3 = 0 end
   if lm_dmg_log[4] ~= nill then hit4 = lm_dmg_log[4] else hit4 = 0 end
   auxbox_prop_line("Last Few Hits:", "")
   auxbox_prop_line(string.format("%4.f  %4.f  %4.f  %4.f", hit4, hit3, hit2, hit1))
end


function auxbox_lm_last4dmgt()
   local hit1, hit2, hit3, hit4
   if lm_dmgt_log[1] ~= nill then hit1 = lm_dmgt_log[1] else hit1 = 0 end
   if lm_dmgt_log[2] ~= nill then hit2 = lm_dmgt_log[2] else hit2 = 0 end
   if lm_dmgt_log[3] ~= nill then hit3 = lm_dmgt_log[3] else hit3 = 0 end
   if lm_dmgt_log[4] ~= nill then hit4 = lm_dmgt_log[4] else hit4 = 0 end
   auxbox_prop_line("Last 4 hits taken:")
   auxbox_prop_line(string.format("%4.f  %4.f  %4.f  %4.f", hit4, hit3, hit2, hit1))
end


function auxbox_lm_kills()
   auxbox_prop_line("Total Kills :", string.format("%d", lm_kill_count))
end


function auxbox_lm_xp_gained()
   auxbox_prop_line("Total XP    :", string.format("%d", lm_xp_gained))
end


function auxbox_lm_xppm()
   if lm_hunt_time == 0 then
      auxbox_prop_line("Total XP/min:", string.format("%d", 0))
   else
      auxbox_prop_line("Total XP/min:", string.format("%d", lm_xp_gained / lm_hunt_time * 60))
   end
end 


function auxbox_lm_last4xp()
   local kill1, kill2, kill3, kill4
   if lm_xp_log[1] ~= nill then kill1 = lm_xp_log[1] else kill1 = 0 end
   if lm_xp_log[2] ~= nill then kill2 = lm_xp_log[2] else kill2 = 0 end
   if lm_xp_log[3] ~= nill then kill3 = lm_xp_log[3] else kill3 = 0 end
   if lm_xp_log[4] ~= nill then kill4 = lm_xp_log[4] else kill4 = 0 end
   auxbox_prop_line("Last 4 kills:")
   auxbox_prop_line(string.format("%4.f  %4.f  %4.f  %4.f", kill4, kill3, kill2, kill1))
end


function auxbox_xp()
   if me.xp >= req_xp[1000] then
   current_level = 1000
   else
      for i = 1,999 do -- getting current player level based on array 
         if req_xp[i] <= me.xp and req_xp[i + 1] > me.xp then
            current_level = i
            break
         end
      end
   end
   if current_level <= 1000 then
      local xptolvl_float = ((me.xp - req_xp[current_level]))/(req_xp[current_level+1]-req_xp[current_level]) -- % needed for next level
      local lvl_float = current_level + me.remort_level * 75 + xptolvl_float -- combines actual lvl with the % needed for next lvl
      -- checks if player leveled or remorted
      if xptolvl_float >= 1 or xptolvl_float < 0 then
         for i = 1,999 do
            if req_xp[i] <= me.xp and req_xp[i + 1] > me.xp then
               current_level = i
               break
            end
         end
      end
      local xptolvl = req_xp[current_level+1] - me.xp
        auxbox_prop_line("Level" ,string.format("%f",lvl_float))
      auxbox_prop_line("Current XP", string.format("%d", me.xp))
      auxbox_prop_line("Before Level", string.format("%d", xptolvl))
   end
end


function auxbox_strdex()
   local strpct = (me:get_str()/(me:get_str()+me:get_dex())*100)
   local dexpct = (me:get_dex()/(me:get_str()+me:get_dex())*100)
   auxbox_prop_line("Str : Dex", string.format("%.2f : %.2f",strpct,dexpct))
end


function Items_Left()
   auxbox_prop_line("Items Left")
   auxbox_prop_line("Mega Yellows :        ", items:get_qty_basecode(363))
   auxbox_prop_line("Other Yellows:--------", items:get_qty_basecode(260))
   auxbox_prop_line("Purple Pots  :        ", items:get_qty_basecode(360))
   auxbox_prop_line("Omelettes    :--------", items:get_qty_basecode(1380))
   auxbox_prop_line("Dragon Rats  :        ", items:get_qty_basecode(1399))
   auxbox_prop_line("Greater      :--------", items:get_qty_basecode(12))
   auxbox_prop_line("Protect      :        ", items:get_qty_basecode(1297))
   auxbox_prop_line("Sanct Lor    :--------", items:get_qty(make_code(286,0,0,18)))
   auxbox_prop_line("Kal Ort Por  :        ", items:get_qty(make_code(286,0,0,13)))
   auxbox_prop_line("Town Portal  :--------", items:get_qty_basecode(293))
   auxbox_prop_line("Bandages     :        ", items:get_qty_basecode(375))
   auxbox_prop_line("Empty Flasks :--------", items:get_qty_basecode(335))
   auxbox_prop_line("Blank Scroll :        ", items:get_qty_basecode(1053))
   auxbox_prop_line("Beverages    :--------", items:get_qty_basecode(205))
   -- auxbox_prop_line("Mega Blue Potions:", items:get_qty_basecode(364))
   -- auxbox_prop_line("Blue Potions:", items:get_qty_basecode(261))
   -- auxbox_prop_line("Brown Potions:", items:get_qty_basecode(358))
   -- auxbox_prop_line("Khaki Potions:", items:get_qty_basecode(380))
   -- auxbox_prop_line("White Potions:", items:get_qty_basecode(354))
   -- auxbox_prop_line("Cyan Potions:", items:get_qty_basecode(356))
   -- auxbox_prop_line("Orange Potions:", items:get_qty_basecode(355))
   -- auxbox_prop_line("Scroll of Health:", items:get_qty_basecode(1298))
   -- auxbox_prop_line("Black Potions:", items:get_qty_basecode(352))
   -- auxbox_prop_line("Arrows:", items:get_qty_basecode(296))
   -- auxbox_prop_line("Bullets:", items:get_qty_basecode(1294))
   -- auxbox_prop_line("Soul Shards:", items:get_qty_basecode(1283))
   -- auxbox_prop_line("Clear Potions :", items:get_qty_basecode(359))
   -- auxbox_prop_line("Lime Potions:", items:get_qty_basecode(357))
   -- auxbox_prop_line("Green Potions:", items:get_qty_basecode(353))
   -- auxbox_prop_line("Black Potions:", items:get_qty_basecode(352))
   -- auxbox_prop_line("Black Pearl:", items:get_qty_basecode(326))
   -- auxbox_prop_line("Garlic :", items:get_qty_basecode(328))
   -- auxbox_prop_line("Ginseng :", items:get_qty_basecode(329))
   -- auxbox_prop_line("Nightshade:", items:get_qty_basecode(331))
    -- auxbox_prop_line("Refined Scroll Health:", items:get_qty_basecode(323))
    -- auxbox_prop_line("Uncurse Scroll", items:get_qty_basecode(315))
   -- auxbox_prop_line("Unweld Scroll", items:get_qty_basecode(314))
   -- auxbox_prop_line("Grappling Hook", items:get_qty_basecode(313))
   -- auxbox_prop_line("Red Potion", items:get_qty_basecode(263))
end


function auxbox_lm_dynamic_instance_reset()
   if cmap:get_level() ~= me.map_level and cmap:get_level() >= 0 then
      if lm_instance_list[cmap:get_level()] ~= nil then
         lm_parentmap = lm_instance_list[cmap:get_level()]
      else lm_parentmap = cmap:get_level()
      end
      lm_tempmap = me.map_level
      lm_instance_visited = 1
      lm_instance_exit = os.time()
   end 
   if cmap:get_level() == me.map_level and lm_instance_visited == 1 then
      lm_instance_visited = 0  
      lm_instancemap_log[lm_parentmap] = lm_instance_exit
   end
   local lm_instance_reset = 0
   for i, v in pairs(lm_instancemap_log) do
      lm_instance_reset = 600 - (os.time() - v) 
      local m = math.floor(lm_instance_reset / 60)
      local s = math.floor((lm_instance_reset / 60 - m) * 60) 
      auxbox_prop_line(string.format("%s resets in",i),string.format("%02.f:%02.f", m, s))     
      if lm_instance_reset <= 0 then
         lm_instancemap_log[i] = nil
      end
   end
end

-- Bound Item Quantities(modified to show basecodes)  - Duncan (PD) / Zen (Reg) / Brentoboy (forums)
function auxbox_bound_item_basecodes()
   local item
   local name
   for i = 1, 50 do   
      item = me.item_binds[i]
      name = wl:get_full_name(item)  
      if item and not wl:is_tool(item) and name ~= "NOTHING" then   
         auxbox_prop_line(name, get_base_code(item))
      end
   end
end
Ok, I really don't know how messed up this is. (lvl 1k alts at max xp just blank out most of the data so I have no idea how to fix that). I also tried to insert the moon_phase thing just under time and it just blanked out the who thing. Code hates me. Not sure whta all is useful to be honest that others utilize that I might find cool.

This is simple called auxbox.lua in clientscripts folder. (naturally I save a copy of the one that works).
ZUPS!!!!

Post Reply