Jump to content
  • 0

How to check if an item exists in users inventory


Question

Posted

Hello guys,

 

I want to check through ai if an item exists in the users inventory.

 

I have tried using function: OwnItemCount but i got compilation error: Undefined function. (Using l2shrine compiler shared by Eressea).

 

Below is an example of my code as i am trying to compile it:

set_compiler_opt base_event_type(@NTYPE_NPC_EVENT)
class default_npc
{
}

class citizen : default_npc
{
}
class myclass : citizen
{
...
  EventHandler MENU_SELECTED( talker, ask, reply) {
    ...
    if(myself.OwnItemCount(talker, 57) > 0 )
    {
    //do something
    }
  }
...
}

 

I have also tried using GlobalObject::OwnItemCount like gg.OwnItemCount but i get the message that gg is an unknown variable..

 

Do you use some other function for this? 

If anyone could shed some light on this i'd appreciate it. 

 

Thanks,

Hugo

7 answers to this question

Recommended Posts

  • 0
Posted
14 hours ago, zconll said:

You is using incorrect syntax, change:

 

myself.OwnItemCount -> OwnItemCount

 

 

It works that way! Thank you.

 

Can you elaborate a bit on that, why it works that way and the difference between your proposed way and myself.OwnItemCount?

 

Also, it would be better instead of using direct item id in the code, i place a paramter and use that instead, so:

 

if(OwnItemCount(talker, 57) > 0)

becomes:

 

if(OwnItemCount(talker, myItemID) > 0)

I have also created this parameter section:

 

class myclass : citizen
{
parameter:
  int	  myItemID = 57;

}

 

But i get an error that this is an "abnormal" parameter when the NPC reaches that part of the code.

 

Am i not using it correctly?

 

Thanks,

Hugo

  • 0
Posted (edited)

functions from the event object (myself) or the global object (gg) don't have myself./gg. to call them, thats just how it works :D

 

using a defined parameter in the AI class is only really useful if you plan on changing it later and want an easier way to edit it, or if you want to set those parameters via npcdata or npcpos, otherwise just using the id is fine, but you can also use the pch name for it, so OwnItemCount(talker, @adena)

 

as for what it errors on you, could just be it doesn't like your spacing on it, so try just

int myItemID = 57;

 

which you can also use the pch name on, so int myItemID = @adena; should work too

 

the l2off parsers are very bitchy about formatting :D

Edited by Anarchy
  • Thanks 1
  • 0
Posted
1 hour ago, Anarchy said:

functions from the event object (myself) or the global object (gg) don't have myself./gg. to call them, thats just how it works :D

 

using a defined parameter in the AI class is only really useful if you plan on changing it later and want an easier way to edit it, or if you want to set those parameters via npcdata or npcpos, otherwise just using the id is fine, but you can also use the pch name for it, so OwnItemCount(talker, @adena)

 

as for what it errors on you, could just be it doesn't like your spacing on it, so try just

int myItemID = 57;

 

which you can also use the pch name on, so int myItemID = @adena; should work too

 

the l2off parsers are very bitchy about formatting :D

 

Very insightful, thank you for taking the time!

 

I will play a little bit with the spacing and report back!

 

Thanks,

Hugo

  • 0
Posted
23 hours ago, hugolez said:

maybe u use this

 


if (myself::OwnItemCount(talker, myItemID) > 0)

 

Hey,

 

well after i restarted the processes everything works.

 

So the spacing was ok.

 

Thank you for your reply!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • We can help your Telegram group or channel grow fast with real, targeted Telegram members, safely and efficiently.   Our Telegram Member Add service lets you add members to Telegram group or channel from real, active communities — not bots or fakes.   With this Telegram group growth service, you’ll see results within hours, backed by clear reporting and safe automation.   ✅ What We Offer   • Done-for-you Telegram Member Add campaigns (Groups · Channels) • Targeted Telegram members from real, active users • Fast growth — up to 10K members in 24 hours • English-speaking or regional audiences (US · UK · EU) • Fully managed Telegram channel growth service with reports & analytics   💡 Why Choose Us   We don’t use spam or fake accounts. Our process safely adds members to your Telegram group or channel through verified multi-account setups, proxy rotation, and opt-out compliance. This ensures lasting growth and minimizes churn. Every campaign is managed by experts using tested Telegram infrastructure and growth systems. We also recommend combining Member Add with Telegram Mass DM for better engagement and retention after join.   🧩 Works Best For   • Businesses or communities launching new Telegram channels • Crypto, SaaS, and marketing projects needing visibility • Influencers and agencies growing multiple Telegram groups • Anyone seeking a reliable Telegram group growth service with real members 📩 To Get More Information   Telegram : @TeleLoopPulse   Website : https://telegramgrowthstudio.com/telegram-member-add.html
    • well,its SharedCreatureData.h problem.   /* 0398 */ //WCHAR m_sResurrectSpellerName[25];   this variable will cause L2server.exe crash...  
    • Custom High Five server L2insolence will open 2025-10-17 21:00 GMT+2 ! ! ! Web site: http://www.l2insolence.eu All info updates on Discord: https://discord.gg/duMjnj3y9A Last wipe was more then 1 year ago. We have custom skill, farm zones, materials for items to buy. Custom wepons, armor, jewels and more. All items in game have own stats. With custom looks. Glowing etc. Rates XP, SP: 25x Spoil and Drop: 10x Adena: 20x Server Hard Farm Enchantment Safe enchant Weapon: +20099 Safe enchant Armor: +20099 Max enchant Weapon: +20099 Max enchant Armor: +20099 Normal scrolls: 100% Blessed scrolls: 100% You can use scrolls or item enchant NPC to make +++ abd life beter. NPC Buffer There's an NPC buffer in all of our main towns: Aden, Giran and Goddard. It supplies Prophet Buffs, Songs and Dances for a small fee. Include all buff. We have custom self buffs learned with npc with custom stats. Global Gatekeeper GM Shop with normal items and custom ones, vote NPC, Event NPC, item upgrader NPC. Raid Bosses, every zone have its own boss and drops for rare mats. Olympiad The olympiad is ongoing every two weeks. Meaning if you become a hero you will have your hero status for two weeks. And hero have own custom stats on items.
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock