Lokai

Moderator
I am having trouble with this one.

I have items in the world that inherit from the "Item" type. I am adding them (constructing them) manually using the [add command. They show up, and the Hue property is set correctly. However, I am trying to make it so that when the player interacts with the object, the Hue gets changed temporarily, then goes back to the regular Hue after a timer expires. This is actually working "programmatically" so to speak. Meaning, my Timer is running properly, and when it expires I can interact with the object again.

The problem I am having is that the Hue of the object does not appear to change. Even if I "[m tele" away and back, the original Hue is still there during the running of the Timer. Here is the strange part: If I use the staff orb to switch back and forth between Player and Owner, then "sometimes" the Hue shows correctly.

I have tried adding "InvalidateProperties()" several places, and nothing seems to be triggering the correct visual change to the item.

Any ideas?
 
You could do this with XMLSpawner, as long as you're not referring to static items like house walls, etc.
You could use a proximity (within 2 tiles), TriggerOnCarried would work as well (if they are carrying a quest item for example). Then you would just have three line entries on two spawners: one to spawn the first item with the original hue with the spawner property set for proximity or whatever. The second line entry would trigger the second spawner and the third line entry would reset the spawner. The second spawner spawns the item with a new hue. Set the spawner property Duration to whatever you want.

PM me if I'm on the right track with what you're wanting.
 
Actually, let me clarify what was happening, and give an update.

I got this working by adding another InvalidateProperties() method call and also a ReleaseWorldPackets() method call in the Timer. I think it is now working. In case anyone is trying to have items dynamicallly shift colors based on interaction with the players, you might need to call ReleaseWorldPackets() to get it to work.
 
Would this work for your house painting system possibly? Maybe with an extended timer for 12 hours or something?
 
No, my house painting was creating an additional item which was positioned in the exact location of a static item such as a house wall. The only way to make it work at one point was to lock it down I think. (Call it "Paint Sealing" or whatever.) I am not sure if recent changes to the Client have made it no longer work, or if something else has happened. It appears now that if you go off screen and then back on, the painted item disappears completely, and if it's locked down, it is no longer movable, so you can't even show that it's there by holding CTRL-SHIFT, like you can when it's movable.
 
I don't want to hijack your thread or anything dude, but what you said there made me wonder about something:

Integrating the Hue Picker into House Customization. Both gumps already exist in the client, so I'd think it would just be a matter of integrating that packet into the House Customization.

Anyway, glad you figured it out ;)
 
Back