Full Version : Checking container or area for items?
xmlspawner >>Q&A >>Checking container or area for items?
<< Prev | Next >>
Lord Hog Fred- 01-07-2007
Is it possible for me to make a spawner check a tile or area for specific items or check a container for items contained within it?
So if container X has items Y and Z in it the spawner would spawn item Q.
Or if item Y and Z were present at location X the spawner would spawn item Q.
Thanks ,
ArteGordon- 01-07-2007
The SETONNEARBY keyword lets you set properties or perform actions on nearby items or items in nearby containers.
The GETONNEARBY keyword would be required to check for properties on nearby or container-held items, but it isnt in yet. Probably the next release.
Lord Hog Fred- 01-07-2007
Ah ok, so for the time being can I specify a location for an item to be at to trigger a spawn?
ArteGordon- 01-07-2007
if it is a unique named item, or an item where you know the serial number then you can, otherwise that would still require the GETONNEARBY keyword to test for a type of item at a location.
Lord Hog Fred- 01-07-2007
Ah ok that's cool.
I may just use the GETONCARRIED method instead as it may prove to be easier.
ArteGordon- 01-07-2007
yeah, for now that is probably the easiest way.
Lord Hog Fred- 01-07-2007
Hehe, that's what I thought.
However I can't seem to use GETONCARRIED on a spawn entry, is there a specific way to do this? I don't really want to use the TriggerOnCarried method as I think GETONCARRIED seems a much better way of doing it but I may be wrong.
ArteGordon- 01-07-2007
are you trying to use it with the #CONDITION keyword?
Even without using the TriggerOnCarried you will still need to set it up as a triggered spawner for GETONCARRIED to work.
Lord Hog Fred- 01-07-2007
Ok I wasn't using the #CONDITION keyword, but it still doesn't seem to work.
The code I'm using is:

CODE
#CONDITION GETONCARRIED,,apple,deleted = false;10

Then under subgroup 10:

CODE
banana

The way I thought it should work is that if a player carrying an item and enters the spawn range of the spawner then it would spawn subgroup 33. In this case if the player was carrying an apple it should spawn a banana.
ArteGordon- 01-07-2007
you need a comma after the #CONDITION

QUOTE
#CONDITION,GETONCARRIED,,apple,deleted = false;10

Lord Hog Fred- 01-08-2007
Um, it still doesn't seem to work.
I've set up the #CONDITION keyword and it goes to the next spawn which is to GIVE the player an item, however I want it to then TAKE the items in the players pack but for some reason it's not taking the items.
EDIT: I just checked and it's spawning the GIVE entry irrelecant of whether the #CONDITION entry is met.
ArteGordon- 01-08-2007
post the entry string that you are using.
Lord Hog Fred- 01-08-2007
Ok here it is:
Entry1:

CODE
#CONDITION,GETONCARRIED,,key1,deleted = false && GETONCARRIED,,key2,deleted = false && GETONCARRIED,,key2,deleted = false && GETONCARRIED,,key3,deleted = false && GETONCARRIED,,key4,deleted = false && GETONCARRIED,,key5,deleted = false;10

Entry 10:

CODE
GIVE,BigKey

Entry 10 (a second one):

CODE
TAKEBYTYPE/key1;TAKEBYTYPE/key2;TAKEBYTYPE/key3;TAKEBYTYPE/key4;TAKEBYTYPE/key5;TAKEBYTYPE/key6

ArteGordon- 01-09-2007
use & instead of && in your compound conditions.
and you wouldnt use "; 10" to have subgroup 10 spawned if the condition was true. You would put that #CONDITION line at the beginning of the entry, like
#CONDITION,GETONCARRIED,,key1,deleted = false & GETONCARRIED,,key2,deleted = false & GETONCARRIED,,key2,deleted = false & GETONCARRIED,,key3,deleted = false & GETONCARRIED,,key4,deleted = false & GETONCARRIED,,key5,deleted = false; GIVE, BigKey
Lord Hog Fred- 01-10-2007
Cool thanks, the give works ok now.
But how can I add the TAKEBYTYPE as well? I tried adding

CODE
; GIVE/BigKey; TAKEBYTYPE/key1; TAKEBYTYPE/key2

, etc
But it's still not taking the tiems form the player.