RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

XmlSpawner2

ArteGordon

Wanderer
Bane said:
MX=5, max spawns I take it,
SB??
RT= reset timer I take it, what does this do
T0=??
KL=1 take it kills = 1 then

I would like to spawn 5 orcs, when players have killed 5 I would like to spawn 5 ratman, when that is done I would like the spawn to spawn a level1 treasure chest.

I am unsure how to sequence these things. I just clipped and pasted the piece from the xml spawner.


Colors on the spawner,

Looking at your meph champ xml script I noticed that meph is yellow, then 2 dark blues, a couple of purples, then at bottom note is green.

I realize that the groupings are things that spawn together till kill count is reached, but do not understand how to go from grouping to grouping,

Any help would be great, this spawner is awesome, just having a bit of trouble figuring out some of the syntax.

Thanks for posting this.
Its a bit easier to set things up from the gump, but in the xml file MX is the maxcount for the spawn entry, SB is the subgroup number, TO is the reset-to subgroup for sequential spawning (the subgroup that it goes to when the timelimit for the subgroup expires), RT is the reset-time for sequential spawning (the amount of time given to reach the killcount for the subgroup), KL is the kills-needed to advance to the next subgroup in sequential spawning.

To set up your spawning scenario, open up the spawner gump and add a spawn entry for 5 orcs and assign it to subgroup 1, then add an entry for 5 ratmen and assign it to subgroup 2, then add an entry for your treasure chest and assign it to subgroup 3.
If you set the kills needed (Kills) for your orc and ratman subgroups to 5, then players will have to kill 5 orcs in order to advance to the ratman subgroup, and then 5 ratmen to advance to the treasure chest subgroup.
Note, that subgroups are advanced in numerical order (1 followed by 2 followed by 3 etc.)
If you want it to be time limited then set the reset time (Reset) for each subgroup to whatever value in minutes that you want. Then, if the mobs arent cleared in the specified time, the subgroup will go back to the beginning (first subgroup) by default, or to the subgroup specified in the reset-to (To) field if it is set.

Remember to turn on sequential spawning by setting the SequentialSpawn property to zero or greater (it sets the current level of the sequential spawn from which it will start advancing, sort of like the level in champ spawns).
 

jaynigs

Wanderer
Hi arte, there is something that i am trying to do and wanted to know how to do it if possible?

Im using a trigger that checks the target for a value and if true it spawns, but it seems that the spawner will countdown the time even tho it isnt true..

For example, If someone opens a door i want a spawn to appear in 5 mins from the time the door is opened, i set the spawner to activate when door open is true and i set the delay to 5 mins, but it isnt always 5 mins, its usually shorter as the timer had not stopped. so can be anything from 0 - 5 mins. How do i use the external trigger to wait for the value to be true before the spawn timer starts? im guessing it cant be done as the spawner checks the status of the property in the set time and doesnt reset when its found as true.

Thanks in advance for your time..

Jay
 

ArteGordon

Wanderer
sure, happy to help. Still puzzled by your crashing problem. No one has ever reported anything like that and the fact that you only see it on your production and not test shards suggests either an interaction with other custom stuff or a subtle timing or resource issue, but I cant figure out how any of those would relate to the use of the duration timer. A puzzle.
 

ArteGordon

Wanderer
jaynigs said:
Hi arte, there is something that i am trying to do and wanted to know how to do it if possible?

Im using a trigger that checks the target for a value and if true it spawns, but it seems that the spawner will countdown the time even tho it isnt true..

For example, If someone opens a door i want a spawn to appear in 5 mins from the time the door is opened, i set the spawner to activate when door open is true and i set the delay to 5 mins, but it isnt always 5 mins, its usually shorter as the timer had not stopped. so can be anything from 0 - 5 mins. How do i use the external trigger to wait for the value to be true before the spawn timer starts? im guessing it cant be done as the spawner checks the status of the property in the set time and doesnt reset when its found as true.

Thanks in advance for your time..

Jay

