RunUo.Korean.Forum    :: RunUo Document 2.0 RC1 (Beta):: 
Statistics  Archive (html)  S-BLOG  [RSS FEED]   

 
  RunUo.Korean.Forum
ÀæÀºÁú¹®  ÀæÀºÁú¹®    °Ë»ö   °Ë»ö    ȸ¿ø¸®½ºÆ®  È¸¿ø¸®½ºÆ®   À¯Àú±×·ì  À¯Àú±×·ì   Gabbly äÆÃ¿­±â  Ã¤ÆÃ¿­±â 
 
ȸ¿ø°¡ÀÔ  ::  ·Î±×ÀÎ ÂÊÁö ÇÔ È®ÀÎ
 
RunUo.Korean.Forum ¢º Map & Spawning ¢º XmlSpawner2 v2.81
»õ ±ÛÀ» ÀÛ¼ºÇÕ´Ï´Ù.´äº¯±ÛÀ» ÀÛ¼ºÇÕ´Ï´Ù. Post Printing
¡Ø TOPIC : XmlSpawner2 v2.81 ÀÌÀü ±Û :: ´ÙÀ½ ±Û
±Û ¾´ÀÌ ¸Þ¼¼Áö ³»¿ë
c1dong8
ÀÛ¼º±ÛÁ¦¸ñ : XmlSpawner2 v2.81   ±Û ÀÛ¼º½Ã°£ : 2005-04-15 ±Ý 9:42 pm ±ÛÀ» ÀοëÇÏ¿© ÀÛ¼ºÇÕ´Ï´Ù.

Oldbie
Oldbie

°¡ÀÔÀÏ: 2004³â 01¿ù 26ÀÏ
°Ô½Ã¹°: 446

2.74¹Þ¾Æ³õ°í ±ô¹ÚÇÏ°í ¾È±ò°í ÀÖ´Ù°¡ Ȥ½Ã³ª ÇØ¼­ µÚÀúºÃ´õ´Ï 2.81ÀÌ ³ª¿Ô´õÀÌ´Ù-_-;;
±î´Â ¹æ¹ýÀº ÀÌÀü¹öÀüµé°ú µ¿ÀÏÇÏ´Ï "XmlSpawner"·Î °Ë»öÇØ¼­ ±î½Ã¸éµË´Ï´Ù.
¿µ¹® ·±À¯¿À Æ÷·³¿¡¼­ ÆÛ¿ÔÀ¸¸ç
¾ðÁ¦³ªÃ³·³ Áú¹®»çÀýÀÓ´Ï´Ù!!!!!(¿Ö Áú¹® »çÀýÀÎÁö ¾Æ½Í´Ï±î?)
ÀÌÇÏ¿ø¹®!
Àοë±Û : 

XmlSpawner2
v2.81
updated 4/13/05
ArteGordon

Summary:
A spawn control system based upon BobSmarts xmlspawner supporting sophisticated conditional spawn triggering, individual customization of spawns and their drops, spawn/item/mob search utilities, and systems for stealable rares, doom rares, interactive npcs, functional attachments, mob factions, pvp points/duels/games, custom special attacks, socketed items/creatures, and quests.

New to version 2.81
updated 4/13/05
- fixed a potential crash bug with several of the attachments such as xmlmagicword that could occur when they were attached to items and the attachment properties display modification was in place. (thanks to akrondar for pointing this out).

- modified the ARMOR keyword to only drop armor and no shields. The new SARMOR keyword now does armor-and-shields. (thanks to EUORoadKill for the suggestion).

- added several new loot keywords.
SHIELD,minlev,maxlev spawns a random magical shield between the minimum and maximum level (level range is 1-5).
SARMOR,minlev,maxlev spawns a random magical shield-or-armor piece (same as the old ARMOR keyword).

- added the new LOOT keyword that allows you to invoke arbitrary Loot class methods for generating random loot. The syntax is "LOOT,methodname". The method must be one of the public static methods in the Loot class that takes no arguments, and it must return an item.
For example, to spawn a random statue use the keyword

LOOT,RandomStatue

where RandomStatue() is a defined static Loot class method that returns a random statue.
Other Loot methods that are part of the standard 1.0.0 distribution include, Gems, Clothing, Wands, Reagents, Instruments, and other things, so all of the following would be valid

