Was about to paste this when you apparently resolved your issues. Your quest still had the brackets in the wrong lines for your hasitem check and text responses to work properly. I adjusted that, I also did the => fix, and I removed all of the ;s and --s in your quest::say's, because you have to be careful when using certain characters in there, and I haven't personally used either of those in that way. So, I thought it might have something to do with your issue, but apparently not.
Here is the final quest after my edits:
Code:
sub EVENT_SAY {
if($text=~/hail/i) {
if(plugin::check_hasitem($client, 13732)) {
quest::say("What is this? You bring good tidings indeed, $name! Give me the item."); }
else {
quest::say("Do you not see I have enough [trouble] already? Your welcome here is doubtful"); }
}
if($text=~/trouble/i) {
quest::say("I sense my will is being bent by some [evil]."); }
if($text=~/evil/i) {
quest::emote("mumbles inaudibly and his eyes stare blankly"); }
if($text=~/cities/i) {
quest::say("Who knows where he may strike first? Go now, $name, and make preparations for war. Take the Interior Road to the Palace, and take word to the Captain of our good fortune, and of the threat that follows. He will know what to do. I will keep watch here the time being, but will make way there if it [comes to that]."); }
if($text=~/comes to that/i) {
quest::say("$name, listen to me carefully. You must take word to the Captain of the Guard. He knows nothing of this find, and very soon it may be too late. The Palace lies defenseless, and is vulnerable to the enemy's attack. The fate of the Palace is in your hands, $name. If you do not go quickly, who can tell what [fate] awaits them?"); }
if($text=~/fate/i) {
quest::say("There is little time to explain it all now, Go! I have made you a full citizen of the Realm and a knight of the Palace. On this journey you bear the authority of the king himself! Go! And may the blessing of the Realm go with you! My trusted advisor will take care of matters here."); }
}
sub EVENT_ITEM {
if(plugin::check_handin(\%itemcount, 13732 => 1)) {
quest::givecash("0","0","0","5000");
quest::exp(3500000);
quest::faction(19927,4000);
quest::ding();
quest::say("Well done, $name! We now have the item. Yet it is certain the enemy knows of our plans. Even now he is planning his attack. We must muster our defenses and set reinforcements on our [cities].");
$client->Message(15, "You receive 5000 platinum pieces");
$client->Message(15, "You receive 3500000 exp points");
$client->Message(15, "Your faction standing with the Realm could not get any better!"); }
else {
quest::say("I have no use for this, $name. Do not trouble me again. Unless you bring the item!");
plugin::return_items(\%itemcount); }
}
Notice that I also changed the format on how the quest is written so that it is easier to read. It is a good idea to write in a way similar to that so you can find mistakes quicker.
And, whenever I am working on a quest, I remove 1 section at a time until I narrow it down to a certain section and then I remove a line at a time until it works. Then add them in again until it breaks and fix the line that is causing the break to happen.