ID:263858
 
Code:
obj
hair
LightHair
icon = 'LightHair.dmi'
icon_state = ""
density = 0
name = ""
layer=MOB_LAYER+10

mob
proc
Hair()
var/new_rgb = F_Color_Selector.Get_Color(usr, icon_color)
if(new_rgb)
var/icon/I = (/obj/hair/LightHair)
I.Blend(new_rgb)
I = new_rgb
usr.overlays = I


Problem description:


When ever i blend the users icon and give it the new rgb setting and give usr his overlay it doesnt work. It just doesnt show the hair on the character anyone know why ??
No put usr in proc. Ever.

and are you using that proc right in new_rgb?
In response to Kaiochao2536
what do you mean ? how would i fix this ? sorry kinda didnt understand your question..
In response to Sasuke_Kun52
Post the Get_Color() proc and what the F_Color_Selector is.
In response to Tubutas
Code:
#define FTCS_Background "#999999"
#define FTCS_Button "#bbbbbb"
#define FTCS_Cancel "#FFFFFF"
#define FTCS_Cancel_Background "#FF0000"
#define FTCS_Layer 1000
#define FTCS_Help_Background "#0000dd"
#define FTCS_Help_Color "#FFFFFF"

var/f_color_selector_handler/F_Color_Selector
world
New()
..()
F_Color_Selector = new()

f_color_selector_handler
var
current_clients[0]
current_selectors[0]



proc
Get_Color(mob/M, default_color = null)
if(ismob(M))
if(!M.client)
world.log << "<b>ERROR:</b> Call to f_color_selector_handler passed mob with no client."
return
var/client/C
if(ismob(M))
C = M.client
else if(istype(M, /client))
C = M
else
world.log << "<b>ERROR:</b> Call to f_color_selector_handler passed invalid value. (Not a client or mob with client.)"
return
if(C in current_clients)
return
current_clients += C
var/f_color_selector/F = new(C, default_color, src)
current_selectors += F
var/color = F.Get_Color(C)
del F
current_clients -= C
return color

f_color_selector
var
f_color_selector_handler/owner
list/pieces = new
R = 0
G = 0
B = 0
current_color
background[0]
obj/FTCS_Object/current_color/Current_Color
obj/FTCS_Object/current_rgb_text/RGB_Text = new
ok_buttons[0]
waiting = TRUE
list/backgroundPieces = new

New(client/C, default_color, f_color_selector_handler/F)
..()
owner = F
Setup(C)
if(default_color)
Current_Color.Update_Color(default_color)
UpdateColorText(default_color, C)
Del()
for(var/V in (ok_buttons + pieces + background + Current_Color + backgroundPieces + RGB_Text))
del V
..()


there..
In response to Sasuke_Kun52
-cough-O.O-cough-

This is wayyyyy over my head.... Lemme try to summon Lummox jr using the usr in proc call!

proc/ULTIMATE_PROC()
usr<<"Hiya"
sleep(5)
usr.ULITMATE_PROC()
In response to Tubutas
It works to change icons like this

Change_My_Color()
var/new_rgb = F_Color_Selector.Get_Color(src, mob_color)
if(new_rgb)
var/icon/I = new('smiley.dmi')
I.Blend(new_rgb)
icon = I
mob_color = new_rgb


how come it wont do the same for overlays ?
You're not creating the icon properly. You should be doing:

var/icon/I = new('LightHair.dmi')


Also, the I = new_rgb line is insane. You just shouldn't have that at all.

Also: you should be doing overlays += I, not overlays = I.
In response to Garthor
thanks gathor :P