Go Back   EQEmulator Home > EQEmulator Forums > Quests > Quests::Q&A

Quests::Q&A This is the quest support section

Reply
 
Thread Tools Display Modes
  #1  
Old 03-17-2010, 01:09 PM
MNWatchdog
Hill Giant
 
Join Date: Feb 2006
Posts: 179
Default Does quest::disable_spawn2 work?

I'm trying to depop a area of a zone of it's current mobs and prevent those mobs from respawning using quest::disable_spawn2(#####); and the mobs still continue to spawn.

I want these mobs to stay down until I use quest::enable_spawn2.

I've tried using the disable both before and after depopping the mobs.

Am I using this wrong? Did a search and there's no examples I can find of it being used and of course the Wiki has no information other than this function exists.
Reply With Quote
  #2  
Old 03-17-2010, 04:33 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

I haven't really messed with those commands much yet, so I am not sure, but that is another one that KLS made examples for. Here are the examples she made:

Code:
sub EVENT_SAY { 
        if($text=~/despawn/i)
        {
                quest::disable_spawn2(10842);
                quest::say("Yes sir!");
        }
        elsif($text=~/enable/i)
        {
                quest::enable_spawn2(10842);
                quest::say("Yes sir!");
        }
        elsif($text=~/spawn/i)
        {
                quest::spawn_from_spawn2(10842);
                quest::say("Yes sir!");
        }
}
I believe you use the spawn group ID, NOT the NPCID, but I could be wrong about that. I also believe that disabling it should depop it for you, so you shouldn't have to use a depop on them as well.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #3  
Old 03-17-2010, 06:14 PM
MNWatchdog
Hill Giant
 
Join Date: Feb 2006
Posts: 179
Default

Shouldn't it be called disable_spawn_group then?

I guess that makes sense it would be groups, but the command name definitely should be changed if it is, if for nothing else, because there's almost no documentation other than the command itself.

Why didn't search not show that there we examples?

Well, anyways, I'll try group IDs.

Thanks.
Reply With Quote
  #4  
Old 03-17-2010, 07:44 PM
nenelan
Hill Giant
 
Join Date: Feb 2008
Posts: 116
Default

Spawn groups are stored in the dbtable, spawn2. Makes sense to me.
Reply With Quote
  #5  
Old 03-17-2010, 08:00 PM
joligario's Avatar
joligario
Developer
 
Join Date: Mar 2003
Posts: 1,490
Default

@nenelan: No, spawn groups are in spawngroup and spawnentry. Individual spawn points are in spawn2.

@MNW: Have you thought about using spawn conditions instead?
Reply With Quote
  #6  
Old 03-18-2010, 01:31 AM
MNWatchdog
Hill Giant
 
Join Date: Feb 2006
Posts: 179
Default

Quote:
Originally Posted by joligario View Post
@nenelan: No, spawn groups are in spawngroup and spawnentry. Individual spawn points are in spawn2.

@MNW: Have you thought about using spawn conditions instead?
Spawn conditions? Not sure what ya mean. I just started putzing around with scripts 2 days ago.

Examples always appreciated.

OK, found what you're talking about....and learning continues.
Reply With Quote
  #7  
Old 03-18-2010, 03:53 AM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

It takes the spawn2 id. Ex:

Code:
mysql> select * from spawn2 where id=10842;
+-------+--------------+---------+---------+------------+------------+----------+----------+-------------+----------+----------+------------+------------+---------+
| id    | spawngroupID | zone    | version | x          | y          | z        | heading  | respawntime | variance | pathgrid | _condition | cond_value | enabled |
+-------+--------------+---------+---------+------------+------------+----------+----------+-------------+----------+----------+------------+------------+---------+
| 10842 |         7667 | qeynos2 |       0 | 139.699997 | 312.700012 | 3.100000 | 0.000000 |         640 |        0 |        0 |          0 |          1 |       1 |
+-------+--------------+---------+---------+------------+------------+----------+----------+-------------+----------+----------+------------+------------+---------+
1 row in set (0.00 sec)
Reply With Quote
  #8  
Old 03-18-2010, 08:05 AM
MNWatchdog
Hill Giant
 
Join Date: Feb 2006
Posts: 179
Default

How do I get the Spawn2 ID from NPCs ID then?

Example please.
Reply With Quote
  #9  
Old 03-18-2010, 04:09 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

Code:
mysql> select * from spawn2 where spawngroupID=(select spawngroupID from spawnentry where npcID=2093);
+-------+--------------+---------+---------+------------+------------+----------+----------+-------------+----------+----------+------------+------------+---------+
| id    | spawngroupID | zone    | version | x          | y          | z        | heading  | respawntime | variance | pathgrid | _condition | cond_value | enabled |
+-------+--------------+---------+---------+------------+------------+----------+----------+-------------+----------+----------+------------+------------+---------+
| 10842 |         7667 | qeynos2 |       0 | 139.699997 | 312.700012 | 3.100000 | 0.000000 |         640 |        0 |        0 |          0 |          1 |       1 |
+-------+--------------+---------+---------+------------+------------+----------+----------+-------------+----------+----------+------------+------------+---------+
1 row in set (0.18 sec)
Keep in mind these are spawn points you don't turn them all on and off at once, they're one at a time.
Reply With Quote
  #10  
Old 03-18-2010, 05:16 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Hmm, I think this may have been mentioned before, but maybe we can add spawn2 ID to #showstats or something next to spawngroup in that output. That will make it easier to figure out what you want in your script without having to query the DB.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #11  
Old 03-18-2010, 07:53 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

Heck even a command with the simple sql I posted might be highly useful just as a quick lookup tool.
Reply With Quote
  #12  
Old 03-18-2010, 08:39 PM
MNWatchdog
Hill Giant
 
Join Date: Feb 2006
Posts: 179
Default

Talk to Rude/Reno. We chatted about this this morning and about what I think should be done and he was thinking about it.

Basically, you could add a Disable_Spawn using the NPC ID number and also allow a proximity setting, so say ya wanted no NPCs of id 200 in the zone, ya do quest::Disable_Spawn(200).

Using proximity type settings ya could do.

quest::Disable_Spawn(NPCID, minX, maxX, minY, maxY, minZ, maxZ)

And if the NPCID was 0 and the X,Ys and possibly Z, it would disable any spawns/groups in that area.

and of course Enable_Spawn to reverse then setting.
Reply With Quote
  #13  
Old 03-21-2010, 10:48 AM
MNWatchdog
Hill Giant
 
Join Date: Feb 2006
Posts: 179
Default

Nevermind - Really need a way to delete post!
Reply With Quote
  #14  
Old 03-21-2010, 11:57 AM
MNWatchdog
Hill Giant
 
Join Date: Feb 2006
Posts: 179
Default

Quote:
Originally Posted by KLS View Post
Code:
mysql> select * from spawn2 where spawngroupID=(select spawngroupID from spawnentry where npcID=2093);
+-------+--------------+---------+---------+------------+------------+----------+----------+-------------+----------+----------+------------+------------+---------+
| id    | spawngroupID | zone    | version | x          | y          | z        | heading  | respawntime | variance | pathgrid | _condition | cond_value | enabled |
+-------+--------------+---------+---------+------------+------------+----------+----------+-------------+----------+----------+------------+------------+---------+
| 10842 |         7667 | qeynos2 |       0 | 139.699997 | 312.700012 | 3.100000 | 0.000000 |         640 |        0 |        0 |          0 |          1 |       1 |
+-------+--------------+---------+---------+------------+------------+----------+----------+-------------+----------+----------+------------+------------+---------+
1 row in set (0.18 sec)
Keep in mind these are spawn points you don't turn them all on and off at once, they're one at a time.
This query doesn't work when there are multiple spawnentrys for npcID which I'm sure there often will be.

I'll give ya a dollar to impliment DIsable/Enable_Spawn like I posted above.
Reply With Quote
  #15  
Old 03-21-2010, 04:38 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

Yeah it wont work out of the box without an expensive join for multiple spawn entries.

We are not adding another quest command that does the same thing for lazy people.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 07:31 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3