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 01-20-2013, 10:38 PM
Zamthos
Discordant
 
Join Date: Jan 2013
Posts: 284
Default Instances.

All right, so I recently got the Instances.pl to create Solo, Group, Guild, or Public instances, however, whenever I zone in to one of these there are no enemies, how would I go about spawning them here? My friend said I would have to spawn them within each individual Instance ID, if so, how would I do that? 0.o Thanks!
Reply With Quote
  #2  
Old 01-20-2013, 10:52 PM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

what are you using for the version parameter?
__________________
I muck about @ The Forge.
say(rand 99>49?'try '.('0x'.join '',map{unpack 'H*',chr rand 256}1..2):'incoherent nonsense')while our $Noport=1;
Reply With Quote
  #3  
Old 01-20-2013, 11:08 PM
Zamthos
Discordant
 
Join Date: Jan 2013
Posts: 284
Default

Whenever I use "solo", "group", or "guild" the NPCs do not spawn, the zone is completely empty.

EDIT: Script below.

Code:
sub EVENT_SAY
{
	
	my $Solo = quest::saylink("Solo", 1);
	my $Group = quest::saylink("Group", 1);
	my $Guild = quest::saylink("Guild", 1);
	my $Public = quest::saylink("Public", 1);
	my $NPCName = $npc->GetCleanName();
	
	
	
	if($text=~/Hail/i)
	{
		$client->Message(315, "$NPCName whispers to you, 'Do you want to create a Instance? If so, $Solo, $Group, or $Guild?'");
	}
	if($text=~/Solo/i)
	{
		plugin::SendToInstance("solo", "cshome", 1, 88.6, 389.9, -11.6, "EXP", 604800);
	}
	if($text=~/Group/i)
	{
		plugin::SendToInstance("group", "cshome", 1, 88.6, 389.9, -11.6, "EXP", 604800);
	}
	if($text=~/Guild/i)
	{
		plugin::SendToInstance("guild", "cshome", 1, 88.6, 389.9, -11.6, "EXP", 604800);
	}
}
Reply With Quote
  #4  
Old 01-20-2013, 11:11 PM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

you're using plugin::SendToInstance() right?

what are you using for the version parameter (after zone short name and before x)?
__________________
I muck about @ The Forge.
say(rand 99>49?'try '.('0x'.join '',map{unpack 'H*',chr rand 256}1..2):'incoherent nonsense')while our $Noport=1;
Reply With Quote
  #5  
Old 01-20-2013, 11:13 PM
Zamthos
Discordant
 
Join Date: Jan 2013
Posts: 284
Default

I'm using "1" for all of them, is that an issue? 0.o
Reply With Quote
  #6  
Old 01-20-2013, 11:15 PM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

if there is not a corresponding spawn2 entry in the database for the version number of the zone you are using, nothing will spawn.

EDIT:
version numbers start at 0
__________________
I muck about @ The Forge.
say(rand 99>49?'try '.('0x'.join '',map{unpack 'H*',chr rand 256}1..2):'incoherent nonsense')while our $Noport=1;
Reply With Quote
  #7  
Old 01-20-2013, 11:16 PM
Zamthos
Discordant
 
Join Date: Jan 2013
Posts: 284
Default

All right, we shall see, thanks for the information!

