View Full Version : Quest not working
dispair
05-29-2007, 06:27 PM
I have created an npc in poknowledge, I created a npcname.pl file and tried hailing the npc and get nothing am i missing something. BTW i also tried sutting down and reloading server, #reloadpl, #reloadqst, #reloadquest, Zoneing, and also renaming the pl from npcname to npcid
Here is the pl file i made just a simple test one to get it working.
sub EVENT_SAY {
if ($text=~/hail/i) {
quest::say("test");
}
}
#End of File, Zone:poknowledge NPC:202365 -- Dnetpa
John Adams
05-30-2007, 01:51 AM
You should verify that any other quests works, first. Not just a "Hail", but something you have to input, then get a response.
So_1337
05-30-2007, 02:35 AM
Not sure why that wouldn't work, honestly. Sorry I can't be of help.
However, check your PMs :) (As this board doesn't send email notifications or make it really clear you have one, from what I've seen.)
dispair
05-30-2007, 03:30 AM
It looks like i was using too advanced of perl if i use operators such as && or elseif then it kills the part at witch those statements are used.
BTW the forum has popups for me when i am loged in that i got a pm and also i got an email :)
sfisque
05-30-2007, 05:06 AM
elsif works fine. (remember, perl uses elsif, not "else if" like java or c or c++)
logical operators should work fine as well.
as a rule of thumb,i usually test by executing the script from the CLI directly in perl. if perl complains about syntax issues, you need to correct them before testing inside the emu.
== sfisque
dispair
05-30-2007, 05:13 AM
yeah i used elsif but when i would put it in the npc would stop talking to me lol, lemme put in the code maybe somone can see if their is an error i missed.
sub EVENT_SAY {
# hail message
if ($text =~/Hail/i)
{
quest::say("Greetings $name. If you want me to cast a spell on you, please say so and I will give you my [pricelist]. If you want me to [heal] you, please say so and I will do it for free. I could also [provide] thy spells.");
}
# price lists
if($text=~/pricelist/i)
{
quest::say("I can cast the following spells : Spirit of Wolf = 1 pp // Dead Man Floating = 3 pp // Clarity II = 5 pp // Spiritual Light = 8 pp // Spiritual Radiance = 15 pp // Temperance = 1 peridot // Virtue = 4 peridots // KEI = 50 pp");
}
# spell scribe costs
if ($text =~/provide/i)
{
quest::say ("$name , I charge 1000pp for scribing all thou Spells..");
}
# Heal
if ($text=~/heal/i)
{
quest::selfcast(13);
}
#other than the skinspikes not working on my server, when i implement this the npc stops talking.
# Skinspike gives ****not working****
#if ($text =~/DoS/i)
#{
# quest::say ("Please be safe!");
# quest::summonitem("96420");
#}
#elsif ($text =~/DoS/i) && ($ulevel => 5) && ($ulevel <= 9) {
# quest::say ("Please be safe!");
# quest::summonitem("96421","20");
#}
#elsif ($text =~/DoS/i) && ($ulevel => 10) && ($ulevel <= 14) {
# quest::say ("Please be safe!");
# quest::summonitem("96422","20");
#}
#elsif ($text =~/DoS/i) && ($ulevel => 15) && ($ulevel <= 19) {
# quest::say ("Please be safe!");
# quest::summonitem("96423","20");
#}
#elsif ($text =~/DoS/i) && ($ulevel => 20) && ($ulevel <= 24) {
# quest::say ("Please be safe!");
# quest::summonitem("96424","20");
#}
#elsif ($text =~/DoS/i) && ($ulevel => 25) && ($ulevel <= 29) {
# quest::say ("Please be safe!");
# quest::summonitem("96425","20");
#}
#elsif ($text =~/DoS/i) && ($ulevel => 30) && ($ulevel <= 34) {
# quest::say ("Please be safe!");
# quest::summonitem("96426","20");
#}
#elsif ($text =~/DoS/i) && ($ulevel => 35) && ($ulevel <= 39) {
# quest::say ("Please be safe!");
# quest::summonitem("96427","20");
#}
#elsif ($text =~/DoS/i) && ($ulevel => 40) && ($ulevel <= 44) {
# quest::say ("Please be safe!");
# quest::summonitem("96428","20");
#}
#elsif ($text =~/DoS/i) && ($ulevel => 45) {
# quest::say ("Please be safe!");
# quest::summonitem("96429","20");
#}
}
# money for services part.
sub EVENT_ITEM
{
if($platinum == 1)
{
quest::say ("Good, stand where you are while I place the spirit of wolf in you!");
quest::selfcast(278);
}
if($platinum == 3)
{
quest::say ("Good, stand where you are while I make you like the dead!");
quest::selfcast(457);
}
if($platinum == 5)
{
quest::say ("Good, stand where you are while I clear your mind!");
quest::selfcast(1693);
}
if($platinum == 8)
{
quest::say ("Good, stand where you are while I summon a spiritual lite for you!");
quest::selfcast(2176);
}
if($platinum == 15)
{
quest::say ("Good, stand where you are while I summon spiritual radience for you!");
quest::selfcast(2177);
}
if($itemcount{10028} == 1)
{
quest::say ("Good, stand where you are while I produce your aura of temperance!");
quest::selfcast(3692);
}
# I was trying to do if($itemcount{10028} == 4) && ($ulevel > 30)
if($itemcount{10028} == 4)
{
quest::say ("Good, stand where you are while I fill you with virtue!");
quest::selfcast(3467);
}
if($platinum == 50)
{
quest::say ("Good, stand where you are while I expand your mind with Koadic's endless intelect!");
quest::selfcast(2570);
}
if($platinum == 1000)
{
quest::say ("Good, stand where you are while I cast");
quest::scribespells();
}
sfisque
05-30-2007, 05:17 AM
executing directly from CLI:
Missing right curly or square bracket at ./trial.pl line 119, at end of line
syntax error at ./trial.pl line 119, at EOF
Execution of ./trial.pl aborted due to compilation errors.
== sfisque
dispair
05-31-2007, 11:40 AM
Ok thanks i will look into that.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.