SphereCommunity
DYE=1 is handed down to other items. - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d)
+--- Forum: Script Help (/Forum-Script-Help)
+--- Thread: DYE=1 is handed down to other items. (/Thread-DYE-1-is-handed-down-to-other-items)



DYE=1 is handed down to other items. - Walrim - 02-12-2014 10:47 AM

At first, sorry for my English. I'm new in this Forum and nearly new in sphere-scripting.

Now my question:

I've got two Items and the first one is handing down to the second.

Code:
[ITEMDEF 01515]
DEFNAME=i_cape
SKILLMAKE=TAILORING 5.0
RESOURCES=14 i_cloth
WEIGHT=5
TYPE=T_CLOTHING
DYE=1
ARMOR=5
CATEGORY=Prov - Kleidung
SUBSECTION=Roben & Umhaenge
DESCRIPTION=Umhang
DUPELIST=01530


ON=@Create
HITPOINTS={11 40 }


[ITEMDEF i_ranger_cloak]
NAME=Tarnumhang der Waldlaeufer
TYPE=31
id=01515
DYE=0
ARMOR=5
REQSTR=15
VALUE={600 700},{6 70}
skillmake=Tailoring 35.0
resources=14 i_cloth
WEIGHT=5

on=@create
COLOR=0592
HITPOINTS={11 40}

When the first one is DYE=0 and the second DYE=1, it's just working fine.
But I want the first one be dyeable and the second not dyeable.
That's not working. It seams, that DYE=1 will be handed down.
When the first item is set to DYE=1 Sphere seems to ignore a DYE=0 for the second item. It is staying DYE=1.

Is this a known problem and is a solution existing?
Or is it only possible to fix it in the dye_tub script.

It isn't a new Server and this is not the only item with this problem, so I can't just swap the items without exchanging them ingame or being killed by the Players.


RE: DYE=1 is handed down to other items. - RanXerox - 02-13-2014 07:34 AM

Try setting DYE=0 in @Create


RE: DYE=1 is handed down to other items. - Walrim - 02-13-2014 08:12 AM

Sadly that doesn't work.

Code:
on=@create
DYE=0
COLOR=0592
HITPOINTS={11 40}

ERROR:(items_klassen.scp,443)Undefined keyword 'DYE'

it seams Sphere doesn't like it.


RE: DYE=1 is handed down to other items. - Pyromapes2k - 02-13-2014 07:53 PM

A few suggestions:

You can check the can_i flags in spheredefs. I think there's one for dye.

Otherwise you can add this somewhere:

[typedef t_dye_vat]

On=@targon_item
If <ARGO.tag0.nodye>==1
Src.sysmessage cannot dye that.
Return 1
Endif


Then set tag.nodye on anything you don't want dyed. Unless DYE is being set right but not working. Then replace the tag in the if statement with DYE itself.


RE: DYE=1 is handed down to other items. - darksun84 - 02-13-2014 08:18 PM

Look like it's a bug, we were discussing the problem in the chat, also theTWOHANDS property suffers the same problem.


RE: DYE=1 is handed down to other items. - Walrim - 02-14-2014 01:39 AM

I hoped it was my fault and not a bug.
Thanks for helping, so I'll fix it with a tag or something like that.