Quest not working
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 |
You should verify that any other quests works, first. Not just a "Hail", but something you have to input, then get a response.
|
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.) |
Resolution
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 :) |
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 |
interesting
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(); } |
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 |
so, it is me.
Ok thanks i will look into that.
|
All times are GMT -4. The time now is 04:36 PM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.