ID:2239904
 
(See the best response by Ter13.)
http://prnt.sc/ezymjp
i want to make that the mask is under the hat what should i add i try many thing but nothing work!!
there is the code of the mask.
like you see i try Layer=mob_layer but that not work.

code:
obj
Inventory
Tobi_Mask
icon='Tobi Mask V2.dmi'
//icon_state="1"
layer=MOB_LAYER+10
//mouse_drag_pointer = "1"
name="Akatsuki Leader Mask"
Description="Worn on your face as a mask to cover up your idenity to other players."
Boosts="+15 Defence"
Cost=35
DefBonus=15
Sellable=0


Problem description:

Make the hat MOB_LAYER + 11
I make it the layer like 1000000 and nothing happen
Then make the hat 11 and see if it works, you don't even need mob layer for the mask, as long as its an overlay it will appear over the mob
Oki I will try I talk to you after
That doesnt work i put the mob_layer at 11 and nothing happen i try to remove the mob layer from the mask and that dont work
http://www.byond.com/forum/?post=1613721

The above tutorial is one that I wrote about overlay misconceptions.

You will likely find the answer to what you are asking as well as a bunch more stuff you aren't even aware is a problem yet.
i find nothing on you tutorial im not the best coder!
cant you help me pls!?
Show us where you are adding the hat to the user's overlays.

You've only given us half the problem.

That tutorial is super useful. I wouldn't skip over it. The key problem to your overlays is that you are doing them wrong in the first place. You should be taking advantage of FLOAT_LAYER.
I found this and the second is where i wear the clothes
Maybe that can help

Code:
mob/var/tmp/HairColorStyle
var/const
HAIR_LAYER = FLOAT_LAYER
VEST_LAYER = FLOAT_LAYER-3
SHIRT_LAYER = MOB_LAYER+1
PANTS_LAYER = FLOAT_LAYER-5
SHOES_LAYER = FLOAT_LAYER-6
MASK_LAYER = HAIR_LAYER+2
HEADBAND_LAYER = HAIR_LAYER+1
WEIGHTS_LAYER = FLOAT_LAYER-5
WEAPON_LAYER = MOB_LAYER+3

Code:
            proc/Wear()
if(usr.ClothingOverlays[section])
//usr<<"You already got a set of weights equipped."
return

if(src.section=="Shoes"||src.section=="Vest"||src.section=="Shirt"||src.section=="Pants")
if(usr.ClothingOverlays["Suit"])
usr<<"<B>Remove your current equipped suit to equip this."
return
if(src.section=="Suit")
if(usr.ClothingOverlays["Shirt"]||usr.ClothingOverlays["Vest"]||usr.ClothingOverlays["Pants"]||usr.ClothingOverlays["Shoes"])
usr<<"<B>Please remove all your current equipped clothing to equip a full body suit."
return
C=src
usr.ClothingOverlays[section] = src.icon
usr.ReAddClothing()
src.suffix = "(Equipped)"

usr.speed-=src.SpeedLoss
usr.strength+=src.StrBonus
usr.ninjutsu+=src.NinBonus
usr.genjutsu+=src.GenBonus
usr.agility+=src.AgiBonus
usr.defence+=src.DefBonus

