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 05-05-2010, 08:30 PM
snedecor
Fire Beetle
 
Join Date: Apr 2009
Location: qatar
Posts: 13
Default What is wrong with this? Super simple

PHP Code:
sub EVENT_SAY {
if((
$text=~/hail/i) && (defined($qglobals{illsalin})) && ($qglobals{illsalin} == 0)){
$client->Message(5,"Have you heard of the new [tyrant] of Last World?");
quest::setglobal("illsalin","1","5","F");
}
elsif(($text=~/tyrant/i) && (defined($qglobals{illsalin})) && ($qglobals{illsalin} == 1)){ 
$client->Message(5,"His name is Vertallis, he is a monstrosity from another realm who subsides in the Caves of Time. He holds the key to the next realm of [adventure]...");
}
elsif(($text=~/adventure/i) && (defined($qglobals{illsalin})) && ($qglobals{illsalin} == 1)){
$client->Message(5,"Yes, the ancient Ruins of Illsalin. Deep within the ruins dwells creatures beyond any power you have ever seen...you must gain access to these ruins. One of adventurers went there several seasons back and has never returned...he could be alive. Poor Daemonloth...");


I dont understand why this simple script doesnt work? It's a hail to set globals - thats it. I've written tons of scripts its just that there must be a space somewhere im not seeing or something.... quite irritating actually. Maybe someone sees something i dont - Thanks for your time.


Just to eliminate some things - .pl file is named correctly, in correct file - npcs globals are turned on and everything. When you hail, he does nothing.


Also I've used the global check for "Zero" before and never had problems - but to be sure i removed it and just put if hailed = then he says stuff.... still nothing? I dont understand.
Reply With Quote
  #2  
Old 05-05-2010, 08:39 PM
nilbog
Hill Giant
 
Join Date: Nov 2007
Posts: 198
Default

You're missing a curly bracket here.

Code:
sub EVENT_SAY {
if(($text=~/hail/i) && (defined($qglobals{illsalin})) && ($qglobals{illsalin} == 0)){
$client->Message(5,"Have you heard of the new [tyrant] of Last World?");
quest::setglobal("illsalin","1","5","F");
}
elsif(($text=~/tyrant/i) && (defined($qglobals{illsalin})) && ($qglobals{illsalin} == 1)){ 
$client->Message(5,"His name is Vertallis, he is a monstrosity from another realm who subsides in the Caves of Time. He holds the key to the next realm of [adventure]...");
}
elsif(($text=~/adventure/i) && (defined($qglobals{illsalin})) && ($qglobals{illsalin} == 1)){
$client->Message(5,"Yes, the ancient Ruins of Illsalin. Deep within the ruins dwells creatures beyond any power you have ever seen...you must gain access to these ruins. One of adventurers went there several seasons back and has never returned...he could be alive. Poor Daemonloth...");
} 
}

Reply With Quote
  #3  
Old 05-05-2010, 08:48 PM
snedecor
Fire Beetle
 
Join Date: Apr 2009
Location: qatar
Posts: 13
Default

Okay well i didnt copy and paste the last bracket - but it is there - sorry. Good lookin out though.
Reply With Quote
  #4  
Old 05-05-2010, 09:14 PM
joligario's Avatar
joligario
Developer
 
Join Date: Mar 2003
Posts: 1,498
Default

Try this:

Code:
sub EVENT_SAY {
  if($text=~/hail/i) {
    if(!defined($qglobals{illsalin})) {
      $client->Message(5,"Have you heard of the new [tyrant] of Last World?");
      quest::setglobal("illsalin",1,5,"F");
    }
    else {
      quest::say("Welcome back, $name. Do you need to hear about the [tyrant] Vertallis again?");
    }
  }
  if(($text=~/tyrant/i) && (defined($qglobals{illsalin})) && ($qglobals{illsalin} == 1)) {
    $client->Message(5,"His name is Vertallis, he is a monstrosity from another realm who subsides in the Caves of Time. He holds the key to the next realm of [adventure]...");
  }
  elsif(($text=~/adventure/i) && (defined($qglobals{illsalin})) && ($qglobals{illsalin} == 1)) {
    $client->Message(5,"Yes, the ancient Ruins of Illsalin. Deep within the ruins dwells creatures beyond any power you have ever seen...you must gain access to these ruins. One of adventurers went there several seasons back and has never returned...he could be alive. Poor Daemonloth...");
  }
}
If it still doesn't work, then it is somewhere else in the file that is broken.

This is assuming, as you said above, that this NPC has qglobals set to 1 in the database.
Reply With Quote
  #5  
Old 05-05-2010, 11:20 PM
snedecor
Fire Beetle
 
Join Date: Apr 2009
Location: qatar
Posts: 13
Default

I'll give it a shot - also do you know of a way to reset script on mob without restarting? Cuz i got like 30 players on my server on average so i dont wanna keep restarting - Only asking cuz I never tried. Thanks
Reply With Quote
  #6  
Old 05-06-2010, 12:01 AM
nilbog
Hill Giant
 
Join Date: Nov 2007
Posts: 198
Default

#reloadpl

#repop
Reply With Quote
  #7  
Old 05-06-2010, 01:05 AM
snedecor
Fire Beetle
 
Join Date: Apr 2009
Location: qatar
Posts: 13
Default

#reloadpl will save me so much time =) Thank you. Also for the portion that jolligoro submitted - when i hail him he says the quest::say part and doesnt respon to "tyrant" at all....? Im wondering why any of the;

$client->Message(5,"Have you heard of the new [tyrant] of Last World?");

arent working? I just dont understand... the syntax/text everything is exactly the same as working quests - is there some plugin fix or something? Not quite sure what to do to fix - Thanks.
Reply With Quote
  #8  
Old 05-06-2010, 02:36 AM
snedecor
Fire Beetle
 
Join Date: Apr 2009
Location: qatar
Posts: 13
Default

nvm I figured it out - just missing some brackets - Thanks
Reply With Quote
  #9  
Old 06-08-2010, 11:39 PM
Zordana
Sarnak
 
Join Date: Jan 2010
Posts: 38
Default

http://ult-tex.net/tools/ultra/line_count.pl

i like to use this if i wanna check for syntax errors
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 08:29 PM.


 

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