Hijirikawa Posted June 9, 2019 Posted June 9, 2019 Is there a way to check a named item's name? If the holder has the same name as the item? For instance I picked up X's Axe, and I went to the NPC it would say "You are not holding your Axe" or something. Quote
0 YJ1994 Posted June 9, 2019 Posted June 9, 2019 im not sure but you can check on script_commands with Quote getitemname Quote countitem Quote getinventorylist Quote
0 Hijirikawa Posted June 10, 2019 Author Posted June 10, 2019 11 hours ago, YJ1994 said: im not sure but you can check on script_commands with Thanks, but no it doesn't really get it done. I was wondering if there's any way to identify the item. Named items to be exact. For instance "Hijirikawa's Knife" when you create something from the produce command. Quote
0 Hijirikawa Posted June 10, 2019 Author Posted June 10, 2019 8 hours ago, melv0 said: npc/custom/item_signer.txt I need something to check if the item's name is the same as the item holder. For instance Poring's Apple. Poring is carrying Poring's Apple -> NPC "Yeah, you have your apple" Poporing is carrying Poring's Apple -> NPC "Nope, not your apple" I've checked everywhere else, seems like it's not possible at this point. Quote
0 caos51 Posted August 23, 2019 Posted August 23, 2019 It´s possible doing some magic... Let me explain: You have this: *getinventorylist {<char_id>}; This command sets a bunch of arrays with a complete list of whatever the invoking character has in their inventory, including all the data needed to recreate these items perfectly if they are destroyed. Here's what you get: @inventorylist_id[] - array of item ids. @inventorylist_amount[] - their corresponding item amounts. @inventorylist_equip[] - on which position the item is equipped (see EQP_* constants) It will contain 0 if the item is not equipped. @inventorylist_refine[] - for how much it is refined. @inventorylist_identify[] - whether it is identified. @inventorylist_attribute[] - whether it is broken. @inventorylist_card1[] - These four arrays contain card data for the items. @inventorylist_card2[] These data slots are also used to store names @inventorylist_card3[] inscribed on the items, so you can explicitly check @inventorylist_card4[] if the character owns an item made by a specific craftsman. @inventorylist_expire[] - expire time (Unix time stamp). 0 means never expires. @inventorylist_bound[] - the bound type of the items (see BOUND_* constants) @inventorylist_count - the number of items in these lists. @inventorylist_option_id1[] - first array of random option IDs @inventorylist_option_value1[] - first array of random option values @inventorylist_option_parameter1[] - first array of random option parameters @inventorylist_option_id2[] - second array of random option IDs @inventorylist_option_value2[] - second array of random option values @inventorylist_option_parameter2[] - second array of random option parameters @inventorylist_option_id3[] - third array of random option IDs @inventorylist_option_value3[] - third array of random option values @inventorylist_option_parameter3[] - third array of random option parameters @inventorylist_option_id4[] - fourth array of random option IDs @inventorylist_option_value4[] - fourth array of random option values @inventorylist_option_parameter4[] - fourth array of random option parameters @inventorylist_option_id5[] - fifth array of random option IDs @inventorylist_option_value5[] - fifth array of random option values @inventorylist_option_parameter5[] - fifth array of random option parameters Using this information: @inventorylist_card1[] - These four arrays contain card data for the items. @inventorylist_card2[] These data slots are also used to store names @inventorylist_card3[] inscribed on the items, so you can explicitly check @inventorylist_card4[] if the character owns an item made by a specific Plus knowing the formula behind the name on an item: @charid = getcharid(0); @card3 = @charid & 65535; @card4 = @charid >> 16; You can do something like... @card3 = getcharid(0) & 65535; @card4 = getcharid(0) >> 16; getinventorylist getcharid(0); for( .@a = 0; .@a < @inventorylist_count; .@a++ ){ if(@inventorylist_id[.@a] == <ITEMIDAXE> && @inventorylist_card3[.@a] == @card3 && @inventorylist_card4[.@a] == @card4){set .@test,1;} } if(.@test == 1){mes "Yeah, you have your apple";}else{mes "Bring ur apple mtfkr!";} close; end; You will need to change the <ITEMIDAXE> to the item id you are searching tho... Hope it helps! Quote
Question
Hijirikawa
Is there a way to check a named item's name? If the holder has the same name as the item?
For instance I picked up X's Axe, and I went to the NPC it would say "You are not holding your Axe" or something.
5 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.