usr.SpeedB+=src.SpeedLoss
usr.TaiB+=src.StrBonus
usr.NinB+=src.NinBonus
usr.GenB+=src.GenBonus
usr.AgiB+=src.AgiBonus
usr.DefB+=src.DefBonus
winset(usr, null, {"
PlayerStatistics.eTai.text = "+
[usr.TaiB]";
PlayerStatistics.eNin.text = "+
[usr.NinB]";
PlayerStatistics.eGen.text = "+
[usr.GenB]";
PlayerStatistics.eAgi.text = "+
[usr.AgiB]";
PlayerStatistics.eDef.text = "+
[usr.DefB]";
PlayerStatistics.eSpeed.text = "-
[usr.SpeedB]";
PlayerStatistics.TaiID.text = "
[usr.strength]";
PlayerStatistics.NinID.text = "
[usr.ninjutsu]";
PlayerStatistics.GenID.text = "
[usr.genjutsu]";
PlayerStatistics.DefID.text = "
[usr.defence]";
PlayerStatistics.AgilID.text = "
[usr.agility]";
"}
)
usr.RefreshInventory()
Best response
mob/var/tmp/HairColorStyle
var/const
HAIR_LAYER = FLOAT_LAYER
VEST_LAYER = FLOAT_LAYER-3
SHIRT_LAYER = MOB_LAYER+1
PANTS_LAYER = FLOAT_LAYER-5
SHOES_LAYER = FLOAT_LAYER-6
MASK_LAYER = HAIR_LAYER+2
HEADBAND_LAYER = HAIR_LAYER+1
WEIGHTS_LAYER = FLOAT_LAYER-5
WEAPON_LAYER = MOB_LAYER+3


This is a hot mess. FLOAT_LAYER is -1. Adding 2 to FLOAT_LAYER makes the MASK sit on layer 1, which is not a floating layer. -1 will always be below layer 0. HEADBAND_LAYER is FLOAT_LAYER+1, or 0. The mask is sitting at MOB_LAYER+1, or 5 (FLY_LAYER).

-2 is below -1, so anything on FLOAT_LAYER-1 will be below anything on FLOAT_LAYER. 0 is always above -1. If you are using FLOAT_LAYER, you really should consider ONLY using FLOAT_LAYER.

http://www.byond.com/forum/?post=1613721

Read the tutorial.
I just found what wrong and now it work well this what i edit
Code:
    ReAddClothing()
//if(src.NineT)
//return
if(src.OneT||src.TwoT||src.ThreeT||src.FourT||src.FiveT||src.SixT||src.SevenT||src.EightT||src.NineT)
//AddSection("Weapon", src.ClothingOverlays["Weapon"])
return
else
src.RemoveAllClothing()
if(src.HairStyle)
if(src.ClothingOverlays["Headband"]=='Hokage Hat.dmi'||src.ClothingOverlays["Headband"]=='Akatsuki Hat.dmi'||src.ClothingOverlays["Headband"]=='Kazekage Hat.dmi'||src.ClothingOverlays["Headband"]=='Mizukage Hat.dmi'||src.ClothingOverlays["Headband"]=='Hoshikage Hat.dmi'||src.ClothingOverlays["Headband"]=='Raikage Hat.dmi'||src.ClothingOverlays["Headband"]=='Otokage Hat.dmi'||src.ClothingOverlays["Headband"]=='Tsuchikage Hat.dmi'||src.ClothingOverlays["Headband"]=='SandJouninHat.dmi'||src.ClothingOverlays["Headband"]=='BetaHood.dmi')
src.NoUseVar=1
else
var/obj/HAIR/H=new
if(!HairColorStyle)
var/icon/I = new(HairStyle)
// H.icon=src.HairStyle
I.Blend(rgb(HairColorRed,HairColorGreen,HairColorBlue),ICON_ADD)
H.icon=I
HairColorStyle=I
H.icon=HairColorStyle
H.layer=src.layer
src.overlays+=H
if(src.jashin)
AddSection("Weapon", src.ClothingOverlays["Weapon"])
AddSection("Shoes", src.ClothingOverlays["Shoes"])
AddSection("Weights", src.ClothingOverlays["Weights"])
AddSection("Pants", src.ClothingOverlays["Pants"])
AddSection("Headband", src.ClothingOverlays["Headband"])
return
else
AddSection("Shoes", src.ClothingOverlays["Shoes"])
AddSection("Weights", src.ClothingOverlays["Weights"])
AddSection("Pants", src.ClothingOverlays["Pants"])
AddSection("Shirt", src.ClothingOverlays["Shirt"])
AddSection("Vest", src.ClothingOverlays["Vest"])
AddSection("Headband", src.ClothingOverlays["Headband"])
AddSection("Mask", src.ClothingOverlays["Mask"])
AddSection("Suit", src.ClothingOverlays["Suit"])
AddSection("Weapon", src.ClothingOverlays["Weapon"])

to
Code:
    ReAddClothing()
//if(src.NineT)
//return
if(src.OneT||src.TwoT||src.ThreeT||src.FourT||src.FiveT||src.SixT||src.SevenT||src.EightT||src.NineT)
//AddSection("Weapon", src.ClothingOverlays["Weapon"])
return
else
src.RemoveAllClothing()
if(src.HairStyle)
if(src.ClothingOverlays["Headband"]=='Hokage Hat.dmi'||src.ClothingOverlays["Headband"]=='Akatsuki Hat.dmi'||src.ClothingOverlays["Headband"]=='Kazekage Hat.dmi'||src.ClothingOverlays["Headband"]=='Mizukage Hat.dmi'||src.ClothingOverlays["Headband"]=='Hoshikage Hat.dmi'||src.ClothingOverlays["Headband"]=='Raikage Hat.dmi'||src.ClothingOverlays["Headband"]=='Otokage Hat.dmi'||src.ClothingOverlays["Headband"]=='Tsuchikage Hat.dmi'||src.ClothingOverlays["Headband"]=='SandJouninHat.dmi'||src.ClothingOverlays["Headband"]=='BetaHood.dmi')
src.NoUseVar=1
else
var/obj/HAIR/H=new
if(!HairColorStyle)
var/icon/I = new(HairStyle)
// H.icon=src.HairStyle
I.Blend(rgb(HairColorRed,HairColorGreen,HairColorBlue),ICON_ADD)
H.icon=I
HairColorStyle=I
H.icon=HairColorStyle
H.layer=src.layer
src.overlays+=H
if(src.jashin)
AddSection("Weapon", src.ClothingOverlays["Weapon"])
AddSection("Shoes", src.ClothingOverlays["Shoes"])
AddSection("Weights", src.ClothingOverlays["Weights"])
AddSection("Pants", src.ClothingOverlays["Pants"])
AddSection("Headband", src.ClothingOverlays["Headband"])
return
else
AddSection("Shoes", src.ClothingOverlays["Shoes"])
AddSection("Pants", src.ClothingOverlays["Pants"])
AddSection("Shirt", src.ClothingOverlays["Shirt"])
AddSection("Vest", src.ClothingOverlays["Vest"])
AddSection("Mask", src.ClothingOverlays["Mask"])
AddSection("Headband", src.ClothingOverlays["Headband"])
AddSection("Sword", src.ClothingOverlays["Sword"])
AddSection("Gloves", src.ClothingOverlays["Gloves"])
AddSection("Suit", src.ClothingOverlays["Suit"])
AddSection("Weapon", src.ClothingOverlays["Weapon"])
AddSection("Weights", src.ClothingOverlays["Weights"])