Quest Help
Hey guys, So Im not a pro at writing these yet. So, I have come to you guys to correct me in my flaws and perhaps give me an idea as to why this is not working (Its responding to the Hail), However it is just eating the hand ins.
Thanks! Here is the Code: #$item1 - The object in the first give slot of the give window. #$item2 - The object in the second give slot of the give window. #$item3 - The object in the third give slot of the give window. #$item4 - The object in the fourth give slot of the give window. sub EVENT_SAY { if ($text =~/hail/i) { plugin::Whisper ("Greetings $name! If you have found a satchel of your class and perhaps a box... I could convert them into something of use for you! *Please give me the satchel first and the box second, in the same transaction*"); } } sub EVENT_ITEM { if ($item1== 1079 && $item2== 12021) #Plate Helm { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1442"); } { if ($item1== 1096 && $item2== 12021) #Plate Arm { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1441"); } { if ($item1== 1119 && $item2== 12021) #Plate Wrist { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1445"); } { if ($item1== 1261 && $item2== 12021) #Plate Leg { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1447"); } { if ($item1== 1264 && $item2== 12021) #Plate Boot { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1448"); } { if ($item1== 1266 && $item2== 12021) #Chain Boot { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("11563"); } { if ($item1== 1267 && $item2== 12021) #Chain Leg { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1533"); } { if ($item1== 1270 && $item2== 12021) #Chain Wrist { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1502"); } { if ($item1== 1319 && $item2== 12021) #Chain Arm { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1458"); } { if ($item1== 1323 && $item2== 12021) #Chain Chest { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1450"); } { if ($item1== 1352 && $item2== 12021) #Chain Helm { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1449"); } { if ($item1== 1353 && $item2== 12021) #Leather Helm { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1399"); } { if ($item1== 1372 && $item2== 12021) #Leather Chest { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1432"); } { if ($item1== 1373 && $item2== 12021) #Leather Arm { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1434"); } { if ($item1== 1374 && $item2== 12021) #Leather Wrist { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1435"); } { if ($item1== 1375 && $item2== 12021) #Leather Leg { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1439"); } { if ($item1== 1377 && $item2== 12021) #Leather Boot { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1440"); } { if ($item1== 1378 && $item2== 12021) #Cloth Boot { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1396"); } { if ($item1== 1379 && $item2== 12021) #Cloth Leg { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1395"); } { if ($item1== 1380 && $item2== 12021) #cloth Wrist { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1388"); } { if ($item1== 1381 && $item2== 12021) #Cloth Arm { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1387"); } { if ($item1== 1382 && $item2== 12021) #Cloth Chest { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1386"); } { if ($item1== 1383 && $item2== 12021) #Cloth Helm { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1385"); } { if ($item1== 1118 && $item2== 12021) #Plate Chest { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1443"); } { if ($item1== 1394 && $item2== 12021) #Cloth Glove { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1389"); } { if ($item1== 1393 && $item2== 12021) #Leather Glove { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1436"); } { if ($item1== 1392 && $item2== 12021) #Chain Glove { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1503"); } { if ($item1== 1391 && $item2== 12021) #Plate Glove { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thank,"iksar,"male"); quest::SummonItem("1446"); } } } |
OK, so I found a synstax error that I just corrected,
plugin::vtell("thank,"iksar,"male"); is now plugin::vtell("thanks","iksar,"male"); In all lines, I did a #reloadqst, and ensure I had it labled as the proper NPCID. So, It must have something to do with the Syntax format. Thanks to anyone who can give me advise! Apoc. |
At a glance, your vtell C&P's are all broken. Take a look at your quotes
Code:
#is You also might look into the various item plugins as you can easily test for both in any order and then return unused items at the end of the function. |
Lol, thanks for the syntax correction =) However, when you edited your post and said there are two places where the quotes are broken, Im not seeing the second location, unless you ment the syntax on "Thank(s)".
As far the the various item plugins, I didnt follow you at all there. Could you perhaps re explain? Thanks =) Apoc. |
You showed corrections around "thank" while retaining "iksar,
Take a look at quests/plugins/global.pl for the hasItems and takeItems functions. They take hashes for args, so hasItems(itemid1 => qtyrequired1, itemid2 => qtyrequired2), etc. They work the same way except one removes the necessary items and the other doesn't. Finish with returnUnusedItems(); to give anything left in the items array back to the client. |
Ok, go it thanks!
So it should look like- sub EVENT_ITEM { if (plugin::check_handin(\%itemcount, 1079 => 1, 12021 => 1)) #Plate Helm { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::SummonItem("1442"); } { Right? |
summonitem should be all lowercase
|
Ok, thanks joligario. I changed that. But its still eating items
Any other ideas? =D Thanks, Apoc. |
Just looking at your orignal post it looks like you have waaay to many {. I counted 57 { and only 31 } which causes big problems.
Maybe just a case of copy/paste gone wrong... |
Ok, So. I looked at your comment blackdragonsdg. Thanks for pointing that out. Its allways nice to have another set of eyes looking at something.
So here is where im at with it. sub EVENT_SAY { if ($text =~/hail/i) { plugin::Whisper ("Greetings $name! If you have found a satchel of your class and perhaps a box... I could convert them into something of use for you! *Please give me the satchel first and the box second, in the same transaction*"); } } sub EVENT_ITEM { if(plugin::check_handin(\%itemcount, 1079 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1442"); } if(plugin::check_handin(\%itemcount, 1096 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1441"); } if(plugin::check_handin(\%itemcount, 1119 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1445"); } if(plugin::check_handin(\%itemcount, 1261 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1447"); } if(plugin::check_handin(\%itemcount, 1264 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1448"); } if(plugin::check_handin(\%itemcount, 1266 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("11563"); } if(plugin::check_handin(\%itemcount, 1267 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1533"); } if(plugin::check_handin(\%itemcount, 1270 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1502"); } if(plugin::check_handin(\%itemcount, 1319 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1458"); } if(plugin::check_handin(\%itemcount, 1323 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1450"); } if(plugin::check_handin(\%itemcount, 1352 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1449"); } if(plugin::check_handin(\%itemcount, 1353 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1399"); } if(plugin::check_handin(\%itemcount, 1372 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1432"); } if(plugin::check_handin(\%itemcount, 1373 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1434"); } if(plugin::check_handin(\%itemcount, 1374 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks,"iksar","male"); quest::summonitem("1435"); } if(plugin::check_handin(\%itemcount, 1375 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1439"); } if(plugin::check_handin(\%itemcount, 1377 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1440"); } if(plugin::check_handin(\%itemcount, 1378 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1396"); } if(plugin::check_handin(\%itemcount, 1379 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1395"); } if(plugin::check_handin(\%itemcount, 1380 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1388"); } if(plugin::check_handin(\%itemcount, 1381 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1387"); } if(plugin::check_handin(\%itemcount, 1382 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1386"); } if(plugin::check_handin(\%itemcount, 1383 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1385"); } if(plugin::check_handin(\%itemcount, 1118 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1443"); } if(plugin::check_handin(\%itemcount, 1394 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1389"); } if(plugin::check_handin(\%itemcount, 1393 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1436"); } if(plugin::check_handin(\%itemcount, 1392 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1503"); } if(plugin::check_handin(\%itemcount, 1391 => 1, 12021 => 1)) { plugin::Whisper("Thanks for these Items $name!. Here's your reward."); plugin::vtell("thanks","iksar","male"); quest::summonitem("1446"); } } } I have a feeling im useing this line wrong, but im not sure in what way. if(plugin::check_handin(\%itemcount, 1391 => 1, 12021 => 1)) |
No, that is fine. You should use a program like Notepad++. The colorful GUI will show you that you still missed a quote at item 1374/12021 and an extra close bracket at the end of the file.
EDIT: Here's a cleaned up version. Didn't test it, just going off what you have. Code:
sub EVENT_SAY { |
Starting to look much better than it did at first.
One tip would be to reduce your script down to minimum if you are having issues like that and work up from there. So, in this case, you might start like this: Code:
sub EVENT_ITEM { Code:
sub EVENT_ITEM { You should also add a return items plugin to the end of your items script. It will only return items that are not used up by the check_handin plugin, so you don't need to have it in an else statement or anything. |
Perfect, Worked great guys! Thanks much for the help!
Apoc. |
All times are GMT -4. The time now is 02:11 PM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.