the ITEMBOUND items became tradable when i converted them into a costume then restore them back.
can you help me ? i have no knowledge scripting.
but i think the solution is countitem so that it won't let the player to use the costume clown if he/she has an <itemid> in his inventory.
//===== Hercules Script ======================================//= Headgear to Costume converter >> Costume to Headgear converter//===== By: ==================================================//= Rebel, Zephyrus [rAthena]//= Mhalicot [Hercules]//===== Current Version: =====================================//= 1.1//===== Compatible With: =====================================//= Hercules//===== Description: =========================================//= Allows a user to convert the equipped headgear // (on Top, Mid or Low) into a costume item. // It will remove any card and refine of the Item.//= Allows a user to restore the equipped costume headgear // (on Top, Mid or Low) into its original form. // It will not return any card or refine of the item.//===== Additional Comments: =================================//= 1.0 Initial script [All of this script are credit to// Rebel, Zephyrus of [rAthena] and revised by [Mhalicot]// to make it compatible in Hercules.]//= 1.1 Denied if Headgear is rental, has refine,// or has card[Mhalicot]// Note: You must apply the patch in order to use this script//============================================================- script Costume Clown -1,{ mes "[Clown]"; mes "Here you can convert your headgears into a Costume Headgear or restore to its Original form."; switch(select("I want to convert.:I want to restore.:No thanks.")) { case 1: next; mes "[Clown]"; mes "Please, select what to convert."; mes "Remember, cards and refine will be removed."; next; setarray .@Position$[1],"Top","Mid","Low"; setarray .@Position[1], 1, 9, 10; set .@Menu$,""; for( set .@i, 1; .@i < 5; set .@i, .@i + 1 ) { if( getequipisequiped(.@Position[.@i]) ) set .@Menu$, .@Menu$ + .@Position$[.@i] + "-" + "[" + getequipname(.@Position[.@i]) + "]"; set .@Menu$, .@Menu$ + ":"; } set .@Part, .@Position[ select(.@Menu$) ]; set .@id, getequipid(.@Part); set .@ref, getequiprefinerycnt(.@Part); if( !getequipisequiped(.@Part) ) { mes "[Clown]"; mes "Your not wearing anything there..."; close; } mes "[Clown]"; mes "You want to Costume your " + getitemname(getequipid(.@Part)) + "?"; next; if( select("Yes, proceed:No, I am sorry.") == 2 ) { mes "[Clown]"; mes "Need some time to think about it, huh?"; mes "Alright, I can understand."; close; } for(set .@i,0; .@i<4; set .@i,.@i+1) set .@slot[.@i], getequipcardid(.@Part,.@i); if (.@slot[0]>4000 && .@slot[0]<5000) { // If it has card don't convert mes "[Clown]"; mes "A card? Here?!"; mes "As I said before, I don't convert headgear with cards."; emotion e_hmm; close; } getinventorylist; for(set .@i,0; .@i<@inventorylist_count; set .@i,.@i+1) if (@inventorylist_expire[.@i] != 0 && @inventorylist_equip[.@i] != 0) { // If rental don't convert mes "[Clown]"; mes "Sorry, I don't convert a rental headgear!"; emotion e_hmm; close; } if (.@ref > 0) { // If refine don't convert mes "[Clown]"; mes "Sorry please keep in mind."; mes "I don't convert headgear with refine."; emotion e_hmm; close; } if (!countitem(.@id)) { mes "[Clown]"; mes "Where is "+getitemname(@id)+"...?"; npctalk "You're a snoozy cheater!"; logmes "CHEATER: Tried to sign an item not having it: "+getitemname(@id); emotion e_wah; close; } costume .@Part; // Convert the Headgear mes "[Clown]"; mes "Done, enjoy your costume headgear."; close; case 2: next; mes "Please, select what to restore."; mes "Remember, I will only restore it back without refine and cards."; next; setarray .@Position$[1],"Top","Mid","Low"; setarray .@Position[1], 13, 12, 11; set .@Menu$,""; for( set .@i, 1; .@i < 5; set .@i, .@i + 1 ) { if( getequipisequiped(.@Position[.@i]) ) set .@Menu$, .@Menu$ + .@Position$[.@i] + "-" + "[" + getequipname(.@Position[.@i]) + "]"; set .@Menu$, .@Menu$ + ":"; } set .@Part, .@Position[ select(.@Menu$) ]; if( !getequipisequiped(.@Part) ) { mes "[Clown]"; mes "Your not wearing anything there..."; close; } mes "[Clown]"; mes "You want to restore your " + getitemname(getequipid(.@Part)) + "?"; next; if( select("Yes, proceed:No, I am sorry.") == 2 ) { mes "[Clown]"; mes "Need some time to think about it, huh?"; mes "Alright, I can understand."; close; } a = getequipid(.@Part); delitem a,1; getitem a,1; mes "[Clown]"; mes "Done, enjoy your restored headgear."; close; case 3: mes "[Clown]"; mes "Very well. Return at once if you seek my services."; close; }}// --------------------------------------------------------------------------// Use duplicates to put your npc on different cities// --------------------------------------------------------------------------mellina,120,75,4 duplicate(Costume Clown) Costume Clown#1 4_M_PIERROT
the ITEMBOUND items became tradable when i converted them into a costume then restore them back.
can you help me ? i have no knowledge scripting.
but i think the solution is countitem so that it won't let the player to use the costume clown if he/she has an <itemid> in his inventory.
Share this post
Link to post
Share on other sites