I have run into a problem around certain parts of the map where mobiles are spawned in unreachable locations. (Inside mountains that have a land tile in them.(not caves) for example)

So I am very curious to know how do I block a tile or multiple tiles from spawning mobiles on them?
I know I can specify in the xmlspawner what tiles to spawn on but that is not what I'm after.
Could it be as simple as placing a LOS blocker?

I've included a visual example as well.
Spawningproblem.jpg
 
blocker, not losblocker.
blocking the line of sight will not prevent spawning there, only a physical blocking which the blocker item offers can do that.
 
I present you with a spawnblocker... it will do one of two things depending on the configuration you set within the script.
  • It will allow you to relocate any spawn that spawns on top of the blocker automatically to a location nearby
  • It will allow you to delete the spawn that spawns on top of the blocker automatically.
You'll need to uncomment the desired toggle you wish to use; this has been thoroughly tested. Have fun :)

https://www.dropbox.com/s/in4k789c839xp7k/SpawnBlocker.rar?dl=1
 
blocker, not losblocker.
blocking the line of sight will not prevent spawning there, only a physical blocking which the blocker item offers can do that.
The blocker itself will not prevent spawn from spawning on top of it. None of the available blockers will prevent this entirely; not even my SpawnBlocker. The best we can do is either delete the spawn automatically or relocate what ever spawns on top of the blocker.
 
Any item that ItemID has flags of Impassable should easily do the trick. So just create basic Item and set ItemID to one you find doesn't interfere much.
 
This is exactly what blockers are for, so it is easier to be constant everywhere so when you search for a blocker item you can list them all, but with a static or another item it makes searching more tedious.

edit: also make it at the same z as the floor, otherwise you "could" get surprises.
 
I'd just fill in the offending locations with blockers as Pooka stated, it's definitely the easiest and most elegant solution since players can't see blockers and no extra code needs to be written.
 
I am surprised mobs are spawning on tiles that can't be walked on (like Blood). None of my mobs can spawn on tiles that can't be walked on (however, in some locations, they could spawn behind walls and players couldn't target them). Using Xmlspawner, you can control what tiles mobs can spawn on right on the entry line though (see attached image). I would think this would be a nicer way to do this rather than adding more items to your shard as blockers.

NOTILES: Specify which tiles that mob cannot spawn on.
TILES: Specify which tiles mobs can spawn on.
 

Attachments

  • Xmlspawner.png
    Xmlspawner.png
    541.3 KB · Views: 25
-Can you confirm the mobiles are pawning "over" the blood? If so, are they spawning over the body parts? Maybe there are some body parts acting like a floor, like that pile of horse dung you can walk on?
-Most of the time EA left a piece of floor outside of the reachable zone, excluding a specific tile would exclude a whole group of floor area only to block one, which seems like a last resort option.

It could be possible however to create a new (if it doesn't already exist) extension to XmlSpawner that would do in sort of blocking some "excluded location" boxes, selected on the spawner itself.
 
There are some locations on the map where using blockers is the only option.

NOTILES: Specify which tiles that mob cannot spawn on.
TILES: Specify which tiles mobs can spawn on.
I was aware of these commands but NOTILES does not work for the blood static tiles for some odd reason. So I ended up using TILES to make mobs only spawn on valid tiles. In the case of blood dungeon it was a very short list of specific tiles for individual spawners.

-Can you confirm the mobiles are pawning "over" the blood? If so, are they spawning over the body parts? Maybe there are some body parts acting like a floor, like that pile of horse dung you can walk on?
I can confirm that the mobs were spawning on the blood, Not on the body parts. I was very, very thorough in my testing.
I tried blocking all the tiles on the same X & Y coords as the blood tiles. #NOTILES wasn't stopping the spawns :(
(tested with the lastest servuo repo and uo client as-of-this post.)
 
Last edited:
There are some locations on the map where using blockers is the only option.
I was aware of these commands but NOTILES does not work for the blood static tiles for some odd reason. So I ended up using TILES to make mobs only spawn on valid tiles. In the case of blood dungeon it was a very short list of specific tiles for individual spawners.

In that case, manually set the Spawn Area on the Xmlspawner and change the Home range. I mean either way is going to accomplish that job, I just try to keep my item count down for "staff" items on my shard.
 
In that case, manually set the Spawn Area on the Xmlspawner and change the Home range. I mean either way is going to accomplish that job, I just try to keep my item count down for "staff" items on my shard.
I 100% agree with keeping the item count down.
You mention setting a Spawn Area? Can you please refer me to the command or keyword on the spawner so I can investigate this?
Also does it allow for more then just a simple square. maybe multiple squares/tiles?
Thank you in advance! I am trying to learn how to be more efficient with xmlspawners when trying to achieve a goal.
 
Well you can control the exact spawn point of any mob in the entry line (X/1524/Y/225/Z/0). That means that one mob would always spawn at that same spot every single time it spawned. That being said, if you ignore the green text and look towards the bottom right corner, you will see X1_Y1 and X2_Y2.
Run to a spot, click the X1_Y1 and use your location, then run to another corner, opposite, click the X2_Y2 and then use your location again. You have just set up a spawn area for everything that Xmlspawner will create. If you want to see what the exact spawn area is, change ShowBounds from False to True at anytime. ShowBounds does not interfere with what players see or the spawning of mobs. It's a visual reference for Staff Level characters.

QuestD2A.jpg
 
Back