EDIT: How exactly would I set a range? Or would I have to do it like 1,000,000,000 times? ;(
Not necessarily a range, just multiple spawn groups.
Reply With Quote
  #8  
Old 01-21-2013, 12:41 AM
Zamthos
Discordant
 
Join Date: Jan 2013
Posts: 284
Default

No answers to how to do that? 0.o
Reply With Quote
  #9  
Old 01-21-2013, 01:23 AM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

your question isn't very clear.
__________________
I muck about @ The Forge.
say(rand 99>49?'try '.('0x'.join '',map{unpack 'H*',chr rand 256}1..2):'incoherent nonsense')while our $Noport=1;
Reply With Quote
  #10  
Old 01-21-2013, 01:37 PM
Zamthos
Discordant
 
Join Date: Jan 2013
Posts: 284
Default

I apologize for not being clear, what I'm asking is, where you said the version must match the spawngroupID, does that mean I have to put multiple spawngroups within that somehow? I don't understand how this is supposed to work. ;(
Reply With Quote
  #11  
Old 01-21-2013, 01:54 PM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

i didn't say anything about matching spawngroupID. it's the 'version' field in the spawn2 table you need to have correct when creating the instance.

Code:
mysql> describe spawn2;
+--------------+-----------------------+------+-----+----------+----------------+
| Field        | Type                  | Null | Key | Default  | Extra          |
+--------------+-----------------------+------+-----+----------+----------------+
| id           | int(11)               | NO   | PRI | NULL     | auto_increment |
| spawngroupID | int(11)               | NO   |     | 0        |                |
| zone         | varchar(32)           | YES  | MUL | NULL     |                |
| version      | smallint(5) unsigned  | NO   |     | 0        |                |
| x            | float(14,6)           | NO   |     | 0.000000 |                |
| y            | float(14,6)           | NO   |     | 0.000000 |                |
| z            | float(14,6)           | NO   |     | 0.000000 |                |
| heading      | float(14,6)           | NO   |     | 0.000000 |                |
| respawntime  | int(11)               | NO   |     | 0        |                |
| variance     | int(11)               | NO   |     | 0        |                |
| pathgrid     | int(10)               | NO   |     | 0        |                |
| _condition   | mediumint(8) unsigned | NO   |     | 0        |                |
| cond_value   | mediumint(9)          | NO   |     | 1        |                |
| enabled      | tinyint(3) unsigned   | NO   |     | 1        |                |
| animation    | tinyint(3) unsigned   | NO   |     | 0        |                |
+--------------+-----------------------+------+-----+----------+----------------+
15 rows in set (0.20 sec)
if you want to create an instance of cshome where the zone is populated with what is in the database by default, use 0 as the version in plugin::SendToInstance() instead of 1.


this is what spawn2 table entries look like for cshome:
Code:
mysql> select id, zone, version, spawngroupID, enabled from spawn2 where zone = 'cshome';
+-------+--------+---------+--------------+---------+
| id    | zone   | version | spawngroupID | enabled |
+-------+--------+---------+--------------+---------+
|  1154 | cshome |       0 |         5089 |       1 |
|  1155 | cshome |       0 |         5090 |       1 |
|  1156 | cshome |       0 |         5091 |       1 |
|  1157 | cshome |       0 |         5092 |       1 |
|  1158 | cshome |       0 |         5093 |       1 |
|  1159 | cshome |       0 |         5094 |       1 |
|  1160 | cshome |       0 |         5095 |       1 |
|  1161 | cshome |       0 |         5096 |       1 |
|  1162 | cshome |       0 |         5097 |       1 |
|  1163 | cshome |       0 |         5098 |       1 |
|  1164 | cshome |       0 |         5099 |       1 |
|  1165 | cshome |       0 |         5100 |       1 |
|  1166 | cshome |       0 |         5101 |       1 |
|  1167 | cshome |       0 |         5102 |       1 |
|  1168 | cshome |       0 |         5103 |       1 |
|  1169 | cshome |       0 |         5104 |       1 |
|  1170 | cshome |       0 |         5105 |       1 |
|  1171 | cshome |       0 |         5106 |       1 |
|  1172 | cshome |       0 |         5107 |       1 |
|  1173 | cshome |       0 |         5108 |       1 |
|  1174 | cshome |       0 |         5109 |       1 |
|  1175 | cshome |       0 |         5110 |       1 |
|  1176 | cshome |       0 |         5111 |       1 |
|  1177 | cshome |       0 |         5112 |       1 |
|  1178 | cshome |       0 |         5113 |       1 |
|  1179 | cshome |       0 |         5114 |       1 |
|  1180 | cshome |       0 |         5115 |       1 |
| 57892 | cshome |       0 |        32162 |       1 |
| 59368 | cshome |       0 |        48642 |       1 |
+-------+--------+---------+--------------+---------+
29 rows in set (0.00 sec)
note that all of the spawn2 entries have a version number of 0. that indicates the version of the zone those spawn2 entries are valid for. you can have multiple configurations (versions) of the same zone, each with different spawns (as well as quest scripts).
__________________
I muck about @ The Forge.
say(rand 99>49?'try '.('0x'.join '',map{unpack 'H*',chr rand 256}1..2):'incoherent nonsense')while our $Noport=1;
Reply With Quote
  #12  
Old 01-21-2013, 02:55 PM
Zamthos
Discordant
 
Join Date: Jan 2013
Posts: 284
Default

That makes more sense, thank you so much.
Reply With Quote
  #13  
Old 01-21-2013, 03:03 PM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

not a problem. you want to use 0 most of the time when creating instances.
unless you've done some heavy customization, there should only be 3 zones with other versions numbers in your database.

Code:
select zoneidnumber, version, long_name from zone where version > 0;
+--------------+---------+---------------------+
| zoneidnumber | version | long_name           |
+--------------+---------+---------------------+
|           25 |       1 | The Nektulos Forest |
|          151 |       1 | The Bazaar          |
|          114 |       1 | Skyshrine           |
+--------------+---------+---------------------+
3 rows in set (0.06 sec)
__________________
I muck about @ The Forge.
say(rand 99>49?'try '.('0x'.join '',map{unpack 'H*',chr rand 256}1..2):'incoherent nonsense')while our $Noport=1;
Reply With Quote
  #14  
Old 01-21-2013, 03:25 PM
Zamthos
Discordant
 
Join Date: Jan 2013
Posts: 284
Default

All right, worked perfectly, I misunderstood you the first time around, haha. And yeah, I probably won't be using instances in those zones.
Reply With Quote
  #15  
Old 01-21-2013, 05:50 PM
Zamthos
Discordant
 
Join Date: Jan 2013
Posts: 284
Default

I implemented this into the zone Karnor's Castle and the players are saying it's sending them to different instances even if they're in the same group. Script below:

EDIT: Also wondering about the more advanced version of the script with buttons and everything, where could I find that?

Code:
sub EVENT_SAY
{
	
	my $Solo = quest::saylink("Solo", 1);
	my $Group = quest::saylink("Group", 1);
	my $Guild = quest::saylink("Guild", 1);
	my $NPCName = $npc->GetCleanName();
	
	
	
	if($text=~/Hail/i)
	{
		$client->Message(315, "$NPCName whispers to you, 'Do you want to create an instance? If so, $Solo, $Group, or $Guild?'");
	}
	if($text=~/Solo/i)
	{
		plugin::SendToInstance("solo", "karnor", 0, 314.4, 24.8, 4.5, "EXP", 604800);
	}
	if($text=~/Group/i)
	{
		plugin::SendToInstance("group", "karnor", 0, 314.4, 24.8, 4.5, "EXP", 604800);
	}
	if($text=~/Guild/i)
	{
		plugin::SendToInstance("guild", "karnor", 0, 314.4, 24.8, 4.5, "EXP", 604800);
	}
}
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 11:17 PM.


 

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