Full Version : Check to see if the spawner is in a container?
xmlspawner >>Q&A >>Check to see if the spawner is in a container?


<< Prev | Next >>

godfood- 01-20-2006
Is there a way to use an IF statement to see if a spawner is contained before it will spawn anything?

sub1:
IF/<GETONTHIS,ISCONTAINED> = true/goto/2/goto/3

Something Like that?

ArteGordon- 01-20-2006
I would try checking for a null parent like

IF/GETONTHIS,Parent!(-null-)/33

where it will spawn subgroup 33 if it is in a container (where the parent is not null).

godfood- 01-20-2006
Ok, I'll try that,
What does the "!" do and why did you use ()? Just so I can understand syntax better.

godfood- 01-20-2006
Ok, i tried that with sequentialspawning=1. It just seems to jump to the end no matter what. I guess I'm missing something.

I need it to go to 2 if it is contained, and go to 30 if it is not contained so it doesn't spawn the items in the world.

ArteGordon- 01-20-2006
QUOTE (godfood @ Jan 20 2006, 07:02 AM)
Ok, I'll try that,
What does the "!" do and why did you use ()? Just so I can understand syntax better.

the '!' is the operator for the 'not equals' test (the other operators are '=<>') and the '(-null-)' is what is actually returned as the value of null properties. The () dont mean anything special, they just happen to be part of the string that is returned by the core properties test methods when a property has a null value. It doesnt have anything to do with xmlspawner in particular.

For example, just try to do a

[xmlget parent

on an object that is sitting in the world and you will see what I mean.

ArteGordon- 01-20-2006
QUOTE (godfood @ Jan 20 2006, 07:20 AM)
Ok, i tried that with sequentialspawning=1. It just seems to jump to the end no matter what. I guess I'm missing something.

I need it to go to 2 if it is contained, and go to 30 if it is not contained so it doesn't spawn the items in the world.

right now you have this test

IF/GETONTHIS,Parent!(-null-)/30

which will go to 30 if it is in a container (parent not equal to null). You wanted it the other way around (go to 30 if it is NOT in a container), so you need

IF/GETONTHIS,Parent=(-null-)/30

(yeah, a bit confusing parent equal null if NOT in a container, parent not equal to null if in container, but that's the way it is).

Also, you have the Clr on advance boxes checked on your entries. This means whenever they advance during sequential spawning, the spawns for that entry will be cleared. You probably want to uncheck those.

(edit)

that utility pack thing is pretty cool. I like the layout with the droppable area in the middle and your tools in the corners.