You are correct in that the spawner only checks for triggers during its main OnTick routine that is under the control of min/maxdelay so normally there is some variability in trigger times.
You can get precise timing but it takes two spawners. One with the min/maxdelay set to zero configured to trigger on the door opening. With the minimum delay it will detect the door opening event immediately. Have it do a SET/running/true with a second spawner as the set item target, that way the timer on the second spawner will start off fresh and you get exactly your 5 second delay.
The second spawner will actually generates your mobs.
Have the second spawner turn itself off when it is done spawning by adding a SET/running/false and targeting itself as the set item, and subgrouping it with your mobs to make sure it gets executed every spawn.

I'll think about adding an internal polling timer for more precise onset timing when triggering is enabled.
 

ArteGordon

Wanderer
I should qualify that statement about triggering in OnTick. Movement and speech triggering have their own event handlers so they get precisely timed. It is only the item triggering events that dont have separate event handlers that only get triggered OnTick.
 

Darkeyes

Wanderer
ArteGordon, I love your spawner it is working out great. I hope that you keep up the great work. I am hopeing you can help me with a small problem I am having. You see I am trying to clone the triple trapped chest in Blood Dungeon on OSI. I have tried couple differnt ways but its just not working for me. I can get it to be locked once and trapped once but then the other 2 trap do not go off. Would you mind looking at my code and see maybe that I am doing something wrong or maybe it just don't work like that? This last time I put them in the groups to try get it to work. Any help you could lend me I would be very greatful for. Here is what I have in my spawner...

Code:
<?xml version="1.0" standalone="yes"?>
<Spawns>
  <Points>
    <Name>bloodtreasure1</Name>
    <UniqueId>ddc08566-160e-45ee-a1b4-30f8f454f404</UniqueId>
    <Map>Ilshenar</Map>
    <X>32</X>
    <Y>107</Y>
    <Width>10</Width>
    <Height>10</Height>
    <CentreX>2075</CentreX>
    <CentreY>906</CentreY>
    <CentreZ>-23</CentreZ>
    <Range>5</Range>
    <MaxCount>3</MaxCount>
    <MinDelay>5</MinDelay>
    <MaxDelay>10</MaxDelay>
    <DelayInSec>False</DelayInSec>
    <Duration>0</Duration>
    <ProximityRange>-1</ProximityRange>
    <ProximityTriggerSound>500</ProximityTriggerSound>
    <TriggerProbability>1</TriggerProbability>
    <InContainer>True</InContainer>
    <ContainerX>37</ContainerX>
    <ContainerY>112</ContainerY>
    <ContainerZ>0</ContainerZ>
    <MinRefractory>0</MinRefractory>
    <MaxRefractory>0</MaxRefractory>
    <TODStart>0</TODStart>
    <TODEnd>0</TODEnd>
    <TODMode>0</TODMode>
    <KillReset>1</KillReset>
    <ExternalTriggering>False</ExternalTriggering>
    <SequentialSpawning>0</SequentialSpawning>
    <RegionName />
    <Team>0</Team>
    <Amount>1</Amount>
    <IsGroup>False</IsGroup>
    <IsRunning>True</IsRunning>
    <IsHomeRangeRelative>True</IsHomeRangeRelative>
    <Objects2>SET/locked/true/locklevel/60/traptype/explosiontrap/trappower/50:MX=1:SB=1:RT=0:TO=0:KL=0:OBJ=SET/locked/true/locklevel/60/traptype/poisontrap/trappower/50:MX=1:SB=2:RT=0:TO=0:KL=0:OBJ=SET/locked/true/locklevel/60/traptype/poisontrap/trappower/50:MX=1:SB=3:RT=0:TO=0:KL=0</Objects2>
  </Points>
</Spawns>
 

ArteGordon

Wanderer
One thing that the standard trappable container will not allow you to do is to have more than 1 trap go off at a time. It also doesnt support poison traps. I believe there is a more comprehensive trapped container in submissions which you might already be using that includes the poison type.
I recently added a couple of new keywords to the spawner that will be in the next release, including DAMAGE, and POISON. These are designed for exactly this type of situation and will allow the spawner to make more complex traps, including multiple damage type traps.
 

