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 09-20-2009, 12:37 AM
Shin Noir's Avatar
Shin Noir
Legendary Member
 
Join Date: Apr 2002
Location: Seattle, WA
Posts: 506
Default

I really hate that 5 minute edit limit. So new post!

I'm working on a quest cheat sheet wiki. Not newb friendly, but a good quick reference is my objective.
This link should go to the $client->function() section, the message one and show the different color types noted in source.
__________________

~Shin Noir
DungeonEQ.com
Reply With Quote
  #2  
Old 09-20-2009, 12:55 AM
nightsta69
Hill Giant
 
Join Date: May 2005
Posts: 134
Default

does $client->Message() broadcast worldwide, or just to the client that triggered the event?
Reply With Quote
  #3  
Old 09-22-2009, 11:32 AM
Striat_eq
Fire Beetle
 
Join Date: Aug 2009
Location: LA
Posts: 12
Default

Quote:
Originally Posted by nightsta69 View Post
does $client->Message() broadcast worldwide, or just to the client that triggered the event?
The client that triggered.

quest::we(type, "message"); should work. This is world emote.
Reply With Quote
  #4  
Old 09-22-2009, 11:44 AM
nightsta69
Hill Giant
 
Join Date: May 2005
Posts: 134
Default

ah there we go, thats what i've been lookin for, thanx alot.
Reply With Quote
  #5  
Old 09-22-2009, 01:06 PM
nightsta69
Hill Giant
 
Join Date: May 2005
Posts: 134
Default

Code:
sub EVENT_LEVEL_UP {
	my $maxlvl = 75;
	my @classlist = ("Warrior", "Cleric", "Paladin", "Ranger", "ShadowKnight", "Druid", "Monk", "Bard", "Rogue", "Shaman", "Necromancer", "Wizard", "Magician", "Enchanter", "Beastlord", "Berserker");
	foreach my $curclass (@classlist) {
       if(!defined($qglobals{$curclass."maxlvl"}) && $ulevel == $maxlvl && $curclass eq $class) {
			quest::setglobal($curclass."maxlvl",$name,2,"F");
            quest::we(5,"$name has made the server first level $ulevel $class!");
            return;
	   }
	}
}
here is the completed code for announcments of server first lvl ups. if anyone wants it, have fun! thanks to shin nor and several others in this thread for helping me weed it out, and learn a thing or two! I plan on adding more custom stuff, as I delve deeper into the learning curve of perl, and C++. thanks again everyone.
Reply With Quote
  #6  
Old 09-20-2009, 01:05 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Yes, it will try to load the player.pl from the zone folder and if not there, it will load it from templates if one exists there. It would be nice if both could load and run simultaneously so you could have global stuff for player.pl as well as zone specific stuff.

I believe that for any scripts located in the templates folder, the server has to be restarted for them to take effect. Not 100% sure on that, but I think that was the conclusion I came to last time I tried playing around with it.

Also, some notes on your compilation of quest wiki pages:

EVENT_ENTER and EVENT_EXIT are both related to proximities, so they don't work from the player.pl. They are triggered when the client enters or exists a proximity around an NPC.

EVENT_SCALE_CALC is for item quest files, specifically for items with something set in the charmfile field. This event is for setting how much you want an item's stats to scale based on a percentage. Here is an example of a custom quest I made for a custom charm I have on my server:

/quests/items/CHRMTitanium.pl
Code:
sub EVENT_SCALE_CALC 
{
	if (defined($qglobals{titanium_relic})) {
		$questitem->SetScale($qglobals{titanium_relic}/10);
	}
	else {
		$questitem->SetScale(0);
	}
}
Note that the quest is stored in a folder name "items" instead of a zone name. Also, note that CHRMTitanium from the file name is what needs to be placed in the charmfile field for the item.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #7  
Old 09-20-2009, 01:14 AM
nightsta69
Hill Giant
 
Join Date: May 2005
Posts: 134
Default

Quote:
Originally Posted by trevius View Post
Yes, it will try to load the player.pl from the zone folder and if not there, it will load it from templates if one exists there. It would be nice if both could load and run simultaneously so you could have global stuff for player.pl as well as zone specific stuff.
so basically what your saying is, for this to work, I have to go through every zone and place my level up script in each player.pl? that'll completely defeat the purpose of what i'm tryin to do. i'm tryin to make something similar to the achievement styles of wow. including leveling, mob slaying, and several other things, which requires the use of quest globals and things such as this. if I have to put my scripts into each and every zone player.pl, that'll be WAY to much work. is there any way of changing the source to read from both? or what is stopping it from using both scripts?
Reply With Quote
  #8  
Old 09-20-2009, 01:54 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Quote:
Originally Posted by nightsta69 View Post
so basically what your saying is, for this to work, I have to go through every zone and place my level up script in each player.pl? that'll completely defeat the purpose of what i'm tryin to do. i'm tryin to make something similar to the achievement styles of wow. including leveling, mob slaying, and several other things, which requires the use of quest globals and things such as this. if I have to put my scripts into each and every zone player.pl, that'll be WAY to much work. is there any way of changing the source to read from both? or what is stopping it from using both scripts?
No, as long as there isn't already a file named player.pl in your zone folders, they will use the one put in the templates folder. But, again, I think you may need to restart the server for changes to the quest files in the template folder to take effect. You might want to do a search in your quest folder for any files named player.pl to see if there are any in certain zones you might want to use your system in. If so, you either need to remove them, or add your script pieces to the existing files there.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #9  
Old 09-20-2009, 02:11 AM
Shin Noir's Avatar
Shin Noir
Legendary Member
 
Join Date: Apr 2002
Location: Seattle, WA
Posts: 506
Default

Couldn't you also take the templates/player.pl file and add conditions in each event on the player's location, and if their location match up paste in the /zone/player.pl code?

__________________

~Shin Noir
DungeonEQ.com
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 10:57 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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3