PDA

View Full Version : Quest trouble


jdam7459
06-01-2007, 06:07 PM
hello everyone. im having some trouble with my quests working properly. when i hail the npcs in-game they do not respond but i have hail responses for all of them, here's a sample quest for Captain Gramosi in the tutorial zone.

sub EVENT_SAY
{
if($text=~/Hail/i)
{
quest::say("ARGH always being interrupted! Do you not know that we have a city to save! Move along citizen!");
}

elsif($text=~/Woljag/i)
{
quest::say("Oh, I see. Sorry for being so rude then. I would let you join this regiment but...");
quest::emote("leans over an whispers...");
quest::say("You look like you have come prepared compared to these men.");
quest::emote("laughs.");
quest::say("So will you be needing some combat [supplies]?");
}

elsif($text=~/supplies/i)
{
quest::say("Here you go, what was it, $name? It's not much but you will be surprised how helpful it will be. Oh, and I you need [spells] also, let me know.");
quest::exp(1000);
quest::givecash(0,5,7,2);
quest::summonitem(99907);
}


elsif($text=~/spells/i}
{
quest::say("Evoker Eriona has some beginner's spells that she managed to salvage from North Qeynos. Speak with her about this matter. The blessing of Mithaniel Marr be upon you always!");
quest::selfcast(202);
quest::say("Oh, and give this to the armorer, he'll know what to do.");
quest::summonitem(99908);
}
}

this is saved as Captain_Gramosi.pl in eqemu\quests\tutorial directory. if someone could please help me with this it would be greatly appreicated! Thanks!

Kayot
06-02-2007, 03:03 AM
Try this, I removed the else parts.

sub EVENT_SAY
{
if($text=~/Hail/i)
{
quest::say("ARGH always being interrupted! Do you not know that we have a city to save! Move along citizen!");
}
if($text=~/Woljag/i)
{
quest::say("Oh, I see. Sorry for being so rude then. I would let you join this regiment but...");
quest::emote("leans over an whispers...");
quest::say("You look like you have come prepared compared to these men.");
quest::emote("laughs.");
quest::say("So will you be needing some combat [supplies]?");
}
if($text=~/supplies/i)
{
quest::say("Here you go, what was it, $name? It's not much but you will be surprised how helpful it will be. Oh, and I you need [spells] also, let me know.");
quest::exp(1000);
quest::givecash(0,5,7,2);
quest::summonitem(99907);
}
if($text=~/spells/i}
{
quest::say("Evoker Eriona has some beginner's spells that she managed to salvage from North Qeynos. Speak with her about this matter. The blessing of Mithaniel Marr be upon you always!");
quest::selfcast(202);
quest::say("Oh, and give this to the armorer, he'll know what to do.");
quest::summonitem(99908);
}
}

jdam7459
06-02-2007, 11:24 AM
Look at this real good, I figured it out thanks for the post

Original Code:

if($text=~/spells/i}

New Code:

if($text=~/spells/i)

Not being sleepy makes all the difference!

Thanks man.

John Adams
06-02-2007, 12:29 PM
if($text=~/spells/i}

I cannot tell you how many times I've done the same thing... I can't tell you because I refuse to admit it. :)

Angelox
06-02-2007, 12:44 PM
One nice thing about Linux desktops; even the common text editors are "code friendly", if i would have thought to copy/paste script to my editor, would have seen a small problem like that.

Kayot
06-02-2007, 02:49 PM
Well, this event has taught me to put a syntax color for brackets and parenthesis. I never even considered that an error could occur like this.

GeorgeS
06-03-2007, 05:53 AM
Actually syntax checking is a very good feature. My quest editor would have flagged that error as a missing right bracket.


I also see copying pasting will change appearance of brackets - even different fonts make them look odd. I use standard VB/C fonts.


GeorgeS