Darkeyes

Wanderer
ArteGordon said:
One thing that the standard trappable container will not allow you to do is to have more than 1 trap go off at a time. It also doesnt support poison traps. I believe there is a more comprehensive trapped container in submissions which you might already be using that includes the poison type.
I recently added a couple of new keywords to the spawner that will be in the next release, including DAMAGE, and POISON. These are designed for exactly this type of situation and will allow the spawner to make more complex traps, including multiple damage type traps.

Yup the trapped container for poison and others is what I am using and works good with your spawner. I was afraid that was going be the answer. Well, at least we may be able do something with your next release. Can't wait to see what it has in it. Thank you for your time and support. One more quick ? if you don't mind. Using your spawner is it possible to make the Dark Guarian room in Doom. Where you walk in and the door locks. The room begins to fill with poison and the Dark Guardians. spawn? I tried to get it to work but i failed :(. Maybe you could get me on the right track about how to do that if its possible. Once again thanks for your time and efforts. I'm sure theres others that are amazed at how great your spawner really is. Keep it up bro... I give it two big fat thumbs up....
 

ArteGordon

Wanderer
well, the poison part would require the new POISON,level[,range] keyword that applies poison either to the triggering mob or to all mobs within the optional range argument.
The door locking and mob spawning and then unlocking after clearing them would be pretty straightforward. I would use sequential spawning. Just have it spawn a SET/locked/true on the door as subgroup 1, then have the guardian spawns as the next subgroup with some kill count requirement, and then have SET/locked/false on the door as the last subgroup. You could set the whole thing up on proximity triggering so that it will run through the sequence as long as players are around.

Of course, you could also use the doom gauntlet script that is in submissions, or wait for the next runuo release that will include it as part of the standard distribution.
 

Kokiru

Wanderer
I am getting 15 errors on compile with this script. Four are for 'XmlQuestToken' and the other 11 are for 'token'. All of the errors are like this.

- Error: Scripts\Custom\XmlSpawner2.cs: CS0246: (line 779, column 36) The type or namespace name 'token' could not be found (are you missing or using a directive or an assembly reference?)

Any ideas? Does it want 'token' as an actual item? I never added any token scripts.
 

Kamron

Knight
This script is too big, and it bogs down my shard too much when I only use the simple features of it. I think you made a mistake making such a huge object.

3 objects at 2MB each for 1 thing is better than 1 object at 10MB for 1 thing.

I have decided to stop using it, and I think others should consider if they really need it or not. Also be reminded that the devs do not encourage the use of this spawner.
 

jaynigs

Wanderer
ArteGordon said:
You are correct in that the spawner only checks for triggers during its main OnTick routine that is under the control of min/maxdelay so normally there is some variability in trigger times.
You can get precise timing but it takes two spawners. One with the min/maxdelay set to zero configured to trigger on the door opening. With the minimum delay it will detect the door opening event immediately. Have it do a SET/running/true with a second spawner as the set item target, that way the timer on the second spawner will start off fresh and you get exactly your 5 second delay.
The second spawner will actually generates your mobs.
Have the second spawner turn itself off when it is done spawning by adding a SET/running/false and targeting itself as the set item, and subgrouping it with your mobs to make sure it gets executed every spawn.

I'll think about adding an internal polling timer for more precise onset timing when triggering is enabled.





Thanks arte, that should do the trick..

also wanted to know how to spawn a moongate with destination properties set. Ive tried Moongate/target/coords and a few varieties but doesnt seem to work.. Any ideas?

Thanks again

Jay
 

ArteGordon

Wanderer
XxSP1DERxX said:
This script is too big, and it bogs down my shard too much when I only use the simple features of it. I think you made a mistake making such a huge object.

3 objects at 2MB each for 1 thing is better than 1 object at 10MB for 1 thing.

I have decided to stop using it, and I think others should consider if they really need it or not. Also be reminded that the devs do not encourage the use of this spawner.
the object size hasnt really changed (its about 140 bytes more than a basic Item class object). The growth has been in the code and the code only gets loaded once. The additional features dont get used for basic spawning and therefore will make no difference in execution load. I've done overall shard load benchmarks as well as execution profiling on the core spawning functions and there isnt really any difference in resource use, either in memory or cpu use between this and the basic disto spawner.
I can repost the test results if you like.
If you have been finding otherwise I would certainly like to know so I can take a look at what might be going on.
 

jaynigs

Wanderer
XxSP1DERxX said:
This script is too big, and it bogs down my shard too much when I only use the simple features of it. I think you made a mistake making such a huge object.

3 objects at 2MB each for 1 thing is better than 1 object at 10MB for 1 thing.

I have decided to stop using it, and I think others should consider if they really need it or not. Also be reminded that the devs do not encourage the use of this spawner.

Total nonsense, it doesnt make the slightest bit of difference to my shard lag or cpu usage wise. The devs dont encourage ANY custom scripts by the sounds of it which is fair enough - use at your own risk. I couldnt do without the spawner, it has all the features i need for advanced spawns which are currently missing from the runuo distro.

Maybe you should actually check before you post untested information.

I should imagine your shard is being bogged down by something else.
 

nix4

Wanderer
Sigh, I don't care what the devs encourage. I can decide for myself what I like and dont like. I have to defend ArteGordon here because I have posted quite a few questions for scripts and I have either been insulted as in the case of Phatom be it justified or not, or ignored. I do get good responses from people for my questions but not like ArteGordon which I have recieved answers and feed back EVERY time I ask.

Don't know why people have to witchhunt when they dont have data to back things up just personal opinions.

Now, I know my shard is running dogged slow..I have almost a fully spawned Trammel and am using about 10-11 custom scripts 2 are high impact (very important) others are featuers..but I wouldnt give up any of them.

Perhaps instead of saying a script bogs down a machine and is no good..how about offering code suggestion changes ?
 

jaynigs

Wanderer
"Now, I know my shard is running dogged slow..I have almost a fully spawned Trammel and am using about 10-11 custom scripts 2 are high impact (very important) others are featuers..but I wouldnt give up any of them."

Just out of interest, what are your server specs? processor, memory etc?

And internet connection upload that server uses and number of players on your shard on average.
 

nix4

Wanderer
1.2 Ghz CPU Windows 2000 Advanced Server
512 MB RAM
DSL

and when I run my shard...I have 10889 mobiles and 106346 items;
Task Manager reports
176,612 K memory usage and 48% CPU usage. With a bit of flux of course...but this is a rough average.

I have done the RangeSensitive Fix and I use;
XMLSpawner
carpet add on
choas/order add on
harvest v1.4
luckmodv132
SpellCrafting
FuryMessenger
motd
and a few custom hirelings and netbooks

Any suggestions?
 

jaynigs

Wanderer
nix4 said:
1.2 Ghz CPU Windows 2000 Advanced Server
512 MB RAM
DSL

and when I run my shard...I have 10889 mobiles and 106346 items;
Task Manager reports
176,612 K memory usage and 48% CPU usage. With a bit of flux of course...but this is a rough average.

I have done the RangeSensitive Fix and I use;
XMLSpawner
carpet add on
choas/order add on
harvest v1.4
luckmodv132
SpellCrafting
FuryMessenger
motd
and a few custom hirelings and netbooks

Any suggestions?

Hi, here is what im running.

Windows XP Pro
AMD Athlon 1800
768mb DDR
Cable 2mb Upload 2mb Download


168,227 items
32,890 Mobiles

Task Manager Reports
248,828 k Memory Usage
Cpu load 0-1%


I have done Rangesensitive Fix
Mobile Target Range Bug Fix
Xmlspawner
Luckmod
MarrsReward System
Fruitmaching Script

A few custom Mobiles and items
 
Top