Let me first say I have the latest database and quest files using the updater. This forum was labeled Q&A so let me know if i am posting in the wrong section.
A friend and I have been doing the Iksar Shadowknight Khukri quests. So far every single part of the quest, when handing in the proper items, will give you back the items saying that they don't know what to do with them and at the same time completing the quest handing you the proper reward. This allows you to just keep handing the same item in over and over again for the reward. This has occurred with every NPC in the quest line.
My ignorant self has tried to determine what is wrong by comparing it to a quest file that works properly. The only difference i saw so far is plugin::check_handin is in the successful file. I tried implementing that and it still fails. I tried so therefor I am here to seek actual expert knowledge now!
Here is an exert from one of the quest NPCs. I assume whatever is broke with this one will be the same for the rest.
Code:
sub EVENT_ITEM {
if(($itemcount{12496} == 1) && ($itemcount{5123} == 1)){ #Test of the Zealot (Greenmist Quest 4/8)
quest::say("At last!! The Chalp diagram. I shall see that the emperor gets this at once. You have proven yourself more than just a mere knight, you are a zealot. Being new to the temple we have need of you in a [matter of betrayal].");
quest::summonitem(5124);
quest::givecash("0","0","6","1");
quest::exp(1600);
quest::ding();
quest::faction(62,20);
quest::faction(193,10);
}
elsif(($itemcount{1729} == 1) && ($itemcount{1730} == 1) && ($itemcount{5124} == 1)){ #Test of Betrayal (Greenmist Quest 5/8)
quest::say("Congratulations! You are now a true crusader, but there is no time for celebration. We have lost two of our operatives. Crusaders Golin and Fodcod were dispatched to seek out an ancient artifact, the [visceral dagger]. Where they have gone, I do not know. They have been gone far too long. Find them and return the dagger to me with your crusader khukri and you shall be a hero.");
quest::summonitem(5125);
quest::givecash("0","0","0","2");
quest::exp(2000);
quest::ding();
quest::faction(62,20);
quest::faction(193,10);
}
elsif(($itemcount{7324} == 1) && ($itemcount{5125} == 1)){ #Test of the Hero (Greenmist Quest 6/8)
quest::emote("gazes in astonishment at the dagger. 'Ahhh!! You have brought the sacred visceral dagger back to the Temple of Terror. Let all be aware that the great $name has returned to Cabilis a hero!! You now wield the weapon of a hero. Hail, $name, hero of the Crusaders of Greenmist.");
quest::summonitem(5126);
quest::givecash("0","0","0","3");
quest::exp(3000);
quest::ding();
quest::faction(62,20);
quest::faction(193,10);
}
plugin::try_tome_handins(\%itemcount, $class, 'Shadowknight');
plugin::return_items(\%itemcount);
}
EDIT: I did test adding plugin::check_handin after if( and also after if( and elseif(. Both ways and it didn't appear to work. I did not reset server and will test that. I had zoned and repopped the zone during my tests.