|
||
|
|||||||
| Custom Script Releases This forum is where you can release your custom scripts for other users to use. Please note: By releasing your scripts here you are submitting them to the public and as such agree to make them public domain. The RunUO Team has made its software GPL for you to use and enjoy you should do the same for anything based off of RunUO. |
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 (permalink) |
|
Forum Expert
|
Well it's finally time I share a script with the community. I wanted to wait till I created a script that I felt would help all server, large or small, and no matter what theme the server has. I feel this script will meet that need.
This script is an area spawner that can turn any area into your own custom "Champion spawn". This script allows for up to 9 levels of spawn. You simply chose a region for the monsters to spawn in, what should spawn for each level of spawn, and the region will progressively get more difficult. The script is highly customizable allowing you to do anything from simple 3 player champion spawn, to an entire week long city wide event. Also it has many neat feature's that allow you to customize the creature's spawning without doing any scripting. Updates: last updated: 11/21/2006 11/21/2006: A new version of this script has been released. The version number is now 2.1. This new version add's 2 new feature, aswell as cleaned up the code a bit. 11/19/2006: A new release of this script has been released. Version number is now 2.0. This script has basically been totally redone to allow for stage selection. Below is a list of new feature's you will be able to find in this script. New feature's: 11/21/2006: 1) Added the ability to do random "Rare" spawns. Simply add any mobile to the "ToSpawnRare" string, then set the "ChanceToSpawnRare" double to how often you want it to spawn. 1 will result in a 100% chance to spawn, and .01 will result in a 1 percent chance. 2) Added the ability to chose the Odds of a paragon spawn. As above if this value is set to 1 the spawner will spawn paragons 100% of the time, if its set to .01 it will spawn them 1% of the time. 3) All other changes were simple code cleanup/optimization. 11/19/2006: 1) Added the ability to chose how many stages a spawn has. you may chose from 1 to 9. Simply make what ever level of spawn you wish to be your "Boss" do 1 spawn count, and 1 kill count, and presto, its your new boss slot. 2) Added the ability to repeat the spawn cycle. this means that once the spawn reaches the boss, if this is activated, the spawn will reset to level one and begin spawning again. If set to false, it will deactivate itself. 3) Added the ability to toggle paragon spawns. when this ability is set to true every monster that spawns will spawn as a paragon. 4) Added the ability to toggle spawning monsters on and off. If activated all monster's that spawn will be flagged murderer. 5) Added the ability to give spawning monster's special titles. So say you wanted to give a spawn a demonic theme, set the spawn title to something like "of the damned" and then spawn daemons. when it spawns, its name will be "Beelzebub of the damned". 6) Added the ability to give spawning monsters special hues. When the monster spawns, it will be hued to this color. Also good for the same purpose as above ( theming the spawn ). 7) Added a feature that deletes all of the spawn associated with the stage spawner when the stage spawner is deleted, making for easy cleanup after event's. Fixes: 1) Fixed a deserialization issue that was causing the stage spawner's to delete on server restart 2) Fixed the issue that was causing each monster killed to count for 2 total kills. This was due to the monster's being added to the m_Creatures arraylist twice on creation. 3) Added a check to make sure animal's that are tamed are removed from the spawn count, to keep player's from breaking a spawn by taming all the monster's. 4) Added serveral string to the single click to make managing spawner's easier. These new strings are: Is active: True Speed: 00:00:05 To 00:00:10 Spawn paragons: false Spawn murderers: false Spawn repeat: true Spawn stage: 1 Available setting's: Region: A 2DRectangle. simple chose the area you want the monster's to spawn in Spawn min/max delay: Lets you chose how fast the monsters in an area spawn, allowing you to tailor it depending on your playerbase. To spawn 1 - 4: This is a set of string's, simple type the monster name you want to spawn into the value and your done. an example is "earthelemental" not Earth elemental. type it as if you were using the "]Add mobilename" command. ToSpawn1 = Easy spawn, ToSpawn2 = Medium spawn, ToSpawn3 = Difficult spawn, ToSpawn4 = Boss. Spawn count 1 - 3: This setting allows you to chose how many monster should spawn during each stage. this is to tailor the spawn count to meet the region's needs. if you have a large area, you will want higher spawn counts. Count to stage 2: This is how many monsters must be killed before the spawn reaches it's second stage of spawn. Count to stage 3: This is how many monsters must be killed before the spawn reaches it's third stage of spawn. the number you chose should be in addition to the second stage spawn. So if you want the spawn to change into the second stage at 100 kills, and then change to third after they kill 50, then you set this value to 150, not 50. Count to stage 3: This is how many monsters must be killed before the spawn reaches it's forth ( boss ) stage of spawn. the number you chose should be in addition to the second and third stage spawn. So if you want the spawn to change into the second stage at 100 kills, and then change to third after they kill 50, and then into the boss after 25, then you set this value to 175, not 25. Active: This option is self explanitory. It lets you activate, and deactivate the spawner. It comes default as off, and I suggest leaving it that way till the spawner is fully set up. Known bugs: Currently bug free, please post any issues you may come across. Things todo: 1) I want to add more feature's to this script, Give me idea's! Installation: Just drop StageSpawner.cs into your scripts/customs folder, restart and that's it! go into game, type ]Add stagespawner and then double click it to bring up its props menu (must have GameMaster or higher access level to use this feature). I made this spawner because I have special mobiles that carry rare one of a kind artifact's. I didnt want players to have to kill these monster's 100's of time to get it, instead I wanted to make the area themed around the monster, and have it stage spawn, till they climax to the special mobile, to earn their artifact. I've heard this can be done with XML world spawner, but I wanted something simple and stand alone souly for this purpose. I made one especially for one "event" on my server, and thought I should convert it to be able to use any monster. As far as stability, This is a brand new script, and has only had 24 hours of runtime on my public server. However in this time there has been no issues. Please give me some feed back and let me know if you use this on your server. I'm Kind of excited to see if people can find a use for this. Do anything you would like with this script, just if you alter it please leave the creator's tag in place, and give credit to the original creator
__________________
Father Time Life's journey is not to arrive at the grave safely in a well preserved body, but rather to skid in sideways, totally worn out, shouting "Holy Hell......What a ride!!!" Server: UO: Extinction ICQ: 146563794 FatherTime@UOExtinction.com UO: Extinction homepage UO: Extinction forum Last edited by vermillion2083; 11-21-2006 at 02:51 PM. |
|
|
|
|
|
#2 (permalink) |
|
Forum Expert
|
Reserved for future use.
__________________
Father Time Life's journey is not to arrive at the grave safely in a well preserved body, but rather to skid in sideways, totally worn out, shouting "Holy Hell......What a ride!!!" Server: UO: Extinction ICQ: 146563794 FatherTime@UOExtinction.com UO: Extinction homepage UO: Extinction forum |
|
|
|
|
|
#3 (permalink) |
|
Forum Expert
Join Date: Nov 2004
Location: Beyond the Gates of Hell
Age: 36
Posts: 3,509
|
Excellent! I will look it over when I get a chance. Good job.
__________________
Leader of the Anti-OSI Movement. Inventing a new game experience in an EA Games-free environment. Don Juan Matus "The basic difference between an ordinary man and a warrior is that a warrior takes everything as a challenge, while an ordinary man takes everything as a blessing or as a curse." My Customs:
|
|
|
|
|
|
#5 (permalink) |
|
Forum Expert
|
Thank you both for the positive feedback. Im glad to hear you will be able to find use for it. I know I've found alot of fun uses for it on my server. And its great cause it can be adapted to alot of situations.
For instance, I have one set up in my new player's area that goes from orcs, to orc ( the axe ones ), to orc mage, to orc brute. And I made a special orc brute so when he dies he reward's players with +5 ps. I've also taken it, and made a training area with it. I made a set of 4 monsters that all auto die after 5 mins without a combatant. Then made the spawner only spawn 1 monster at a time on each stage. Each trainer I made is a bit tougher, so player's can walk up to it, kill it, and kill it, till they find a trainer that is evenly matched for them. Also I've yet to do this, but it would be fun for doing city invasions. Simple set the region for an entire city, and make it so the attacks on the city are getting worse and worse, and set the kill numbers really high so it will take a week or so to defeat the enemy foes. Hmm making this post made me think of an option I should add. Repeat - so you can chose if the spawner automatically goes back down to the first stage of the spawn and starts again, or it ends after its cycled once for the longer events. Anywho thank's again for the feedback, its groovy to see people using it *smiles*
__________________
Father Time Life's journey is not to arrive at the grave safely in a well preserved body, but rather to skid in sideways, totally worn out, shouting "Holy Hell......What a ride!!!" Server: UO: Extinction ICQ: 146563794 FatherTime@UOExtinction.com UO: Extinction homepage UO: Extinction forum |
|
|
|
|
|
#7 (permalink) |
|
Forum Novice
Join Date: Jun 2006
Age: 29
Posts: 614
|
This is awsome
EA shards do those invasions now with generals they are just a hued mini boss type monster that spawns 1 for every so many normal invasion spawns but it would be cool to see an option for that in this. Another thought I had was having an option to set all monsters being spawned as always murderer. This is also common for the EA invasions the last few had this. How about having a way to set how many levels there are to the spawn have a minimum and maximum number of levels to choose from? lol I could go on and on. There are alot of possabilities with this alot of neat stuff can be done with this. |
|
|
|
|
|
#8 (permalink) | |
|
Forum Expert
|
Quote:
|
|
|
|
|
|
|
#9 (permalink) | ||||
|
Forum Expert
|
Quote:
I'm not quite sure what you mean here. I haven't played on EA's Ultima online since the release of samuri's/ninjas. If you better describe what you mean I might be able to incorperate it into the script. Quote:
Code:
public override bool AlwaysMurderer{ get{ return true; } }
Code:
BaseCreature m = (BaseCreature)o; m.RangeHome = (int)(Math.Sqrt( m_SpawnArea.Width * m_SpawnArea.Width + m_SpawnArea.Height * m_SpawnArea.Height )/2); m.MoveToWorld( loc, this.Map ); m.Home = m.Location; Code:
BaseCreature m = (BaseCreature)o; m.RangeHome = (int)(Math.Sqrt( m_SpawnArea.Width * m_SpawnArea.Width + m_SpawnArea.Height * m_SpawnArea.Height )/2); m.MoveToWorld( loc, this.Map ); m.Home = m.Location; m.IsMurderer = true; Quote:
Quote:
Keep the great feedback coming guys, it's really helping me make this script the best it can be.
__________________
Father Time Life's journey is not to arrive at the grave safely in a well preserved body, but rather to skid in sideways, totally worn out, shouting "Holy Hell......What a ride!!!" Server: UO: Extinction ICQ: 146563794 FatherTime@UOExtinction.com UO: Extinction homepage UO: Extinction forum |
||||
|
|
|
|
|
#10 (permalink) |
|
Forum Expert
Join Date: Jun 2006
Age: 31
Posts: 304
|
i already have added generals and corporals etc on my shard like osi has. but currently i have them setup like paragons.
what i am wondering is if there was a way you could set it to spawn only paragons for instance? i use xml spawner, but it's a little too complicated for my simple brain, and i really don't have a week or two to fully understand the instructions it has. basically i have been looking for a way to do invasions and i think this is sounding pretty close as to what i am lookin for. thanks alot i'm gonna give it a shot tonight. |
|
|
|
|
|
#11 (permalink) |
|
Forum Novice
Join Date: Jun 2006
Age: 29
Posts: 614
|
To answer the question on generals. What EA did was ran an invasion and for every so many monsters spawned they would spawn a general. The general is a beefed up monster basically a paragon and it is usually hued a dark forest green color but the color is not the important thing they are hued and thier name says "a such and such [General]" generals are usually different than the other enemies as in skeletons and bone mages are spawning for normal spwan the general would be a lich or something just a dif type of monster to set the general apart. Generals also have a special item or items as loot on them that the rest do not have.
For the brit invasion they had vanq mystic and power weapons on the generals and nothing on the others. For the recent ophidian invasion they did something different though. They did not have just generals but other levels too such as specialists corporals and others just cant think em off hand. These all had different types of loot different items for each of them and generals being the toughest of the bunch had special ophidian weapons just weps that were named "power ophidian bardiche" again power vanq and mystic weps but only 2 kinds and each said ophidian in the name and were also I believe terathan slayer weps they came as a bardiche or a sceptre obviously because ophids only came as mage and melee and only carry a wand or bardiche type wep. but yeah thats the idea. Just a special mini boss type monster amongst the rest of the spawn to make things a bit different. There is always a boss at the end though. During the ophidian invasion it progressively got rougher too and eventually there were ophidian berzerkers they were probably the toughest thing I have ever seen in the game without a doubt. They had a special barrier of defense on them only those ophidian weps from the generals could cut through and only to a certain degree mystic the strongest could only cut about 20% so only 20% of you damage got through. As a mage my evs did nothing at all and died instantly and my hardest hitting spells would do maybe 1 damage if they did anything at all. The berzerkers were also intresting because they were the first partially hued creature ive seen. EA managed to hue only the end of the bardiche the berzerkers carried without adding a new animation to the mules. No patch or anything for those yet only part of the creature was hued I found that intresting and still wonder if I can find a way to do the same somehow. |
|
|
|
|
|
#12 (permalink) | |||||
|
Forum Expert
|
Howdy all:
It's amazing the insperation you gain when posting a script to the public. Just in 24 hours I've managed to give this script 3 times the feature's it originally had. Thank you all who contribute on this thread, it is really helping me. Quote:
Quote:
Quote:
Thank you for all the great input Midnightdragon, your suggestions have made this a really neat script )Quote:
Thank you for the idea corbingene01. I would of never thought of this, and its a really fun feature. I found myself sitting there creaming the paragons for about 10 mins while I was testing it, till I realized I had work to do )Quote:
By trying to add a feature like this, I risk making this script only functional to people who are looking for special artifact's, and special monsters. But here is what I can do. As I said above, I can add like 3 "Rare" monster slots, then give each slot an "Odds" double variable. I will also add an activation for this option. So basically by adding what I said above, you can create that exact expience. To do so, you would script 3 Awsome monsters, and give them the artifacts you want to spawn. Then make the spawns take awhile, like 20K kills per level. Then you set the "rare spawns" odds to like 2%. What this would do, is make a spawn, that over a week or so would progressively get harder. During this week every here and there the special rare monsters holding artifacts will spawn, and at the end of the weak the boss will spawn. Simple add a "OnMeleeDamage" statement to your boss to check to see what is hitting it. If the weapon is the special arty your rare monster's dropped, do 20% damage, else, do zero damage. This script is more about the cycling, and managing of progressive spawns. This script is ment to be versitile to let you create hundreds of different progressive spawn senarios. I fear by getting too detailed with what spawns in it, youll start limiting its overall usefullness. Still with what you have suggested, Ill be able to convert this script to accomplish exactly what you want, as long as you are willing to script a few mobiles to support your needs. Someday if I have some spare time I might even make these special mobiles to include with the system as optional, because to be frank you have peeked my intrest in seeing it. *smiles* Thank you all for your participation, Im really excited to see what you guys come up with next.
__________________
Father Time Life's journey is not to arrive at the grave safely in a well preserved body, but rather to skid in sideways, totally worn out, shouting "Holy Hell......What a ride!!!" Server: UO: Extinction ICQ: 146563794 FatherTime@UOExtinction.com UO: Extinction homepage UO: Extinction forum |
|||||
|
|
|
|
|
#14 (permalink) |
|
Forum Expert
|
My please, glad you can find use for this script. As soon as I have some spare time I have plans on totally redoing this script, and making it so you can spawn multiple monsters per stage of a spawn, to make for a more natural spawn feel.
Ill let you know when the script is updated. Take care!
__________________
Father Time Life's journey is not to arrive at the grave safely in a well preserved body, but rather to skid in sideways, totally worn out, shouting "Holy Hell......What a ride!!!" Server: UO: Extinction ICQ: 146563794 FatherTime@UOExtinction.com UO: Extinction homepage UO: Extinction forum |
|
|
|
|
|
#15 (permalink) |
|
Moderate
Join Date: Nov 2002
Location: USA
Posts: 6,598
|
Very interesting script. I don't have a shard to try it on, but I will enjoy checking out the code...
![]()
__________________
David Forum Moderator The RunUO.com Forum Moderator Team Forum Rules and Guidelines RunUO Forum Search Engine Download RunUO 2.0 RC2 |
|
|
|
|
|
#16 (permalink) |
|
Master of the Internet
Join Date: Oct 2005
Age: 45
Posts: 6,283
|
This is the code that I used to change AlwaysMurdered 'on the fly' so to speak:
Code:
private bool m_IsAlwaysMurderer = false;
[CommandProperty(AccessLevel.GameMaster)]
public bool IsAlwaysMurderer
{
get { return m_IsAlwaysMurderer; }
set
{
m_IsAlwaysMurderer = value;
NameHue = Notoriety.GetHue(Notoriety.Compute(this, this));
InvalidateProperties();
Delta(MobileDelta.Flags);
}
}
public override bool AlwaysMurderer { get { return IsAlwaysMurderer; } }
|
|
|
|
|
|
#17 (permalink) | |
|
Forum Master
|
well i just gave this a very big test - 4 of them going at once - 1 in a whole different area, and 3 together at an event
Worked Great!!!! Great Script and Idea noticed 2 things though: 1) not completely sure on this one - it seams that the monsters killed by "area" attacks and such where not getting to the "kill total" - may have just looked that way 2) Quote:
now it is the number for each and every one of that type only so for #1 can be 30, #2 25, #3 50 & #4 2 - and those would be the numbers to put in - not the running total of each (i am using svn 103 if that makes a difference)
__________________
http://www.AoAUO.com
:) ..... Come for the Customs, Play for the Fun. Return to see your new Friends ..... :) |
|
|
|
|
|
|
#18 (permalink) |
|
Newbie
Join Date: Jan 2007
Age: 36
Posts: 85
|
Hi,
I love your script and im trying to convert it to 1.0. I know that i need to change controlled to controled, but what do i do about the intern error? Code:
- Error: Scripts\Customs\StageSpawner.cs: CS0117: (line 492, column 21) 'Server .Utility' does not contain a definition for 'Intern' - Error: Scripts\Customs\StageSpawner.cs: CS0117: (line 510, column 19) 'Server .Utility' does not contain a definition for 'Intern' - Error: Scripts\Customs\StageSpawner.cs: CS0117: (line 511, column 19) 'Server .Utility' does not contain a definition for 'Intern' - Error: Scripts\Customs\StageSpawner.cs: CS0117: (line 512, column 19) 'Server .Utility' does not contain a definition for 'Intern' - Error: Scripts\Customs\StageSpawner.cs: CS0117: (line 513, column 19) 'Server .Utility' does not contain a definition for 'Intern' - Error: Scripts\Customs\StageSpawner.cs: CS0117: (line 514, column 19) 'Server .Utility' does not contain a definition for 'Intern' - Error: Scripts\Customs\StageSpawner.cs: CS0117: (line 515, column 19) 'Server .Utility' does not contain a definition for 'Intern' - Error: Scripts\Customs\StageSpawner.cs: CS0117: (line 516, column 19) 'Server .Utility' does not contain a definition for 'Intern' - Error: Scripts\Customs\StageSpawner.cs: CS0117: (line 517, column 19) 'Server .Utility' does not contain a definition for 'Intern' - Error: Scripts\Customs\StageSpawner.cs: CS0117: (line 518, column 19) 'Server .Utility' does not contain a definition for 'Intern' - Error: Scripts\Customs\StageSpawner.cs: CS0117: (line 758, column 10) 'Server .Mobiles.BaseCreature' does not contain a definition for 'Controlled' Scripts: One or more scripts failed to compile or no script files were found. - Press return to exit, or R to try again. |
|
|
|
|
|
#19 (permalink) | |
|
Newbie
Join Date: Mar 2006
Posts: 44
|
The script compiled just fine, but when I went to use it it crashed the server... Quote:
|