LOOT,RandomGem
LOOT,RandomClothing
LOOT,RandomWand
LOOT,RandomReagent
LOOT,RandomInstrument
LOOT,RandomNecromancyReagent
LOOT,RandomArmorOrShieldOrWeaponOrJewelry
LOOT,RandomGrimmochJournal

You can also define your own Loot methods in Loot.cs to return different types of random item if you like.

For example, if you are using the XmlSockets addon and have made the Loot.cs modification, you could spawn a random augmentation by using

LOOT,RandomAugment

Like the other loot keywords, this can be used to spawn random items or to add them to mobs or containers using the ADD keyword. For example, to add a random statue to a spawned mob, you could use something like

orc/ADD/LOOT,RandomStatue

and you can set properties on the resulting random item just as you would any other spawned item, like

LOOT,RandomReagent/amount/20

to spawn a random reagent and set the amount to 20

New to version 2.80
updated 4/7/05

- added support for timespan properties in conditional tests. For example, in [xmlfind, using the property test of "mindelay>0:10:00" along with the type of "xmlspawner" will search for all xmlspawners with a mindelay of more that 10 mins.

- fixed an issue with triggered sequential spawners not waiting for triggering to advance the sequential index.


New to version 2.79
updated 3/25/05

- reorganized the xmlextras.zip file a bit to make it easier to just extract directly into the main RunUO installation directory and have the various types of files in the proper default locations.

- modified the calling args required for custom gumps used with the GUMP keyword that is used to display user gumps.
Gumps must now be constructed with argument lists of the form

public XmlNewGump( XmlSpawner spawner, string gumptext, string gumptitle, int gumpnumber, BaseXmlSpawner.KeywordTag tag, Mobile from )

The gumps can still be called from spawners, NPCs or other xmlspawner2 related systems by using "GUMP,title,number,gumpconstructor/text".

- added a sanity check to smartspawning that limits the size of the smartspawning detection range to 512x512 tiles. (thanks to Thraxus for pointing this out).

- fixed smartspawning initialization to only initialize those spawners that were actually configured for smartspawning.

- changed the required AccessLevel for the [xmlset command to Administrator. Since it provides access to public properties that are not flagged with CommandPropertyAttributes, it is significantly more powerful than [set and should not have the same access. (thanks to LucidNagual for pointing this out).

- added the ability to refer to objects by serialno in the SET and GET keywords. If a hex value is substituted for the itemname in the general syntax of

SET,itemname[,itemtype]/property/value/...
and
GET,itemname[,itemtype],property

then that value will be used as a serial number to look up the object in the world. The hex value to use would be the value returned if you used the "[get serial" command and targeted the object. So for example

SET,0x400017BD/visible/false

would make the item with serial number 0x400017BD invisible.
Note that serial numbers for objects are are unique to a particular shard. Once an object is made, it will have a serial number and that number wont change as long as that object continues to exist, but that number will not mean anything on another shard, since objects will have their own unique serial numbers dependent upon when they were made. So a spawner entry that used serial references would not be transportable to other shards.

- added the RNDBOOL keyword that simply returns a random boolean true/false value.


New to version 2.78
updated 3/13/05

- the Hide valid internal map option in [xmlfind will now also hide MovingCrates which are valid internal map residents in 1.0.0

- fixed a crash bug with the [xmladd gump when using the Krrios client (thanks to tbird for pointing this out).

- fixed a problem with TriggerObject references being saved to .xml files (thanks to Gator81 for pointing this out).

- the info buttons next to each spawn entry in [xmladd now allow partial string searches of item/mobile types to be selected via the same menu system that is used when using the "[add type" command. For example, entering in "elemental" into one of the [xmladd spawn entries and hitting the info button will bring up all objects with "elemental" in their type name. Selecting one of those from the menu (e.g. AgapiteElemental) will result in that type being added to the spawn entry.
Pressing the info button on empty entries will result in the full item/mobile menu listing being brought up.

- creatures that are tamed and immediately released will no longer remain under spawner control blocking further spawning. These creatures will now be handled like creatures that are tamed and later released.

- NOTE - the .zip files for the system have been reorganized slightly. Now there are 3 required .zips instead of just 2.


New to version 2.77
updated 2/23/05
- fixed min/maxdelays for two doom rares spawns, the titan's hammer and blade of the righteous. (thanks to A_Li_N for pointing that out).

- the Hide valid internal map option in [xmlfind will now also hide the new GenericBuyInfo items which are valid internal map residents in 1.0.0

- slight modification to the autonumbering system in [xmladd. Now autonumber value will only be incremented when placing a spawner while autonumbering is selected.

- The exception trapping around the core spawning code now reports any such exceptions to the console. This eliminates the possibility of hiding spawning errors that might arise as a result of problems in routines such as the new overridable OnBeforeSpawn and OnAfterSpawn.

- made TimedSwitches and TimedLevers movable=false by default.

- added the new RestrictKills flag (RK field in the extended spawner gump) to spawn entries under sequential spawning. When set to true kills of that entry will only be counted if they come from the currently active sequential subgroup. So for champ-like spawning, when advancing a level, mobs from previous levels cannot be used to advance the current levels count (thanks to CEO for the suggestion). This can be used with the ClearOnAdvance flag that determines whether mobs from the previous subgroup levels will be automatically removed when advancing.
The default is false which means if spawns are not cleared on sequential advance, they can be counted as kills on other sequential spawn levels (this is how distro champ spawns work as well).

- added the new ClearOnAdvance flag (Clr field in the extended spawner gump) to spawn entries under sequential spawning. When set to true (default) the selected entries will be cleared on sequential spawn advancement (this was the previous default behavior). When set to false, the selected spawns will remain following sequential spawn advancement (thanks to CEO for the suggestion).
If the RestrictKills flag is not set for those spawns, they can be counted as kills on any sequential spawn level (distro champ spawn behavior).
Note, zero kill entries will now clear on advance by default. This differs from the previous default behavior.

- added a new region search option to [xmlfind. This allows you to restrict searches to items/mobs/spawners that are within a named region (note that region names are case sensitive). So, for example, to find all of the xmlspawners in Deceit, just set the type to Xmlspawner, the region to Deceit, and do a search.

- added the ability to specify separate min/maxdelay times for each spawn entry. The main spawner OnTick function (spawns can only occur during a main spawner OnTick) will still be governed by the spawner min/maxdelay times, and it is the only timer that is actually running, so there is no additional timer overhead associated with this feature, but individual spawns can be set to be longer delay times (basically multiples of the main spawner timer).
The time remaining until an individual spawn entry will be available for spawning is now shown in the extended spawner gump under the 'NextSpawn' column. Note, because individual min/maxdelay times are not governed by independent timers, the times displayed under nextspawn are best estimates and may sometimes vary from the expected values.

Individual spawn entry Min and Max delay times can be entered in the extended spawner gump columns labeled 'MinD' and 'MaxD'. Values are entered as minutes (so to specify 30 seconds you would enter 0.5).
Note that entering individual min/max delay times that are less than the spawner min/maxdelay will NOT result in faster spawning. Spawns cannot occur faster than the main spawner min/maxdelay.
If no individual entries are specified, then the spawning time for that entry will be determined by the main spawner min/maxdelay.
When setting individual min/maxdelays for spawns with sequential spawning, make sure to check the KillReset property to make sure you are allowing enough OnTicks to actually achieve the desired target KillCount. KillCount will still be reset if the number of main spawner OnTicks specified in KillReset passes without making a kill, so for example, if you make the main spawner min/maxdelay 1 minute, and an individual spawn min/maxdelay 10 minutes, you should set KillReset to at least 10 (10 OnTicks would be 10 minutes), to allow spawning to occur (and thus give the players something to kill) before the killcount was reset.

- added a simple example of the use of min/maxdelay in a non-sequential spawner in thighmaster.xml

- added new champ-spawn examples champ3.xml and champ4.xml that demonstrate the use of the new flags. Champ3.xml is a variation of champ2.xml with smooth transitions between levels (Clr=false) and kills restricted to within level (RestrictKills=true), and a few of the spawns slowed down (MinD/MaxD=0.3 mins).

Description of champ4.xml

This creates a spawner that implements a simple sequential spawning configuration that starts with some harpies. Killing at least one (Kills=1) will advance to subgroup 1
Subgroup 1 spawns orcs and trolls. The trolls will spawn a bit faster than the orcs. The orcs will not be cleared when the sequence advances (Clear=false) but cannot be used later on to advance any other level (Restrict=true). The trolls will be cleared on advancement (Clear=true).
The next level spawns an ogre. Because the kill requirement is set to zero, this level will advance automatically on the next OnTick (20 seconds). Because Clear=true, the ogre will be cleared when the level advances.
The next level is a lich that has to be killed within 10 minutes to advance (Reset=10). If it is not killed within the time limit, the sequence will be reset back to subgroup 0 (To=0).
If the lich is killed, the sequence will advance to the final level which is a pile of 500 gold pieces that has to be picked up to advance (Kills=1).

Each line is a spawn entry and the number next to it refers to the subgroup assigned to the entry.


Code:

spawner Champ#4
0 harpy/SAY/I guard the master Kills=1 MinDelay=2 mins MaxDelay=3 mins Clear=true
1 orc/SAY/I think I'll hang out here Kills=1 MinDelay=1 min MaxDelay=2 mins Restrict=true Clear=false
1 troll MinDelay=30 sec MaxDelay=1 min Clear=true
2 ogre/SAY/Just stopping by... Kills=0 Clear=true
3 lich/SAY/You will never get past me! Kills=1 Reset=10 mins To=0
4 gold,500/MSG/Here is your reward Kills=1

SequentialSpawn
MinDelay 20 seconds
MaxDelay 20 seconds


Description:
see xmlspawner2.txt in xmlspawner2-support2of2.zip for details.

(link to post with Tryings beginners tutorial)
http://www.runuo.com/forum/showpost...6&postcount=688
link to Gator81's custom gauntlet with helpful walkthrough of setting up object-triggered spawners.
http://www.runuo.com/forum/showthread.php?t=53064

Spawning features

- spawn items and mobiles.
- spawn in containers.
- spawn stacked items.
- add items to spawned mobiles packs.
- spawnrange (how far they spawn) and homerange (how far they wander).
- spawn objects that require arguments, such as runic hammers, or doors.
- set properties on any spawn without having to make script modifications.
- add items to spawned mobs backpacks without having to make script modifications.
- probabilistic spawning that can be used to implement rare mob spawns, such as a single spawn that you have to kill on average some number of times to get a rare named spawn to appear.
- time-limited spawns, such as rares that only appear for a certain amount of time.
- sequential champ-like spawning that advances by killing spawns.
- spawning in regions.
- linked spawning of multiple spawn entries using subgrouping.
- spawn on difficult surfaces such as multilevel tables/floors and water by adding a leading '*' to the spawn entry.
- special keywords can be used in spawning for control or effects:
- value keywords: RND, RNDBOOL, RANDNAME, INC, MUL, MOB, SERIAL, SKILL
- control keywords: WAITUNTIL, IF, WHILE, and GOTO
- action keywords: ADD, EQUIP, GIVE, TAKE, TAKEBYTYPE, CAST, SAY, MSG, SENDMSG, BCAST, RESURRECT, POISON, DAMAGE, MUSIC, EFFECT, SOUND, GUMP
- loot keywords: RMOR, WEAPON, JEWELRY, JARMOR, JWEAPON, SARMOR, SHIELD, LOOT, LOOTPACK, POTION, SCROLL, NECROSCROLL
- access keywords: GET,GETONSPAWN, GETONCARRIED, GETONMOB, GETONTRIGMOB, SET, SETONTHIS, SETONPARENT, SETONSPAWN, SETONCARRIED, SETONMOB, SETONTRIGMOB, TRIGSKILL
- spawner triggering by: player proximity, speech, player skill use, players carrying specific items, items or mobiles that have certain properties such as open doors or injured mobs, time of the day, either real time, or game time.

Support features

- searching/sorting for spawners/items/mobiles by name, type, distance, spawn entry, properties, map.
- track down any spawn using the "goto" button in the spawner gump
- saving and loading of spawn files with [xmlsave, and [xmlload.
- import .map and .msf format spawn files.
- supports for stealable rares/artifacts without issues of maintained spawner control on spawned items.
- track spawner access by staff.
- track number of kills on a spawner.
- automatic relocation of inaccessible spawns.
- "SmartSpawning" which allows spawners to automatically and transparently remove and restore spawns based on player proximity, reducing save times and mobile load.



Installation:

see the installation text files found in xmlspawner2-vxxx-1of2.zip

The XmlPoints addon can be found here XmlPoints system

The XmlMobFactions addon can be found here XmlMobFactions system

The XmlCustomAttacks addon can be found here XmlCustomAttacks system

The XmlSockets addon can be found here XmlSockets system

The PlayerRangeSensitiveMod which is an AI mod that provides most of the benefits of having PlayerRangeSensitive=false with virtually none of the server load can be found here PlayerRangeSensitiveMod .
This is not required by any means, but I find it to be extremely useful.

STEP 1:
With a fresh 1.0.0 install, simply unzip the contents of the package into your custom scripts directory.

The xmlspawner2-vxxx-1of3.zip file is a required part of the installation.
The xmlspawner2-vxxx-2of3.zip file is a required part of the installation.
The xmlspawner2-vxxx-3of3.zip file is a required part of the installation.
The xmlspawner2-support.zip file is a recommended part of the installation.
The xmlspawner2-xmlextras.zip is completely optional containing .xml file examples of some of the spawner capabilities as well as other spawn files. To run the examples, make a folder called Spawns in the main RunUO installation directory (where your server.exe is) and place the .xml files in there. Then make a folder named XmlQuestNPC in the main RunUO installation directory and place the .npc files there.
Test them out by using the [xmlload command on the example .xml files. Most of these will load up in Green Acres.

Note, XmlSpawner2 is fully compatible with all existing xml spawn file descriptions and can also co-exist with the standard distribution spawners and other spawners.
You can use xmlspawners and other spawners at the same time if you like.

Additional Recommended Steps:
There are additional installation steps that provide additional functionality to the XmlSpawner2 system. None of the additional steps are absolutely required for basic spawner functioning (but see note regarding step 4 below), but they do add additional features that will enhance the use of the system.
Feel free to go through the steps and select the ones that seem like they would be of use to you, or select none if you decide you would rather not make additional modifications.
Note that some of the addon systems linked above will have requirements for some of these installation steps. See those threads for more details.
I would also strongly recommend following installation Step 3 which allows you to view and enter longer spawn entries using the book interface.

For details on these steps, see the installation files in xmlspawner2-vxxx-1of3.zip

If you have installed xmlspawner2-support.zip you MUST either follow Step 4 or get rid of the custom container.cs and stealing.cs files from this package
If you plan on spawning rares or any items with long spawn cycles I would strongly recommend that you follow installation step 4. You can find the reason for this described at the end of xmlspawner2.txt in the section "FIX FOR STOLEN/TAKEN ITEM SPAWNS THAT REMAIN UNDER SPAWNER CONTROL"


ps.
Nerun's Distro 4.0.5³ª¿Ô´õ±º¿ä.
ÇÊ¿äÇϽźÐÀ»À§ÇѸµÅ©!!!
Nerun's Distro 4.0.5



XmlSpawner2 v2.81.zip
 ¼³¸í:

´Ù¿î·Îµå
 ÆÄÀϸí:  XmlSpawner2 v2.81.zip
 ÆÄÀÏÅ©±â:  430.53 KB
 ´Ù¿î·Îµå¼ö:  622 ¹ø


_________________
´ç±Ù ·Î¸®¾ß½º ¤Ñ¤Ñv
¡è ¸Ç À§·Î °¡±â ¡è
ȸ¿ø ÇÁ·ÎÇÊ º¸±â ÂÊÁö º¸³»±â
ÀÌÀü °Ô½Ã¹°º¸±â :
»õ ±ÛÀ» ÀÛ¼ºÇÕ´Ï´Ù.´äº¯±ÛÀ» ÀÛ¼ºÇÕ´Ï´Ù. ÇöÀçÆäÀÌÁö : 1/1

RunUo.Korean.Forum ¢º Map & Spawning ¢º XmlSpawner2 v2.81
¹Ù·Î°¡±â:


°Ô½Ã¹° ÀÛ¼º : (X)
´äº¯±Û ÀÛ¼º : (X)
°Ô½Ã¹° ¼öÁ¤ : (X)
°Ô½Ã¹° »èÁ¦ : (X)
ÅõÇ¥ Çϱâ : (X)
ÆÄÀÏ ¾÷·Îµå : (X)
ÆÄÀÏ ´Ù¿î·Îµå : (0)



DAJ Glass (1.0.5) template by Dustin Baccetti // template edit by GangPung
EQ graphic based off of a design from www.freeclipart.nu
Powered by phpBB 2001, 2002 phpBB Group, Translated by zzangga

DNS Powered by DNSEver.com