EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Quests::Q&A (https://www.eqemulator.org/forums/forumdisplay.php?f=599)
-   -   Instances. (https://www.eqemulator.org/forums/showthread.php?t=36298)

Zamthos 01-20-2013 10:38 PM

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!

c0ncrete 01-20-2013 10:52 PM

what are you using for the version parameter?

Zamthos 01-20-2013 11:08 PM

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);
        }
}


c0ncrete 01-20-2013 11:11 PM

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

what are you using for the version parameter (after zone short name and before x)?

Zamthos 01-20-2013 11:13 PM

I'm using "1" for all of them, is that an issue? 0.o

c0ncrete 01-20-2013 11:15 PM

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

Zamthos 01-20-2013 11:16 PM

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.

Zamthos 01-21-2013 12:41 AM

No answers to how to do that? 0.o

c0ncrete 01-21-2013 01:23 AM

your question isn't very clear.

Zamthos 01-21-2013 01:37 PM

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. ;(

c0ncrete 01-21-2013 01:54 PM

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).

Zamthos 01-21-2013 02:55 PM

That makes more sense, thank you so much.

c0ncrete 01-21-2013 03:03 PM

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)


Zamthos 01-21-2013 03:25 PM

All right, worked perfectly, I misunderstood you the first time around, haha. And yeah, I probably won't be using instances in those zones.

Zamthos 01-21-2013 05:50 PM

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);
        }
}



All times are GMT -4. The time now is 12:04 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.