EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Quests::Q&A (https://www.eqemulator.org/forums/forumdisplay.php?f=599)
-   -   Not sure how to title this. Please help.. (https://www.eqemulator.org/forums/showthread.php?t=25421)

sonicintuition 06-08-2008 08:39 PM

Not sure how to title this. Please help..
 
Hello,

I have been trying to figure this one out all day. I've been searching the forums and the Wiki trying to find a solution to my problem. I have a guy who is set to greet a player when they run by him, as long as the player is level 10. He hands them an item and that's it, that's his purpose. After the player obtains the item, they have no further need for him. Here's the problem - how do I get him to leave players alone once they talk to him? His location is right next to my newbie area and so every time they run by, he beckons them.

Currently I have this set up so that once a player levels past 10, he won't bother them. I was thinking that if there was a way to perform a check in a players inventory for the item he gave them, then I could easily fix this. But that's the thing - I can't find anything about checking for items in a players inventory.

Could anyone point me in the right direction? Perhaps I overlooked something.

Thank you.
Sonic

cavedude 06-08-2008 09:00 PM

Make sure you have the check_hasitem.pl plugin (included in PEQ's quest CVS) and use :

(plugin::check_hasitem($client, 1234))

Replacing 1234 with the item id, of course. This checks all inventory slots, including bank. Obviously, if the player deletes the item this method won't work so you may wan to use globals. But, checking the inventory is certainly easier and lighter on the DB.

sonicintuition 06-09-2008 03:40 AM

Thanks a bunch! That's exactly what I was looking for!

Much appreciated,
Sonic

sonicintuition 06-09-2008 05:30 AM

Hi again.

I'm having a new issue with this - can't seem to figure out how to trigger the check. As I said above, I want it triggered as a player enters the proximity. Here is a sample of the code:

Quote:


sub EVENT_SPAWN
{
$x = $npc->GetX();
$y = $npc->GetY();
quest::set_proximity($x - 40, $x + 40, $y - 40, $y + 40);
}

sub EVENT_ENTER
{
if(plugin::check_hasitem($client, 59943))
{
quest::say("Hey cool, still have that charm I gave you huh!");
}
}
Problem is nothing happens when I run a character by him that has the item. Any suggestions?

Thanks a ton!
Sonic

xxarthurxx 06-09-2008 02:00 PM

have you tried changing the item to a lore item? then he can summon em all day long with little impact :P

trevius 06-09-2008 05:00 PM

I haven't tried that plugin yet, but one thing you need to know if you don't already is that you have to restart the zone before any proximity changes will take effect. You can normally just zone out and back in if the zone is dynamic. If it is static, you can use #zoneshutdown <zonename>.


All times are GMT -4. The time now is 11:09 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.