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

Quantos

Lord
amon2 said:
i installed it and all i got was error after error .....is there anything i can do to get it working?

You actually need to post the errors that you get. My crystal ball isn't working at the moment, and you are a little far away for me to look over your shoulder.
 

ainis

Wanderer
[Feature Request]

I kindly ask you to insert a feature:

RNDSAY,probability,delayinseconds/text1/text2/text3/text4/textN/ENDSAY
every delayinseconds with 1/probability he say one of the text

ATTACKSAY,probability,delayinseconds/text1/text2/text3/text4/textN/ENDSAY
when the mob is attacking, he randomly say one of text

FLEESAY,probability,delayinseconds/text1/text2/text3/text4/textN/ENDSAY
when the mob is fleeing, he randomly say one of text


I'm also thinking how to add the possibility to let 2 npc "talkink" each other, simulating a real interaction. For example they could read their "roles" from a file.
 

ArteGordon

Wanderer
ainis said:
I kindly ask you to insert a feature:

RNDSAY,probability,delayinseconds/text1/text2/text3/text4/textN/ENDSAY
every delayinseconds with 1/probability he say one of the text

ATTACKSAY,probability,delayinseconds/text1/text2/text3/text4/textN/ENDSAY
when the mob is attacking, he randomly say one of text

FLEESAY,probability,delayinseconds/text1/text2/text3/text4/textN/ENDSAY
when the mob is fleeing, he randomly say one of text


I'm also thinking how to add the possibility to let 2 npc "talkink" each other, simulating a real interaction. For example they could read their "roles" from a file.

These can already be done.

For an example of interacting npc's see the whosonfirst.xml example that use the XmlDialog attachment. It reads their "roles" from .npc files which specify dialog, keywords that trigger the dialog, and whether or not you want to respond to other npcs or just to players, as well as a number of other options, such as actions you can take on dialog, testing for properties during dialog (like how intelligent or strong someone is)

The talking example can be accomplished in several ways. You could use the XmlDialog attachment again, and just specify random banter that doesnt have to be speech triggered (see some of the examples drake.npc which probably does exactly what you are talking about)

The talk-while-attacking idea can also be accomplished with the XmlDialog attachment. Just set up the same random banter (like in drake.npc), and for the dialog entries that you want to say specifically during combat, add in a "warmode=true" condition. You could even have special dialog for when they are hurt by setting the condition "hits<30".

You can also accomplish these things with spawners. The difference is that they would trigger in proximity to the spawner, not the mob. There are examples of this included (like masterhelper.xml, rovingband.xml, and a few others).

Note, the SAY keyword already takes a probability argument, so "SAY,0.1/Hello there" would produce the message 10% of the time.

SAY,0.1/Hello there/SAY,0.1/friend/SAY,0.1/fool

would produce random combinations of the three terms since each would have a 10% chance

(edit)

note, this is the old thread. The current thread with the current version can be found here

http://www.runuo.com/forum/showthread.php?t=49901
 

CEO

Sorceror
/begin obligatory suckup before question

This is one powerful spawner system! Thank you very much Arte! I saw a post earlier where someone wanted less commands, I wholeheartly disagree! I'd rather have the "power" and ability to do something vs. simplification. Anyways, you've done a great job here and much appreciated.

/end

Of course the question(s) now.

1) I've gotten great use out of the sequential spawn feature, creating my own champ-like spawns. However, I noticed when the spawner transistion from one sequence to the next, all the mobiles are removed from the current sequence before going to the next. This makes for an abrupt transition. Is there a way to leave the current mobiles in play so the transition isn't so abrupt?

2) When I bring out my "champ" I want to also leave out other creates, but since my "kill" value is 1, killing anything in that sequence completes it. I guess I could have a trigger spawner next to the existing one that is activated when the "champ" is seen?

3)When my camp is killed I want to simulate a gold drop and then deactivate the spawner entirely so that spawn delay kicks in.

I'm sure 2 and 3 are probably possible, but with my limited don't readily see how. The phasing in of sequences though is probably a new option maybe?

Anyways, thanks for the great work.
 

ArteGordon

Wanderer
CEO said:
/begin obligatory suckup before question

This is one powerful spawner system! Thank you very much Arte! I saw a post earlier where someone wanted less commands, I wholeheartly disagree! I'd rather have the "power" and ability to do something vs. simplification. Anyways, you've done a great job here and much appreciated.

/end

Of course the question(s) now.

1) I've gotten great use out of the sequential spawn feature, creating my own champ-like spawns. However, I noticed when the spawner transistion from one sequence to the next, all the mobiles are removed from the current sequence before going to the next. This makes for an abrupt transition. Is there a way to leave the current mobiles in play so the transition isn't so abrupt?

2) When I bring out my "champ" I want to also leave out other creates, but since my "kill" value is 1, killing anything in that sequence completes it. I guess I could have a trigger spawner next to the existing one that is activated when the "champ" is seen?

