ID:140663
 
Code:
        inventory(var/A)
src._i = 1
src._i01 = 1
src.client.screen += new /obj/item/_001
src.client.screen += new /obj/item/_002
src.client.screen += new /obj/item/_003
src.client.screen += new /obj/item/_004
src.client.screen += new /obj/item/_005
src.client.screen += new /obj/item/_006
src.client.screen += new /obj/item/_007
src.client.screen += new /obj/item/_008
src.client.screen += new /obj/item/_009
src._in = 0
src._menu = 0
var/list/L = new
var/X = 18
for(var/obj/O in src.contents)
L.Add(O)
if(!L.len || L.len <= 0)
return 0
var/obj/a = new /obj/pointer/_i
if(!A)
a.screen_loc = "3,11"
else
a.screen_loc = A
src.client.screen += a
while(X > 0)
if(L.len < X)
X--
else
if(L[X])
var/obj/b = findname(L[X])
var/obj/x = new b
var/s_x = "[X%2 ? 5 : 13]"
var/s_y = "[12 - round(X)/2]"
x.screen_loc = "[s_x],[s_y]"
src.client.screen += x
// item_count(L[X],s_x,s_y)
X--


Problem description:

Several years ago Lummox JR and JP helped me with the code you see above, then I spent several years away from byond. I have now returned I present you the code above in it's untouched form.

The problem with it is as follows.

In previous versions of Byond the preceding code would display the inventory correctly, now however it refuses to display the left had side of my inventory, the items are there and can be manipulated as normal, however this can cause problems for players. I now present you with graphic evidence of said problem.

http://files.byondhome.com/Madcrackfiend/ Final%20Frailties%20Multi%20Player%202009-10-18%20230048.png
Digging up the post from back then, doesn't look like I actually helped much. But I think I've got an inkling of what's going on nowadays:

What happens if you change
var/s_y = "[12 - round(X)/2]"


to

var/s_y = "[12 - round(X/2)]"

In response to Jp
Thanks for being so awesome.