PDA

View Full Version : Question about Perl Quest Stuff


xtestx
03-26-2004, 10:02 PM
I do not understand all this Perl Quest stuff... I see a bunch of code that looks and makes sense but then... wtf do I do with it? like this one

sub EVENT_SAY{
if($mname =~ /^Soulbinder/{

if($text=~/Hail/i){quest::say("Greetings $name. When a hero of our world is slain their soul returns to the place it was last bound and the body is reincarnated. As a member of the Order of Eternity it is my duty to [bind your soul] to this location if that is your wish.");}
if($text=~/bind my soul/i) {
quest::say("Binding your soul. You will return here when you die.");
quest::castspell($userid,2049);
}
}

#your standard default.pl EVENT_SAY behavior
}

used in an example by smogo on http://www.eqemulator.net/forums/viewtopic.php?t=13265

Where exactly would I put that code to make Dr.Phil01 say that?

Monrezz
03-26-2004, 11:38 PM
Read the quest guide stickied at the top, it tells you. Needs to go in C:\EQEMu\quests\$zonesn where $zonesn is the short name of the zone. Needs to be saved as the NPCID is the NPC you wish to assign the quest to.

xtestx
03-27-2004, 12:04 AM
so if i wanted

King_Phil to say "Greetings" after you hail I would use

sub EVENT_SAY{
if($mname =~ /^King_Phil/{

if($text=~/Hail/i){quest::say("Greetings $name.");}
}
}

#your standard default.pl EVENT_SAY behavior
}

and save that in notepad as what type of file again? then put it in the quests folder? and is $zonesn a folder or...?

xtestx
03-27-2004, 12:10 AM
the sticky says

This is for EQEMu 0.5.3+ With Perl Enabled
If you do not see the following in zone.exe when you boot it up you do NOT have Perl Enabled ones.
[Status] Loading embedded perl
[Status] Loading perlemb plugins.


how do i enable it ?

smogo
03-28-2004, 11:49 AM
It can't be enable as an option. got to use the binaries with perl enabled (compile it or download).

Monrezz
03-29-2004, 04:44 AM
sub EVENT_SAY{
if($mname =~ /^King_Phil/{

if($text=~/Hail/i){quest::say("Greetings $name.");}
}
}

#your standard default.pl EVENT_SAY behavior
}

Should be:


sub EVENT_SAY
{
if(($mname =~ /King_Phil/) && ($text=~/Hail/i))
{
quest::say("Greetings $name.");
}
}


and save that in notepad as what type of file again? then put it in the quests folder? and is $zonesn a folder or...?

Read the sticky. Save it as NPCID.pl in the folder relevant to the zone's short name of where the NPC is. So if King_Phil is in East Freeport and had ID of 546 the file would be: C:\EQEMu\quests\freporte\546.pl.

By $zonesn I meant the short name of the zone. To find it out, see the zone names list or use $zonesn in Perl as a variable.

RexChaos
03-29-2004, 07:02 AM
So...is there a 5.5 version with perl enabled? If not, will there be soon?

smogo
03-29-2004, 08:50 AM
So...is there a 5.5 version with perl enabled? If not, will there be soon?


5.5 is perl compliant. Means that you can get a 5.5 perl enabled :
- if you get dr1 snapshot from Shawn's or rc1 snapshot from Khuong's (!yes, i found it) and compile it
- if you get compiled binaries where perl has been enabled

Can't tell for sure, but can bet Nilar's or Jezebell's win binaries were perl enabled. Better check ...

RexChaos
03-29-2004, 09:06 AM
Cool, thanks!