3)When my camp is killed I want to simulate a gold drop and then deactivate the spawner entirely so that spawn delay kicks in.

I'm sure 2 and 3 are probably possible, but with my limited don't readily see how. The phasing in of sequences though is probably a new option maybe?

Anyways, thanks for the great work.
lol, maybe there should just be a standard boilerplate that people could refer to.

About point 1. It is by design with the primary motivation being to prevent the mobs from a lower level from being used to add to the killcount of the next level. You can find this in the Advancesequential() method in xmlspawner2.cs around line 6530

Code:
// clear the spawns if there is a killcoun on the level
                if(killsneeded > 0)
                {
                    RemoveSpawnObjects();
                    clearedobjects = true;
                }
Just comment out the RemoveSpawnObjects call and now there will be no mob removal on transition, but again, players will still get kill credits for killing the lingering mobs from the previous level.
I may think about adding in some subgroup checks to restrict kill credits to mobs on the current level. That way you could leave the lingerers but only get credit for kills of mobs on the current level. Good idea.

About point 2, the triggering strategy you mentioned is the way to do it, although if I were to get the subgroup level restriction on kill counts in, it would be easy to do without requiring another spawner. (another good reason to think about that).

To do using a second spawner with your extra mobs that you want triggered when your champ appears, make the second spawner and set its TriggerObject property to point to the champ spawner. Set the TriggerObjectProperty property to "GETONSPAWN,ChampSpawnername,ChampSpawnGroup,COUNT=1"
where you would substitute the actual name of the champ spawner and the actual subgroup number of the champ for those placeholders. (note, COUNT refers to the current Count value for all spawns on that subgroup which will be 1 when your champ spawns. You could also test for >0 for example if you wanted to have more than 1 champ).
Then just set up whatever you want to spawn, min/maxdelays, etc. on the triggering spawner.

About point 3, I'm not exactly sure what the condition is that corresponds to "killing your camp". Do you mean after your champ and all secondary spawns (from your other spawner) are killed?
 

Lumberman

Wanderer
Hello Arte,

I like your tools. I constantly updated this to my shard. But now I have a little problem with your actual XMLSPawner. I have searched but not found anything.

I have added one xmlspawner in the top story of the Pyramid to spawn one Sphynx. But the Sphynx spawn in the lowest possible Story of the Pyramid. How can I customize or corrected this problem with XMLSpawner? At workaround I use the normal spawner. Therefore the Sphynx spawned in the top story.

We use RunUO 1.0.

Have you an idea?

Many thanks to you!

Lumberman
 

ArteGordon

Wanderer
Lumberman said:
Hello Arte,

I like your tools. I constantly updated this to my shard. But now I have a little problem with your actual XMLSPawner. I have searched but not found anything.

I have added one xmlspawner in the top story of the Pyramid to spawn one Sphynx. But the Sphynx spawn in the lowest possible Story of the Pyramid. How can I customize or corrected this problem with XMLSpawner? At workaround I use the normal spawner. Therefore the Sphynx spawned in the top story.

We use RunUO 1.0.

Have you an idea?

Many thanks to you!

Lumberman
interesting. I'll have to check out that spot. This arises when the spawner thinks that the location that you have selected for spawning is not a valid surface for that object. You can override that by putting a * in front of the spawn entry. So spawn it as

*sphynx

and it should work.
This is most often used for spawning mobs in water, or items on multistory stacked tiles (e.g. second floor tables).
 

Lumberman

Wanderer
Arte ok, many thanks to you. The Asteriks work fine and I have learned more from your genius Spawner!

I have tested the pyramid a bit more. The building has many tiles, where you fall in an lower story, if you are GM and can self move to that location. I think, the Sphynx is spawned at this locations...

But now it work. I have find a location in the top story, where die Sphynx is spawned constantly how I wont.

Lumberman
 

catsparkle

Wanderer
proptest

Hi Arte, I am thoroughly enjoying making quests with this system. Can't imagine how many hours of work you have put into it.

