Go Back   EQEmulator Home > EQEmulator Forums > Quests > Quests::Custom

Quests::Custom Custom Quests here

Reply
 
Thread Tools Display Modes
  #1  
Old 08-12-2017, 05:38 PM
The_Beast's Avatar
The_Beast
Discordant
 
Join Date: May 2016
Location: Under a rock
Posts: 290
Default Simple Instance Zone Script

This is not intended as an uber custom script, it's just for "noobs" who are learning
and this is something simple they can start with to create an instance of any zone.
I am using this on my own server for some customization I am doing and thought I would
share it with people who could use the help getting started with some basic instancing.
Many people have a lot more advanced perl knowledge on this site, than I do, but I am
not interested (yet), in poking around with learning lua, lol. Someday maybe.

In this sample, it sends the player to an instance version of Forgotten Halls, but it
could be used on any zone. Where you see the expression "fhalls", that is just the phrase
I chose to use. It could be anything you want, as long as it is in place where you see
it (in red).
Everything you see in red is what you would need to edit to your own preferences for the
zone you are using. (plus the "say" text, level, etc.) In this example, the player needs
to be level 14 to get the instance from the NPC that you put this script on.
The MovePCInstance "998" is the zone ID number, then the x,y,z coords.
Where you see "14400", that is the timer (in seconds) for the instance to expire.
Just put something like this on an NPC script (whatever_name.pl) and if you're testing
in-game type #reloadquest everytime you edit a quest script.
For anyone who hasn't visited the perl reference wiki yet, tons of help on there.
http://wiki.eqemulator.org/p?Ultimat...rence&frm=Main

Code:
my @players = ();
my $group;
my $instance;

sub EVENT_SAY {

	if (($text =~/hail/i) && ($ulevel > 14)) {
			quest::say("Greetings $name, Are you interested in exploring the Forgotten [Halls] ?");
	}
	elsif ($text =~/halls/i && ($ulevel < 14)) {
			quest::say("Go away $name I am too busy for you right now.");
	}
	elsif ($text =~/halls/i && ($ulevel > 14)) {
			quest::say("Ok $name just let me know when you are [ready] and I will send you there.");
	}
	elsif (($text =~/ready/i) && ($ulevel > 14)) {
					
		if (defined($qglobals{"fhallsInsta1"})) {
										$fhallsInst1 = $qglobals{"fhallsInsta1"};
										quest::setglobal("fhalls", 1, 5, "D1");
										quest::AssignToInstance($fhallsInst1);
										quest::MovePCInstance(998, $fhallsInst1, -58.63, -880.25, -12.81);
										quest::say("Ok $name Away you go to Forgotten Halls.");
									}
									else {
										$fhallsInst1 = quest::CreateInstance("fhalls", 0, 14400);
										quest::AssignToInstance($fhallsInst1); 
										quest::setglobal("fhallsInsta1",$fhallsInst1,365,"D1");
										quest::MovePCInstance(998, $fhallsInst1, -58.63, -880.25, -12.81);
										quest::say("Ok $name Away you go to Forgotten Halls.");
									}	
							
		}
}
Reply With Quote
  #2  
Old 08-13-2017, 03:42 AM
Kingly_Krab's Avatar
Kingly_Krab
Developer
 
Join Date: May 2013
Location: United States
Posts: 1,531
Default



/10char
Reply With Quote
  #3  
Old 08-25-2018, 12:43 PM
Slaymore
Fire Beetle
 
Join Date: Nov 2007
Posts: 21
Default

Is there a way to scale this instance?

Last edited by Slaymore; 08-25-2018 at 12:44 PM.. Reason: typo
Reply With Quote
  #4  
Old 09-02-2018, 01:55 PM
Arune01
Fire Beetle
 
Join Date: Apr 2014
Posts: 3
Default

Does this automatically close after a set period of time?
Reply With Quote
  #5  
Old 09-02-2018, 08:36 PM
Scorpious2k's Avatar
Scorpious2k
Demi-God
 
Join Date: Mar 2003
Location: USA
Posts: 1,068
Default

What happens when the player is level 14?
__________________
Maybe I should try making one of these servers...
Reply With Quote
  #6  
Old 09-02-2018, 08:50 PM
Splose
Hill Giant
 
Join Date: Apr 2014
Posts: 171
Default

http://www.eqemulator.org/forums/showthread.php?t=32609
Reply With Quote
Reply

Thread Tools
Display Modes

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 08:04 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 - 2020, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3