Completed Auxbox
Moderator: EUO Moderators
Completed Auxbox
As someone who does not understand code in the least, if someone has a fully completed auxbox or can direct one to a compilation of codes that would be awesome!
Regular
Thrall
PD
Azalynn - Retired 1000
Thrall - Retired 1000
Windwalker
Azser
Az
Xentria [LotL]
Thrall
PD
Azalynn - Retired 1000
Thrall - Retired 1000
Windwalker
Azser
Az
Xentria [LotL]
-
- Girls only want boyfriends who have great skills.
- Posts: 704
- Joined: Mon Sep 05, 2005 11:14 am
Re: Completed Auxbox
These ought to give you options. There aren't very many instructions however on how exactly to do it. Those I found asking other players online that were more familiar with it than myself.Chedich wrote: viewtopic.php?f=3&t=4983 - Custom Auxbox Creations
viewtopic.php?f=3&t=5001 - Completed Auxbox Codes
Desmond (AKA: Rurik)
Re: Completed Auxbox
I'm going to be hijacking this thread to finally post my own auxbox, that I've been working on periodically for the past few years! I tried to make it as readable as possible, and it should be rather easy to know where to insert your own functions and stuff. However, it is probably put together really inefficiently, as I've never really looked at a single LUA tutorial in my life. That being said, it'd be nice if someone could look through it.
The main gimmick is that the auxbox was designed for the smallest resolution (800x600), so I only had 13 lines to work with.
Thus, I have multiple pages! Pressing shift-A and shift-Q cycle the auxbox forwards and backwards a page respectively (These can be easily changed if it interferes with keybinds). The five pages I have currently are Spells, XP, Item stock, Misc Info, and LordMortiferus' ASCII map, though adding a 6th page for a DPS counter shouldn't be too difficult. Of course, the ASCII map requires a higher resolution, since it can't be loaded in 13 lines, but it's still nice to have.
For those of you who want to stuff pages upon pages of extra information in your auxbox, hopefully the multiple pages will help. Now you can have enough space to catalog every single item in the game, if you wanted.
I spent way too much time making everything nice and colorful.
The main gimmick is that the auxbox was designed for the smallest resolution (800x600), so I only had 13 lines to work with.
Thus, I have multiple pages! Pressing shift-A and shift-Q cycle the auxbox forwards and backwards a page respectively (These can be easily changed if it interferes with keybinds). The five pages I have currently are Spells, XP, Item stock, Misc Info, and LordMortiferus' ASCII map, though adding a 6th page for a DPS counter shouldn't be too difficult. Of course, the ASCII map requires a higher resolution, since it can't be loaded in 13 lines, but it's still nice to have.
For those of you who want to stuff pages upon pages of extra information in your auxbox, hopefully the multiple pages will help. Now you can have enough space to catalog every single item in the game, if you wanted.
I spent way too much time making everything nice and colorful.
Code: Select all
------------------------------------------------------------------------------------------------
--[[]]--[[]]--[[]]--[[]]--[[]]--[[]]--[[DEFINING VARIABLES]]--[[]]--[[]]--[[]]--[[]]--[[]]--[[]]
------------------------------------------------------------------------------------------------
shiftkeys = {"Shift","Alt","Ctrl+Shift","Shift+Alt","Ctrl+Alt","CtrlAltShift"}
filterTextLines=[[{47F}Filters: Search with /{FFF}
w: weapons W: wearables
s: shields j: jewellry
S: scrolls U: unidentified
p: potions R: reagents
u: usable f: food
G: gems r: ring n: neck
h: head t: body l: legs
b: feet g: hand a: ammo
v: cancel filtering]]
auxbox_next_line = 0 --
session_time = 0 --
sessionstart = os.time() --
current_slide = 0
--[[ Modifiable Variables (Feel free to change these) ]]
next_slide = 65 -- ASCII for the key required to cycle slides forwards (increases slide_counter by 1)
prev_slide = 81 -- ASCII for the key required to cycle slides backwards (decreases slide_counter by 1)
default_slide = 2 -- Initial auxbox slide on startup
number_of_slides = 5 -- Change this if you wish to add a slide
------------------------------------------------------------------------------------------
--[[]]--[[]]--[[]]--[[]]--[[]]--[[]]--[[AUXBOX SETUP]]--[[]]--[[]]--[[]]--[[]]--[[]]--[[]]
------------------------------------------------------------------------------------------
--[[ Auxbox startup and menu slides ]]
function auxbox()
local w=d:auxbox_get_width()
local h=d:auxbox_get_height()
d:auxbox_clear()
auxbox_next_line = 0
if not d:ok_to_draw_play_window() then return; end
local cd=d:get_curr_display()
local mode=d:get_statbox_mode()
local lineNr=0
local txta=explode("\n", filterTextLines)
if cd==1 then
if mode==SELECT_ABILITY then
auxbox_prop_line("Hit F-key to bind")
auxbox_blank_line()
auxbox_ability_binds()
else
for i=1,#txta do
auxbox_prop_line(txta[i])
end
if mode==SELECT_READY then
auxbox_blank_line()
auxbox_prop_line("{47F}Press {6F7}ENTER{47F} to equip")
elseif mode==SELECT_BUY then
auxbox_blank_line()
auxbox_prop_line("{47F}Press {6F7}ENTER{47F} to buy")
elseif mode==SELECT_BANK then
auxbox_prop_line("{47F}Press {6F7}ENTER{47F} to transfer one")
auxbox_prop_line("Press {6F7}Shift+ENTER{47F} for ten")
auxbox_prop_line("Press {6F7}TAB{47F} for whole stack")
end
end
---------------------------------------------------------------------------
--[[ Auxbox silde 1 = Spells and Abilities ]]
elseif current_slide == 0 then
auxbox_time() -- Real World / Session Time
auxbox_prop_line("{FFF}")
local cnt=auxbox_ability_binds()
if cnt==0 then
auxbox_prop_line("None!")
auxbox_blank_line()
auxbox_prop_line("Hit shift-c then F keys")
auxbox_prop_line("to bind.")
end
auxbox_blank_line()
auxbox_blank_line()
auxbox_go_to_line("{47F}01) Spell and Ability Binds", nil, h - 2)
auxbox_go_to_line("<- {4BB}Shift-Q Shift-A{47F} ->", nil, h - 1)
auxbox_slides()
---------------------------------------------------------------------------
--[[ Auxbox slide 2 = XP ]]
elseif current_slide == 1 then
auxbox_time() -- Real World / Session Time
auxbox_prop_line("{6F7}")
ched_xp_init()
auxbox_ched_xppmin() -- Level / Current XP / XP to next level / Last XP gain
auxbox_blank_line()
auxbox_go_to_line("{47F}02) Experience Information", nil, h - 2)
auxbox_go_to_line("<- {4BB}Shift-Q Shift-A{47F} ->", nil, h - 1)
auxbox_slides()
---------------------------------------------------------------------------
--[[ Auxbox slide 3 = Item stock ]]
elseif current_slide == 2 then
auxbox_time() -- Real World / Session Time
auxbox_blank_line()
item_color_indicator(0x16b, 30) --If you add an item here, you must define it in the function, item_color_indicator
item_color_indicator(0x16c, 30)
auxbox_blank_line()
item_color_indicator(0x177, 100)
item_color_indicator(0x41d, 50)
item_color_indicator(0x12b, 50)
item_color_indicator(0x521, 10)
auxbox_blank_line()
auxbox_go_to_line("{47F}03) Item Count Information", nil, h - 2)
auxbox_go_to_line("<- {4BB}Shift-Q Shift-A{47F} ->", nil, h - 1)
auxbox_slides()
---------------------------------------------------------------------------
--[[ Auxbox slide 4 = Extra Statistics ]]
elseif current_slide == 3 then
auxbox_time() -- Real World / Session Time
auxbox_blank_line()
auxbox_prop_line("{47F}HP: {6F7}"..me:get_hp_max().." {47F}MP: {6F7}"..me:get_mana_max(),"{47F}MR: {6F7}"..me:get_magic_resistance())
auxbox_prop_line("{47F}Str: {6F7}"..me:get_str().." {47F}Dex: {6F7}"..me:get_dex().." {47F}Int: {6F7}"..me:get_intel())
character_age()
auxbox_blank_line()
auxbox_prop_line("{47F}Weapon Skill: {FFF}"..wl:get_wep_skill_name(me.weapon))
auxbox_prop_line("{47F}Weapon Type : {FFF}"..wl:get_wep_dmg_str(me.weapon))
auxbox_prop_line("{47F}Weapon Level: {FFF}"..wl:get_min_id_skill(me.weapon).."/100")
--Test Variables: (You can probably remove these)
--testing = wl:is_artifact(me.weapon)
--testing = wl:get_wep_skill_name(me.weapon)
--testing = wl:get_wep_dmg_str(me.weapon)
--testing = wl:is_legit(me.ring1)
--testing = ml:is_aquatic(210)
--testing = wl:is_wearable(me.weapon)
--testing = spells:get_full_spell_name(21)
--testing = nil
--auxbox_prop_line(tostring(testing))
--auxbox_prop_line("{7FF}"..wl:get_full_name(me.weapon))
--auxbox_prop_line("{9BF}"..wl:get_full_name(me.shield))
--auxbox_prop_line("{7FF}"..wl:get_full_name(me.ring1))
--auxbox_prop_line("{9BF}"..wl:get_full_name(me.ring2))
--auxbox_prop_line("{7FF}"..wl:get_full_name(me.amulet))
auxbox_blank_line()
auxbox_prop_line("Forums: forums.swut.net")
auxbox_prop_line("Manual: euotopia.com/manual")
if d:numlock() then
auxbox_prop_line("{FFF}Please turn numlock off!{47F}")
else
auxbox_blank_line()
end
auxbox_blank_line()
auxbox_go_to_line("{47F}04) Stats and Weapon Info", nil, h - 2)
auxbox_go_to_line("<- {4BB}Shift-Q Shift-A{47F} ->", nil, h - 1)
auxbox_slides()
---------------------------------------------------------------------------
--[[ Auxbox slide 5 = LordMortiferus' ASCII MAP (requires higher resolution) ]]
elseif current_slide == 4 then
if h >= 24 then
auxbox_prop_line(auxbox_lm_ascii_map())
auxbox_blank_line()
else
auxbox_prop_line("Cannot load ASCII Map")
auxbox_prop_line("Please Increase Resolution")
auxbox_blank_line()
end
auxbox_go_to_line("{47F}05) ASCII Map", nil, h - 2)
auxbox_go_to_line("<- {4BB}Shift-Q Shift-A{47F} ->", nil, h - 1)
auxbox_slides()
---------------------------------------------------------------------------
--Add an elseif statement to insert slide 6 here
---------------------------------------------------------------------------
--[[ Auxbox Missing Slide (If you see this, lower your number_of_slides variable) ]]
else --
auxbox_prop_line("You are now on slide ", string.format(current_slide + 1))
auxbox_blank_line()
auxbox_prop_line("There is no content here...")
auxbox_blank_line()
auxbox_prop_line("Please set number_of_slides")
auxbox_prop_line("to a lower value.")
auxbox_go_to_line("??) Missing Page", nil, h - 2)
auxbox_go_to_line("<- {4BB}Shift-Q Shift-A{47F} ->", nil, h - 1)
auxbox_slides()
end
end
-----------------------------------------------------------------------------------------
--[[]]--[[]]--[[]]--[[]]--[[]]--[[]]--[[FUNCTIONS]]--[[]]--[[]]--[[]]--[[]]--[[]]--[[]]--
-----------------------------------------------------------------------------------------
--[[ Blank line ]]
function auxbox_blank_line()
auxbox_next_line = auxbox_next_line + 1
end
--[[ Insert line, prop_name is on the left, prop_val is on the right ]]
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
--[[ Go To Line - Speed (Use this to jump to write something on a specific line, and override what would be under it) ]]
function auxbox_go_to_line(prop_name, prop_val, go_to_line)
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(go_to_line, string.format("%s %s %s", prop_name, filler, prop_val))
end
--[[ Insert line with extra filler - Speed (This is to counteract color tags taking up space, sorta hacked together) ]]
prop_extra_filler = 0
function auxbox_prop_extra_filler(prop_name, prop_val, prop_extra_filler)
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) + prop_extra_filler)
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 to round numbers, idp is the decimal place ]]
function round(num , idp)
local mult = 10^(idp or 0)
return math.floor(num * mult + 0.5) / mult
end
---------------------------------------------------------------------------
--[[ Explode ]]
-- from http://lua-users.org/wiki/SplitJoin
function explode(d,p) -- explode(seperator, string)
local t, ll
t={}
ll=0
if(#p == 1) then return p end
while true do
l=string.find(p,d,ll+1,true) -- find the next d in the string
if l~=nil then -- if "not not" found then..
table.insert(t, string.sub(p,ll,l-1)) -- Save it in our array.
ll=l+1 -- save just after where we found it for searching next time.
else
table.insert(t, string.sub(p,ll)) -- Save what's left in our array.
break -- Break at end, as it should be, according to the lua manual.
end
end
return t
end
---------------------------------------------------------------------------
--[[ Gets spell names ]]
function auxbox_ability_binds()
local cnt=0
for i=10,15 do
if me.spell_binds[i]~=-1 then
auxbox_prop_line(shiftkeys[i-9],spells:get_full_spell_name(me.spell_binds[i]))
cnt=cnt+1
end
end
return cnt
end
---------------------------------------------------------------------------
--[[ Real World Time - Duncan (PD) / Zen (Reg) / Brentoboy (forums) ]]
function auxbox_time()
auxbox_prop_line("{47F}Real World Time: {FFF}", 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("{47F}Session time: {FFF}", string.format("%02.f:%02.f:%02.f:%02.f", session_d, session_h, session_m, session_s))
end
end
---------------------------------------------------------------------------
--[[ Automaticly compiled client script for EUO ]]
-- Containing:
-- XP/min by Chedich
-- XP by LordMortiferus 2013/01/28, rehashed by Brentoboy
-- Edited by Speed, so not all of the features still work! I removed parts of the original code, so feel free to replace it with the original.
req_xp = {} -- beginning of XP-array
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 -- end of XP-array
ched_init=true
ched_xp_arr={}
function ched_xp_init()
if ched_init then
if current_level <= 1000 then
xptolvl_float = ((me.xp - req_xp[current_level]))/(req_xp[current_level+1]-req_xp[current_level])
end
ched_xp=me.xp
ched_currentlvl=me.lvl-(me.remort_level*75)
ched_lastxp=0
ched_sessionxp = 0 -- Added by Speed
ched_xp_next_level = 0
ched_lasttick = 0
ched_lastname=me.name
ched_init=false
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
for i=1,600 do
ched_xp_arr[i]=0
end
end
end
function auxbox_ched_xppmin()
if ched_xp<me.xp then
ched_lastxp=me.xp-ched_xp
ched_sessionxp = ched_sessionxp + ched_lastxp
ched_xp=me.xp
end
if ched_init then
return
end
if ched_lastxp == me.xp
or ched_lastname ~= me.name then
ched_init=true
ched_xp_init()
end
if (os.difftime(os.time(), ched_lasttick)>0) then --We need to run this once per second
ched_xp_next_level = (req_xp[(ched_currentlvl+1)]-me.xp)
if ched_xp_next_level < 0 then --To account for non-meditated levels
ched_currentlvl = ched_currentlvl + 1
end
ched_exact_level = ched_currentlvl + (req_xp[ched_currentlvl+1] - req_xp[ched_currentlvl] - ched_xp_next_level) / (req_xp[ched_currentlvl+1] - req_xp[ched_currentlvl])
ched_rounded_exact_level = round(ched_exact_level, 5)
end
auxbox_prop_line("Current Level:", string.format(ched_rounded_exact_level))
auxbox_prop_line("Current XP:", string.format("%d", me.xp))
auxbox_prop_line(string.format("XP for level "..string.format(ched_currentlvl + 1)..":"), req_xp[(ched_currentlvl+1)] - req_xp[(ched_currentlvl)])
auxbox_prop_line("XP to next level:", ched_xp_next_level)
auxbox_blank_line()
auxbox_prop_extra_filler("{AAA}Session XP gain:{BBB}", ched_sessionxp, 9)
auxbox_prop_extra_filler("{AAA}Last XP gain:{FFF}", ched_lastxp, 9)
end
---------------------------------------------------------------------------
--[[ Character Age, Original by LordMortiferus ]]
function character_age()
age_d= math.floor(me.age / 60 / 24)
age_h= math.floor((me.age / 60 / 24 - age_d)*24)
age_m= math.floor(((me.age / 60 / 24 - age_d)*24 - age_h) * 60)
auxbox_prop_line(string.format("{47F}Age: {FFF}"..age_d.."{6F7}d, {FFF}"..age_h.."{6F7}h, {FFF}"..age_m.."{6F7}m"))
end
---------------------------------------------------------------------------
--[[ Item stock color display - Speed ]]
function item_color_indicator(item_code, amt_item)
color_percent = items:get_qty_basecode(item_code) * 16 / amt_item
local color_red= round((16 - color_percent) * 2)
if color_red== 10 then color_red= "A"
elseif color_red < 0 then color_red = 0
elseif color_red == 11 then color_red= "B"
elseif color_red == 12 then color_red= "C"
elseif color_red == 13 then color_red= "D"
elseif color_red == 14 then color_red= "E"
elseif color_red == 15 then color_red= "F"
elseif color_red > 15 then color_red= "F" end
local color_green = round((2 * color_percent))
if color_green == 10 then color_green = "A"
elseif color_green < 0 then color_green = 0
elseif color_green == 11 then color_green = "B"
elseif color_green == 12 then color_green = "C"
elseif color_green == 13 then color_green = "D"
elseif color_green == 14 then color_green = "E"
elseif color_green == 15 then color_green = "F"
elseif color_green > 15 then color_green = "F" end
item_color = ("{"..tostring(color_red)..tostring(color_green).."0}"..items:get_qty_basecode(item_code))
if item_code == 0x16b then --List of known items, to add an item provide the item code
auxbox_prop_line("{FFF}Mega Yellow Potions:", item_color.."/"..amt_item)
elseif item_code == 0x16c then
auxbox_prop_line("{FFF}Mega Blue Potions: ", item_color.."/"..amt_item)
elseif item_code == 0x177 then
auxbox_prop_line("{FFF}Bandages: ", item_color.."/"..amt_item)
elseif item_code == 0x41d then
auxbox_prop_line("{FFF}Blank Scrolls: ", item_color.."/"..amt_item)
elseif item_code == 0x12b then
auxbox_prop_line("{FFF}Bread: ", item_color.."/"..amt_item)
elseif item_code == 0x521 then
auxbox_prop_line("{FFF}Skull Keys: ", item_color.."/"..amt_item)
else
auxbox_prop_line("{F66}Item " .. item_code .. ":", item_color.."/"..amt_item)
end
end
---------------------------------------------------------------------------
--[[ Auxbox slides - Speed ]]
gch=0 -- Reset ASCII input value (gch is the ASCII code for the button pressed)
slide_counter = default_slide - 1
function auxbox_slides()
if gch == next_slide then
slide_counter = slide_counter + 1
elseif gch == prev_slide then
slide_counter = slide_counter - 1
end
gch = 0
current_slide = slide_counter % number_of_slides
end
function auxbox_keypressed(key,ch,scancode)
gch=ch
end
---------------------------------------------------------------------------
--[[ ASCII map for Auxbox - LordMortiferus]]
function auxbox_lm_ascii_map()
local asciimap = {}
local tilexy = 0
-- scan of xy-cords around player
sx=me.x-10
ex=me.x+10
sy=me.y-10
ey=me.y+10
for yy=sy,ey do
for xx=sx,ex do
tilexy = tilexy + 1
-- checks if player is near an edge of a map
if yy < 0 or xx < 0 or yy > cmap:get_max_y() or xx > cmap:get_max_x() then
table.insert (asciimap,tilexy,"{000} ")
elseif yy == me.y and xx == me.x then -- marks the player as a X on the map
table.insert (asciimap,tilexy,"{f00}X")
elseif (cmap:is_mountain(xx,yy)) then
table.insert (asciimap,tilexy,"{888}A")
elseif (cmap:is_forest(xx,yy)) then
table.insert (asciimap,tilexy,"{060}&")
elseif (cmap:is_lava(xx,yy)) then
table.insert (asciimap,tilexy,"{a20}~")
elseif (cmap:is_swamp(xx,yy)) then
table.insert (asciimap,tilexy,"{073},")
elseif (cmap:is_deep_water(xx,yy)) then
table.insert (asciimap,tilexy,"{00f}~")
elseif (cmap:is_void(xx,yy)) then
table.insert (asciimap,tilexy,"{000} ")
elseif (cmap:is_wet(xx,yy)) then
table.insert (asciimap,tilexy,"{05f}~")
elseif tiledata:is_blocking(cmap:get_tile(xx,yy))==true then
table.insert (asciimap,tilexy,"{bbb}A")
else
table.insert (asciimap,tilexy,"{0f0}.") -- for anything that is not defined above but can be seen
end
end
if tilexy == 21 then
tilexy = 0
if yy == sy or yy == ey then
table.insert (asciimap,22," {fff}-10")
elseif yy == sy+5 or yy == sy+15 then
table.insert (asciimap,22," {fff}-5 ")
elseif yy == sy+10 then
table.insert (asciimap,22," {fff}-0 ")
else
table.insert (asciimap,22," ")
end
auxbox_prop_line("", string.format("%s", table.concat(asciimap)))
for i,v in pairs(asciimap) do
asciimap[i]=nil
end
end
end
auxbox_blank_line()
auxbox_prop_line("","{fff}| | | | | ")
auxbox_prop_line("","{fff}10 5 0 5 10 ")
end
You do not have the required permissions to view the files attached to this post.
-Speed(COG) = [Grandmaster Stafffighter idk...]
Re: Completed Auxbox
Absolutely love it. This is exactly what I asked for. Anyone else have completed once? Just getting a pool ans hopefully finding one that is useful to me on all chtacters!
Regular
Thrall
PD
Azalynn - Retired 1000
Thrall - Retired 1000
Windwalker
Azser
Az
Xentria [LotL]
Thrall
PD
Azalynn - Retired 1000
Thrall - Retired 1000
Windwalker
Azser
Az
Xentria [LotL]
Re: Completed Auxbox
it's amazing - I haven't looked at the code, do you want an actual 'code review'? as if i was your supervisor or something LAUGHING OUT LOUD LIKE A MORON
Re: Completed Auxbox
I was annoyed how when you are chatting, and hit capital A, the auxbox page flipped, so with the latest client patch released now (1.3.37) key strokes are ignored by auxbox when chatting (and other things)
auxbox needs a small patch :
where it says
replace with
auxbox needs a small patch :
where it says
Code: Select all
function auxbox_keypressed(key,ch,scancode)
gch=ch
end
Code: Select all
function auxbox_keypressed(key,ch,scancode)
if gc_interface_mode==NORMAL then gch=ch end
end
Re: Completed Auxbox
Thanks XD!
I have limited coding experience, and had a bunch of trouble trying to find out the names of the functions I wanted to use, so small QOL updates like this are greatly appreciated!
I'd still like to make a counter that tracks the # of monsters you've killed within the auxbox (i.e. "red dragon: 300" would appear if you've killed 300 red dragons). The old charts on the armoury pages that were removed due to lag reasons (iirc?), but I'm curious as to whether or not the stats for creature kills are still being tracked.
I have limited coding experience, and had a bunch of trouble trying to find out the names of the functions I wanted to use, so small QOL updates like this are greatly appreciated!
I'd still like to make a counter that tracks the # of monsters you've killed within the auxbox (i.e. "red dragon: 300" would appear if you've killed 300 red dragons). The old charts on the armoury pages that were removed due to lag reasons (iirc?), but I'm curious as to whether or not the stats for creature kills are still being tracked.
-Speed(COG) = [Grandmaster Stafffighter idk...]
Re: Completed Auxbox
the client actually needed a patch to add gc_interface_mode to the api - so nothing for you to do (or have done)!
the old mob kill totals were removed because it was causing lag, due to probably crappy database design
I could revisit it one day, as I've done a fuckload more database design at work since 10 yrs ago when I put that feature in (and removed it)
-
- Girls only want boyfriends who have great skills.
- Posts: 705
- Joined: Wed Dec 13, 2006 11:54 am
Re: Completed Auxbox
It'd be cool if you could login to the armoury and see those stats again. I liked being able to see how many ettins I slaughtered while hunting treasure maps back then.eggmceye wrote: ↑Fri Jan 10, 2020 8:53 amthe client actually needed a patch to add gc_interface_mode to the api - so nothing for you to do (or have done)!
the old mob kill totals were removed because it was causing lag, due to probably crappy database design
I could revisit it one day, as I've done a fuckload more database design at work since 10 yrs ago when I put that feature in (and removed it)
Re: Completed Auxbox
When i reached lvl 1000, this auxbox crashed.
Its work again after tweak:
for i=27,1000 do -- adds XP for lvl 27 to 1000 to array
changed to:
for i=27,1100 do -- adds XP for lvl 27 to 1000 to array
i change it again to
for i=27,1022 do -- adds XP for lvl 27 to 1000 to array
because 2G exp is game limit (calculating to lvl 1021)
Its work again after tweak:
for i=27,1000 do -- adds XP for lvl 27 to 1000 to array
changed to:
for i=27,1100 do -- adds XP for lvl 27 to 1000 to array
i change it again to
for i=27,1022 do -- adds XP for lvl 27 to 1000 to array
because 2G exp is game limit (calculating to lvl 1021)