I was wondering if you could give me some guidance on the correct syntax for the proptest argument. I am making a collection quest, for part of which the player must collect 20 heater shields, but I want to require that they be made from gold ingots (- it's a crafting quest.) I have tried several options, but so far no luck:

COLLECT,heatershield,20,Resource?????

I'm sure it's something simple I'm missing. If any of the demo quests use this argument, feel free to point me to them. :)

Thanks!
Cat
 

ArteGordon

Wanderer
catsparkle said:
Hi Arte, I am thoroughly enjoying making quests with this system. Can't imagine how many hours of work you have put into it.

I was wondering if you could give me some guidance on the correct syntax for the proptest argument. I am making a collection quest, for part of which the player must collect 20 heater shields, but I want to require that they be made from gold ingots (- it's a crafting quest.) I have tried several options, but so far no luck:

COLLECT,heatershield,20,Resource?????

I'm sure it's something simple I'm missing. If any of the demo quests use this argument, feel free to point me to them. :)

Thanks!
Cat

COLLECT,heatershield,20,Resource=#Gold

should do it. The # in front of the Gold indicates that you want to test against the enum named Gold instead of the variable named Gold.

this is from xmlspawner2.txt on the subject

- added support for conditional testing of enum type property values by using the # modifier (e.g. resource=#Iron or planthue=#Blue or loyalty!#WonderfullyHappy, where resource, planthue, and loyalty are all enum type properties and Iron, Blue, and WonderfullyHappy are values that they can take on).
At the present, the enum tests are restricted to equals and not equals (= and !). I'll add < and > later.

(the <> tests are still not in :) I never really seemed to need them so they keep moving down on the list)

btw, this is the old thread...
 

catsparkle

Wanderer
ArteGordon said:
COLLECT,heatershield,20,Resource=#Gold

should do it. The # in front of the Gold indicates that you want to test against the enum named Gold instead of the variable named Gold.

this is from xmlspawner2.txt on the subject



(the <> tests are still not in :) I never really seemed to need them so they keep moving down on the list)

btw, this is the old thread...


Ah, that's what I was I missing. Thank you for your (as usual) fast and informative respone! :)

*edited to smack myself in the head for posting in the wrong thread lol*

Cat!
 

Jueletha

Wanderer
links don't work

ArteGordon said:
note, this is the old thread. The current thread with the current version can be found here

http://www.runuo.com/forum/showthread.php?t=49901


Hello! Thanks for all your great information on the xml spawner. . .I am having a problem with the links on the forums, like the one you put above, it takes me to the front page where I get nowhere. I'd love to see the newest info on the spawner but can't get there. I also need to download the original xml spawner since putting just the xml spawner2 on my test shard didn't work.

You have so much information on the spawner, and there is SO much here to go through, have you thought of putting a book together so the information is easy to find? An index with stuff in order, basic to more complex, quests listed in the index so they are easy to find, etc. Any chance of this?

Thanks again!

Juel
 

ArteGordon

Wanderer
Jueletha said:
Hello! Thanks for all your great information on the xml spawner. . .I am having a problem with the links on the forums, like the one you put above, it takes me to the front page where I get nowhere. I'd love to see the newest info on the spawner but can't get there. I also need to download the original xml spawner since putting just the xml spawner2 on my test shard didn't work.

You have so much information on the spawner, and there is SO much here to go through, have you thought of putting a book together so the information is easy to find? An index with stuff in order, basic to more complex, quests listed in the index so they are easy to find, etc. Any chance of this?

Thanks again!

Juel

thanks for pointing that out. I will fix the link.

Yes, there will eventually be more comprehensive documentation.
 

Rayne

Wanderer
BaseSoundID

Is there a way through [props of the XML Spawner to allow for multiple soundID's to go in either random order or in sequential order? I am trying to create proximity responses, more then one.

Also:

How would I set the spawner through [props of the XML Spawner to discontinue repeating itself, just b/c a player is standing there. My goal, is to have it set where, one player enters the proximity and a soundID will be alerted, based on the proximity range. The, it would not trigger again, unless the player walked away from the proximity and walked back to the trigger area. I am getting an issue where, if the player just stands in the proximity, it will keep sounding off and sounding off, until the player moves.

Thanks for your help! (btw, nothing I do with the XML Spawner is through the download of the program, b/c it is not my shard, I am just a GM working on some spawners, so everything I do must be done through the [props of the spawner itself, or the commands associated, i.e. [xmledit . )
 

Pug H2O

Wanderer
Quest NPC Question...

Is there a way to make a custom Quest Npc spawn with custome equipment instead of just an NPC spawning with the same name but randome gear each time?
 

Perth

Wanderer
Cant open Zip Files

Trying;297933 said:
I have made a "beginners" document on how to setup the xmlspawner from Arte, Please understand that this is designed for anyone that has no idea on how to setup the spawner, it covers .. (adding the spawner.. some "props" work.. adding a monster to the spawning.. and finally adding a woodenchest with some loot etc) this is NOT designed for people with experience with the spawner, this just covers the real A..B..C on how to get it running.

Im no expert at the spawner myself, but what I have learned thus far I wanted to try help out anyone else thats new to it...

Rename the zips to .rar if they dont extract.. once extracted, click on the index.html and follow it through...

Hope it helps someone out there.

Regards.
Trying.



I am sure that the information would help me greatly, however the files will not unzip for me. can you check the files and repost them.

Regards
Perth
 

beebee

Sorceror
Hi there

I don't know if this is an old thread or the right thread to post this in but i got the fikus scavenger hunt and i do have xml spawner sytem in my server but when ever i try to load the scavenger hunt it says it can't find the scavenger hunt xml data folder what am i doing wrong? A little help would be appreciated thanx.
 
Top