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-03-2011, 04:25 PM
lanystvyl
Sarnak
 
Join Date: Jan 2010
Posts: 53
Default assign quest to a door?

Is it possible to assign a quest to a door more specifically a book that takes you to PoK.

I shut down access to PoK, and when someone clicks on the book I want a pop-up window to open. I saw a global pop-up but not sure how to use it on doors.
I remember in the weeks before the expansion on live they did similar. trying to recreate it.
Reply With Quote
  #2  
Old 03-03-2011, 05:27 PM
Randymarsh9
Dragon
 
Join Date: Dec 2007
Posts: 658
Default

sub EVENT_CLICKDOOR{
is probably what you're looking for. Put that into a player.pl in whatever zones
Reply With Quote
  #3  
Old 03-03-2011, 06:39 PM
lanystvyl
Sarnak
 
Join Date: Jan 2010
Posts: 53
Default

like this?

sub EVENT_CLICKDOOR_POKNRKPORT500 {
my $Indent = plugin::PWIndent();
quest::popup("Plane of Knowledge", "$Indent Seems that the language is illegible to you.");

}
Reply With Quote
  #4  
Old 03-03-2011, 09:17 PM
Congdar
Developer
 
Join Date: Jul 2007
Location: my own little world
Posts: 751
Default

take a look at the player.pl in skyfire. it is a good example of EVENT_CLICKDOOR. also take a look at this wiki entry
http://www.eqemulator.net/wiki/wikka...rQuestExamples
note the issue with two id's for the same door.
__________________
The Realm
Reply With Quote
  #5  
Old 03-03-2011, 09:22 PM
lanystvyl
Sarnak
 
Join Date: Jan 2010
Posts: 53
Default

Edit---

Shouldn't there be a popup.pl in the plugins folder?

Edit--

not sure if this is closer it didn't work.

sub EVENT_CLICKDOOR {

#Nektulos Book, trying to open a window
if($doorid == 77 || $doorid == 333){
my $Indent = plugin::PWIndent();
quest::popup("Plane of Knowledge", "$Indent Seems that the language is illegible to you.");

}
}
Reply With Quote
  #6  
Old 03-03-2011, 09:30 PM
Congdar
Developer
 
Join Date: Jul 2007
Location: my own little world
Posts: 751
Default

the log files have some perl errors logged that will help with debugging your script. don't forget to use #reloadpl after your save... I know it's needed for npcs but not sure if it works for doors... maybe a full restart is required.
__________________
The Realm
Reply With Quote
  #7  
Old 03-03-2011, 09:51 PM
sorvani
Dragon
 
Join Date: May 2010
Posts: 966
Default

I was playing with the player.pl in BoT trying to make the Agnarr door port up the entire raid and #reloadpl work fine to get the changes active.
Reply With Quote
  #8  
Old 03-03-2011, 10:36 PM
lanystvyl
Sarnak
 
Join Date: Jan 2010
Posts: 53
Default

I got a popup to work on an NPC, wondering if the door id is incorrect.
Reply With Quote
  #9  
Old 03-03-2011, 10:48 PM
lanystvyl
Sarnak
 
Join Date: Jan 2010
Posts: 53
Default

got it....now I can mess with what goes in it the code ended up looking like this;


sub EVENT_CLICKDOOR {
if($doorid == 78 || $doorid == 334) {
quest::popup("Test", "I am going to start with a very basic line");

}

}


going to mess with it a little but at least it pop's when clicked thanks to all for pointing out the resources.
Reply With Quote
  #10  
Old 03-04-2011, 03:43 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Just an FYI, but adding 256 to the door ID and using OR is no longer required such as, "($doorid == 78 || $doorid == 334)". Now, you can just use "($doorid == 78 )", as I corrected the +256 issue a while back.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #11  
Old 03-04-2011, 08:49 AM
lanystvyl
Sarnak
 
Join Date: Jan 2010
Posts: 53
Default

thanks trev your awesome
Reply With Quote
  #12  
Old 04-29-2011, 01:07 AM
ChaosSlayerZ's Avatar
ChaosSlayerZ
Demi-God
 
Join Date: Mar 2009
Location: Umm
Posts: 1,492
Default

I follow up question if I may

So this is a simple Door click code:

Code:
sub EVENT_CLICKDOOR 
{
	
	#postorms enter check
	if($doorid == 16) {
		if($client->GetLevel() >= 55 {
			if(quest::has_zone_flag(210) != 1) {
				quest::set_zone_flag(210);
				$client->Message(15, "You have received a character flag!");
			}
		}
	}
}
it check if you are lev 55, if yes it gives you access flag to enter PoStorms.
this assumes that zone is flag LOCKED to begin with.

If you NOT lev 55, it will bounce you back

1st question:

-player hits lev 55
-players clicks the door
-player gets the flag
-player DIES, looses a level

CAN HE STILL ENTER THE ZONE? He should still have flag from before.
But if I am reading the script right- the level is ALWAYS checked? or not?

But if its always checked, what a point of setting a zone flag?

My 2nd question is, is it possible to create some sort of "bounce back" WITHOUT using flags at all?

So the script will check your level, and only let you in, if level is right - without setting any flags?

thanks!
Reply With Quote
  #13  
Old 04-29-2011, 05:01 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Well, you could edit the door itself in the DB and remove the destination zone and instead, add the zoning part into the quest script so you can limit it however you want.

There are multiple ways to rewrite that script to fit whatever need you have. You could add a flag check as an OR with the level check so it lets them back in as long as they are the right level or have the flag. You could also use quest::getlevel(4) to check their max level ever reached instead of checking their current level, which would still allow them in if they lost a level.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #14  
Old 04-29-2011, 11:09 AM
ChaosSlayerZ's Avatar
ChaosSlayerZ
Demi-God
 
Join Date: Mar 2009
Location: Umm
Posts: 1,492
Default

bah, I totally forgot that door doesn't need to lead anywhere, so I can trigger it off any clickeable object!
thanks Trev, that's solves my issues! =)
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 01:45 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