ID:1791502
 
(See the best response by Lummox JR.)
Code:
MouseDrop(over_object=src,src_location,over_location, src_control,over_control,params)
//Equip
if(src in usr.contents)
if(over_control == "Equipment.Head")//Check if its being DROPPED over the head slot.
if(src.equipslot == "head")
if(!usr.headequipped)
usr.head=src
src.Equip()
src.loc = usr.hiddenlist //send it away so it doesnt show up in the inventory.
usr.Inventory()
usr << output(usr.head, "Equipment.Head") //Output to our head slot grid.
else
usr << "You already have something on your head."


Problem description:

It's recognizing that I'm dropping the item into the slot (I know because the Equip() proc is running and increasing the players stats, but not updating the grid to show the equipment is actually there. I'm just missing something simple i'm sure. But I'm going to lie down for a nap and try again...
What does the Equip() and Inventory() proc contain?
Equip()
if(src in usr)
if(src.equipslot == "head")
if(usr.headequipped == 0)
usr.headequipped = 1
AddStats()
src.equipped = 1
usr << "<b>You equipped the [src.name]."
else
usr << "\red You already have something on your head."



mob/verb/Inventory()
src.client.screen = null //Clear the inventory before generating everything inside.
for(var/Column = 1 to 13) for(var/Row = 1 to 5) //Create a grid composed of 5 columns and 10 rows.
var/Grid/G = new
G.screen_loc = "Inv:[Row],[Column]"
src.client.screen += G
for(var/obj/item/I in src.contents) src.AddItems(I) //Generate the items on slots.
src.InvVisible = 1


I realize there is an efficiency problem with with inventory(), but i don't think that's what's causing the issue
Oh wow. Now I feel really stupid. Fixed it. The issue being that my grids were exactly 32x32 px with a sunken border, so there wasn't enough room to display the icon... was tweaking with the grid element and checked the small icons box. Showed up after that so all I did was set my equipment grids to 38x38 px and poof. the items show up when equipped like they should...
Best response
Two questions:

1) Why do you have separate head and headequipped vars, when you only need the former? If mob.head is not null, then something is equipped there.

2) Why do you have an equipped var for the equipment, when you don't need one at all? All you need to do is check to see if the object's loc is a mob, and if the object is assigned to the right equipment slot for that mob. Having an obj var handle this is asking for trouble.
Had already fixed those issues before i got the grids working :D I've been working alot lately on the efficiency of my coding as my current solo project is more or less a randomly generated sandbox. Cellular Automata was fun to learn. . . but that's a point for another post. I've learned so much and built a system i like so much, I'm thinking about building a demo for the community.