Kariton Revolution Posted April 17, 2014 Posted April 17, 2014 help me please if (!isequipped( )??how i can make a npc that wearing blankeyes,minstrel,blahblahblah only player who suit that item can talk to npc blank eyesMinstrel Song HatMagic EyesHunter's CapStriped Hat Brazil National Flag Hat Quote
Patskie Posted April 17, 2014 Posted April 17, 2014 *isequipped(<id>{,<id>{,<id>{,<id>}}})This function will return 1 if the invoking character has all of the itemIDs given equipped (if card IDs are passed, then it checks if the cards areinserted into slots in the equipment they are currently wearing). Theoreticallythere is no limit to the number of items that may be tested for at the same time.If even one of the items given is not equipped, 0 will be returned.// (Poring,Santa Poring,Poporing,Marin)if (isequipped(4001,4005,4033,4196)) mes "Wow! You're wearing a full complement of possible poring cards!";// (Poring)if (isequipped(4001)) mes "A poring card is useful, don't you think?";The function was meant for item scripts to support the cards released by Gravityin February 2005, but it will work just fine in normal NPC scripts. Quote
Kariton Revolution Posted April 17, 2014 Author Posted April 17, 2014 if these posible ? if (!isequipped(5200)) { mes "Obtain atleast 1 item in QuestShop 1."; close; } else if(!isequipped(5201)) { mes "Obtain atleast 1 item in QuestShop 1."; close; } else if (!isequipped(5203)) { mes "Obtain atleast 1 item in QuestShop 1."; close; } else if (!isequipped(5204)) { mes "Obtain atleast 1 item in QuestShop 1."; close; } *isequipped(<id>{,<id>{,<id>{,<id>}}})This function will return 1 if the invoking character has all of the itemIDs given equipped (if card IDs are passed, then it checks if the cards areinserted into slots in the equipment they are currently wearing). Theoreticallythere is no limit to the number of items that may be tested for at the same time.If even one of the items given is not equipped, 0 will be returned.// (Poring,Santa Poring,Poporing,Marin)if (isequipped(4001,4005,4033,4196)) mes "Wow! You're wearing a full complement of possible poring cards!";// (Poring)if (isequipped(4001)) mes "A poring card is useful, don't you think?";The function was meant for item scripts to support the cards released by Gravityin February 2005, but it will work just fine in normal NPC scripts. if these posible ? if (!isequipped(5200)) { mes "Obtain atleast 1 item in QuestShop 1."; close; } else if(!isequipped(5201)) { mes "Obtain atleast 1 item in QuestShop 1."; close; } else if (!isequipped(5203)) { mes "Obtain atleast 1 item in QuestShop 1."; close; } else if (!isequipped(5204)) { mes "Obtain atleast 1 item in QuestShop 1."; close; } Quote
Missingno Posted April 17, 2014 Posted April 17, 2014 Give this a try. See lines 21+ for configuration settings. I've left comments to briefly explain what each section of code does. prontera,150,150,5 script Test NPC 999,{ // Script mes .npc_name$; // Loop through item IDs for (.@i = 0; .@i < getarraysize(.item_id); .@i++) { // Check if current item is equipped if (isequipped(.item_id[.@i])) { // Display message if item is equipped mes "Hey, nice "+ getitemname(.item_id[.@i]) +"!"; close; } } // Display if no items are equipped mes "Huh, what do you want? Get lost!"; close; // Configuration OnInit: // NPC name .npc_name$ = "[Test NPC]"; // Item IDs to speak to NPC setarray .item_id[0], 5102, // Blank Eyes 5751, // Minstrel Song Hat 5138, // Magic Eyes 5383, // Hunter's Cap 5395, // Striped Hat 5308; // Brazil National Flag Hat end; } Quote
Kariton Revolution Posted April 17, 2014 Author Posted April 17, 2014 Give this a try. See lines 21+ for configuration settings. I've left comments to briefly explain what each section of code does. prontera,150,150,5 script Test NPC 999,{ // Script mes .npc_name$; // Loop through item IDs for (.@i = 0; .@i < getarraysize(.item_id); .@i++) { // Check if current item is equipped if (isequipped(.item_id[.@i])) { // Display message if item is equipped mes "Hey, nice "+ getitemname(.item_id[.@i]) +"!"; close; } } // Display if no items are equipped mes "Huh, what do you want? Get lost!"; close; // Configuration OnInit: // NPC name .npc_name$ = "[Test NPC]"; // Item IDs to speak to NPC setarray .item_id[0], 5102, // Blank Eyes 5751, // Minstrel Song Hat 5138, // Magic Eyes 5383, // Hunter's Cap 5395, // Striped Hat 5308; // Brazil National Flag Hat end; } hi im using euphy quest shop how i can merge this script Hahaha Quote
Missingno Posted April 17, 2014 Posted April 17, 2014 hi im using euphy quest shop how i can merge this script Hahaha The way I've written it, you can literally inject each section of code into your script. Place the configuration section under your script's OnInit label, and the item check at the beginning of the script (under the header). Quote
Kariton Revolution Posted April 18, 2014 Author Posted April 18, 2014 hi im using euphy quest shop how i can merge this script Hahaha The way I've written it, you can literally inject each section of code into your script. Place the configuration section under your script's OnInit label, and the item check at the beginning of the script (under the header). hi sir can you do it for me hahah THANKYOU VERY MUCH! //===== eAthena Script ======================================= //= Euphy's Donate Shop //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.4a - eAthena //===== Description: ========================================= //= A dynamic Donate Shop based on Lunar's, with easier config. //= Includes support for multiple shops & cashpoints. //= Item Preview script by ToastOfDoom. //============================================================ que_temsky,146,143,6 script Quest Shop 775,{ waitingroom "Quest Shop",0; function Add; function Chk; function Slot; function A_An; if(.Shops$ != "") set .@i,1; else { set .@menu$,""; for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) set .@menu$, .@menu$+.Shops$[.@i]+":"; set .@i, select(.@menu$); } dispbottom "Select one item at a time."; callshop "cshop"+.@i,1; npcshopattach "cshop"+.@i; end; function Add { if (getitemname(getarg(1))=="null") { debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; return; } for(set .@n,5; .@n<127; set .@n,.@n+2) { if (!getarg(.@n,0)) break; if (getitemname(getarg(.@n))=="null") { debugmes "Quest requirement #"+getarg(.@n)+" invalid (skipped)."; return; } } for(set .@i,2; .@i<.@n; set .@i,.@i+1) set getd(".q_"+getarg(1)+"["+(.@i-2)+"]"), getarg(.@i); npcshopadditem "cshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0); sleep 1; return; } function Chk { if (getarg(0)<getarg(1)) { set @qe0,1; return "^FF0000"; } else return "^00FF00"; } function Slot { set .@s$,getitemname(getarg(0)); switch(.ShowSlot){ case 1: if (!getitemslots(getarg(0))) return .@s$; case 2: if (getiteminfo(getarg(0),11)>0) return .@s$+" ["+getitemslots(getarg(0))+"]"; default: return .@s$; } } function A_An { setarray .@A$[0],"a","e","i","o","u"; set .@B$, "_"+getarg(0); for(set .@i,0; .@i<5; set .@i,.@i+1) if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0); return "a "+getarg(0); } OnBuyItem: set .@q[0],@bought_nameid; copyarray .@q[1],getd(".q_"+@bought_nameid+"[0]"),getarraysize(getd(".q_"+@bought_nameid+"[0]")); if (!.@q[1]) { message strcharinfo(0),"An error has occurred."; end; } mes "[Donate Shop]"; mes "Reward: ^0055FF"+((.@q[1]>1)?.@q[1]+"x ":"")+Slot(.@q[0])+"^000000"; mes "Requirements:"; if (.@q[2]) mes " > "+Chk(Zeny,.@q[2])+.@q[2]+" Zeny^000000"; if (.@q[3]) mes " > "+Chk(getd(.Points$[0]),.@q[3])+.@q[3]+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+.@q[3]+")^000000"; if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2) mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1])+((.DisplayID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+.@q[.@i+1]+")^000000"; next; set @qe1, getiteminfo(.@q[0],5); set @qe2, getiteminfo(.@q[0],11); addtimer 1000, strnpcinfo(1)+"::OnEnd"; while(1){ switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((((@qe1&1) || (@qe1&256) || (@qe1&512)) && @qe2>0 && !@qe6)?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) { case 1: if (@qe0) { mes "[Donate Shop]"; mes "You're missing one or more quest requirements."; close; } if (!checkweight(.@q[0],.@q[1])) { mes "[Donate Shop]"; mes "^FF0000You need "+(((.@q[1]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000"; close; } if (.@q[2]) set Zeny, Zeny-.@q[2]; if (.@q[3]) setd .Points$[0], getd(.Points$[0])-.@q[3]; if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2) delitem .@q[.@i],.@q[.@i+1]; getitem .@q[0],.@q[1]; if (.Announce) announce strcharinfo(0)+" has created "+A_An(getitemname(.@q[0]))+"!",0; specialeffect2 699; close; case 2: set @qe3, getlook(3); set @qe4, getlook(4); set @qe5, getlook(5); if (@qe1&1) atcommand "@changelook 3 "+@qe2; if (@qe1&256) atcommand "@changelook 1 "+@qe2; if (@qe1&512) atcommand "@changelook 2 "+@qe2; set @qe6,1; break; case 3: close; } } OnEnd: if (@qe6) { atcommand "@changelook 3 "+@qe3; atcommand "@changelook 1 "+@qe4; atcommand "@changelook 2 "+@qe5; } for(set .@i,0; .@i<7; set .@i,.@i+1) setd "@qe"+.@i,0; end; OnInit: // --------------------- Config --------------------- // Custom points, if needed: "<variable>","<name to display>" setarray .Points$[0],"#CASHPOINTS","Cash Points"; set .Announce,1; // Announce quest completion? (1: yes / 0: no) set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never) set .DisplayID,0; // Show item IDs? (1: yes / 0: no) set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no) // Shop categories, if needed: "<Shop 1>","<Shop 2>"{,...}; // Duplicate dummy data for any additional shops (bottom of script). // If no categories, use the second line instead (remove //). setarray .Shops$[1],"Headgear","Mid-Headgear","Lower-Headgear","Accessory","Armory","Weapon"; // set .Shops$,"n/a"; // Add(<shop number>,<reward ID>,<reward amount>,<Zeny cost>,<point cost>, // <required item ID>,<required item amount>{,...}); // Shop number corresponds with order above (default is 1). // Note: Do NOT use a reward item more than once! Add(1,7539,1,1000,10,7265,1,1064,1,7063,1,7021,1,952,1,969,2,4432,1,7227,1); Add(1,20082,1,10000000,10,7539,10); Add(1,20085,1,10000000,10,7539,10); Add(1,20032,1,10000000,10,7539,10); Add(1,20037,1,10000000,10,7539,10); Add(1,20050,1,10000000,10,7539,10); Add(1,20153,1,10000000,10,7539,10); Add(1,20090,1,10000000,10,7539,10); Add(1,20145,1,10000000,10,7539,10); Add(1,20076,1,10000000,10,7539,10); Add(1,20065,1,10000000,10,7539,10); Add(1,20066,1,10000000,10,7539,10); Add(1,20087,1,10000000,10,7539,10); Add(1,20089,1,10000000,10,7539,10); Add(1,20105,1,10000000,10,7539,10); Add(1,20092,1,10000000,10,7539,10); Add(1,20192,1,10000000,10,7539,10); Add(1,20051,1,10000000,10,7539,10); Add(1,20058,1,10000000,10,7539,10); Add(1,20032,1,10000000,10,7539,10); Add(1,20029,1,10000000,10,7539,10); Add(1,20152,1,10000000,10,7539,10); Add(1,20025,1,10000000,10,7539,10); Add(1,20053,1,10000000,10,7539,10); Add(1,20031,1,10000000,10,7539,10); Add(1,20173,1,10000000,10,7539,10); Add(1,20176,1,10000000,10,7539,10); Add(1,20028,1,10000000,10,7539,10); Add(1,20179,1,10000000,10,7539,10); Add(1,20020,1,10000000,10,7539,10); Add(1,20026,1,10000000,10,7539,10); Add(1,20030,1,10000000,10,7539,10); Add(1,20038,1,10000000,10,7539,10); Add(1,20039,1,10000000,10,7539,10); Add(1,20040,1,10000000,10,7539,10); Add(1,20042,1,10000000,10,7539,10); Add(1,20043,1,10000000,10,7539,10); Add(1,20046,1,10000000,10,7539,10); //MIDGEARS Add(2,20093,1,10000000,10,7539,10); Add(2,20094,1,10000000,10,7539,10); Add(2,20155,1,10000000,10,7539,10); Add(2,20180,1,10000000,10,7539,10); Add(2,20081,1,10000000,10,7539,10); Add(2,20095,1,10000000,10,7539,10); Add(2,20151,1,10000000,10,7539,10); Add(2,20084,1,10000000,10,7539,10); Add(2,20181,1,10000000,10,7539,10); Add(2,20057,1,10000000,10,7539,10); Add(2,20185,1,10000000,10,7539,10); Add(2,20073,1,10000000,10,7539,10); Add(2,20132,1,10000000,10,7539,10); Add(2,20134,1,10000000,10,7539,10); Add(2,20177,1,10000000,10,7539,10); Add(2,20189,1,10000000,10,7539,10); //LOWERGEARS Add(3,20083,1,10000000,10,7539,10); Add(3,20098,1,10000000,10,7539,10); Add(3,20100,1,10000000,10,7539,10); Add(3,20101,1,10000000,10,7539,10); Add(3,20104,1,10000000,10,7539,10); Add(3,20115,1,10000000,10,7539,10); Add(3,20116,1,10000000,10,7539,10); Add(3,20133,1,10000000,10,7539,10); Add(3,20148,1,10000000,10,7539,10); Add(3,20175,1,10000000,10,7539,10); Add(3,20178,1,10000000,10,7539,10); Add(3,20186,1,10000000,10,7539,10); Add(3,20000,1,10000000,10,7539,10); Add(3,20001,1,10000000,10,7539,10); Add(3,20002,1,10000000,10,7539,10); Add(3,20003,1,10000000,10,7539,10); Add(3,20005,1,10000000,10,7539,10); Add(3,20010,1,10000000,10,7539,10); Add(3,20048,1,10000000,10,7539,10); Add(3,20049,1,10000000,10,7539,10); Add(3,20052,1,10000000,10,7539,10); Add(3,20019,1,10000000,10,7539,10); Add(3,20035,1,10000000,10,7539,10); Add(3,20041,1,10000000,10,7539,10); Add(3,20004,1,10000000,10,7539,10); Add(3,20021,1,10000000,10,7539,10); Add(3,20009,1,10000000,10,7539,10); Add(3,20008,1,10000000,10,7539,10); Add(3,20014,1,10000000,10,7539,10); Add(3,20015,1,10000000,10,7539,10); Add(3,20018,1,10000000,10,7539,10); Add(3,20074,1,10000000,10,7539,10); Add(3,20135,1,10000000,10,7539,10); Add(3,20062,1,10000000,10,7539,10); Add(3,20063,1,10000000,10,7539,10); Add(3,20012,1,10000000,10,7539,10); Add(3,20044,1,10000000,10,7539,10); Add(3,20064,1,10000000,10,7539,10); //ACCESSORY Add(4,20124,1,10000000,10,7539,20); Add(4,20125,1,10000000,10,7539,20); Add(4,20126,1,10000000,10,7539,20); Add(4,20128,1,10000000,10,7539,20); Add(4,20129,1,10000000,10,7539,20); Add(4,20127,1,10000000,10,7539,20); //ARMORY Add(5,20106,1,10000000,10,7539,10); Add(5,20107,1,10000000,10,7539,10); Add(5,20108,1,10000000,10,7539,10); Add(5,20109,1,10000000,10,7539,10); //WEAPON Add(6,30009,1,10000000,10,7539,15); Add(6,30012,1,10000000,10,7539,15); Add(6,30013,1,10000000,10,7539,15); Add(6,30030,1,10000000,10,7539,15); Add(6,30016,1,10000000,10,7539,15); Add(6,30019,1,10000000,10,7539,15); Add(6,30020,1,10000000,10,7539,15); Add(6,30031,1,10000000,10,7539,15); Add(6,30023,1,10000000,10,7539,15); Add(6,30024,1,10000000,10,7539,15); Add(6,30025,1,10000000,10,7539,15); Add(6,30005,1,10000000,10,7539,15); Add(6,30003,1,10000000,10,7539,15); // -------------------------------------------------- for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) npcshopdelitem "cshop"+.@i,909; end; } // -------- Dummy data (duplicate as needed) -------- - shop cshop1 -1,909:-1 - shop cshop2 -1,909:-1 - shop cshop3 -1,909:-1 - shop cshop4 -1,909:-1 - shop cshop5 -1,909:-1 - shop cshop6 -1,909:-1 - shop cshop7 -1,909:-1 Quote
Capuche Posted April 18, 2014 Posted April 18, 2014 que_temsky,146,143,6 script Quest Shop 775,{ delwaitingroom; waitingroom "Quest Shop",0; if ( !isequipped( 5102,5751,5138,5383,5395,5308 ) ) { mes "i only talk to people wearing :"; mes "- Blank Eyes"; mes "- Minstrel Song Hat"; mes "- Magic Eyes"; mes "- Hunter's Cap"; mes "- Striped Hat"; mes "- Brazil National Flag Hat"; close; } //etc.. Quote
Kariton Revolution Posted April 20, 2014 Author Posted April 20, 2014 sir i want to make if any of this n5102,5751,5138,5383,5395,5308 item equip of a character can only talk the npc que_temsky,146,143,6 script Quest Shop 775,{ delwaitingroom; waitingroom "Quest Shop",0; if ( !isequipped( 5102,5751,5138,5383,5395,5308 ) ) { mes "i only talk to people wearing :"; mes "- Blank Eyes"; mes "- Minstrel Song Hat"; mes "- Magic Eyes"; mes "- Hunter's Cap"; mes "- Striped Hat"; mes "- Brazil National Flag Hat"; close; } //etc.. s sir:) Quote
Emistry Posted April 20, 2014 Posted April 20, 2014 change isequipped" style="border-bottom: 1px dotted #3366BB; color: #3366BB; text-decoration:none;" class="bbc_url" title="Wiki link" rel="external">isequipped to isequippedcnt" style="border-bottom: 1px dotted #3366BB; color: #3366BB; text-decoration:none;" class="bbc_url" title="Wiki link" rel="external">isequippedcnt Quote
Question
Kariton Revolution
help me please
if (!isequipped( )??
how i can make a npc that wearing blankeyes,minstrel,blahblahblah only player who suit that item can talk to npc
blank eyes
Minstrel Song Hat
Magic Eyes
Hunter's Cap
Striped Hat
Brazil National Flag Hat
9 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.