prontera.gat, 144, 174, 4 script Bound Smith 429,{ mes .n$; mes callfunc("F_Hi"); mes "I can bind your items to your Account, Guild, or Character"+((.bindName$)?" for a ^0000FF"+ .bindName$ +"^000000 required":"")+"."; next; mes .n$; mes "With this, you can rest assured your items are safe."; mes " "; mes "What would you like to do?"; next; if(select("- Bind Item") == 1) { //if(zeny < .bindprice) { if( countitem( .bindItem ) < 1 ) { mes .n$; mes "I'm sorry but you don't have enough "+ countitem(.bindItem) +" "+ .bindName$ +" to bind an item."; mes " "; mes "Please come back to me if you have already."; close; } mes .n$; mes "What kind of bind?"; next; .@boundtype = 1 << (select("- Account:- Guild:- Character")-1); if(.@boundtype == 2 && (!getcharid(2) || getguildmaster(getcharid(2)) != strcharinfo(0))) { mes "In order for me to bind an item to a guild you must be the master of one."; close; } getinventorylist(); // Item IDs that cannot be bound setarray .@blacklist[0], 1201, 1207, 2301; // Check blacklist for (.@i = 0; .@i < getarraysize(.@blacklist); .@i++) { if (@inventorylist_id[.@item] == .@blacklist[.@i]) { mes "Sorry, but "+ getitemname(@inventorylist_id[.@item]) +" is blacklisted from being bound."; close; } } for(.@i = 0; .@i < @inventorylist_count; .@i++) { //We only show the items that you allow to be bound //Allows equipment (default) if(@inventorylist_bound[.@i]) continue; if (((.allowbind & 1) && (getiteminfo(@inventorylist_id[.@i],2) == (4|5))) || ((.allowbind & 2) && (getiteminfo(@inventorylist_id[.@i],2) == (0|2|11|18))) || ((.allowbind & 4) && (getiteminfo(@inventorylist_id[.@i],2) == (3|6|7|8|10))) ) { set .@bindlist$, .@bindlist$ + ":" + getitemname(@inventorylist_id[.@i]) + " - " + @inventorylist_id[.@i]; set .@bindlist[.@j],.@i; .@j++; } } .@item = .@bindlist[select(.@bindlist$)-2]; mes .n$; mes "Before I continue, I want you to know I can't tell the difference between multiple items. If you have a specific item you want bounded, please remove any duplicates from inventory."; next; if(select("- Continue:- Cancel") == 2) { mes "I'll be here when you're ready."; close; } mes .n$; mes "Are you sure you'd like to bind your '"+ getitemname(@inventorylist_id[.@item]) +"' to your '"+.boundtypes$[.@boundtype]+"'?"; next; if(select("- Yes:- No") == 1) { //zeny -= .bindprice; delitem .bindItem, 1; delitem2 @inventorylist_id[.@item],@inventorylist_amount[.@item],@inventorylist_identify[.@item],@inventorylist_refine[.@item],@inventorylist_attribute[.@item],@inventorylist_card1[.@item],@inventorylist_card2[.@item],@inventorylist_card3[.@item],@inventorylist_card4[.@item]; getitembound2 @inventorylist_id[.@item],@inventorylist_amount[.@item],@inventorylist_identify[.@item],@inventorylist_refine[.@item],@inventorylist_attribute[.@item],@inventorylist_card1[.@item],@inventorylist_card2[.@item],@inventorylist_card3[.@item],@inventorylist_card4[.@item],.@boundtype; mes .n$; mes "You have successfully bind '"+ getitemname(@inventorylist_id[.@item]) +"' to your '"+.boundtypes$[.@boundtype]+"'"; mes " "; mes "Please come back again!"; if(.logbinds) debugmes "Player "+ strcharinfo(0) +" Bound "+ @inventorylist_amount[.@item]+" "+@inventorylist_id[.@item]+" as "+.boundtypes$[.@boundtype]+" type."; } } close; OnInit: .n$ = "[ Bound Smith ]"; //* Configuration *\\ //Price //.bindprice = 2500; .bindItem = 29991; .bindName$ = getitemname(.bindItem) +""; //What to allow to be bound - Add as necessary //1 = Equipment - 2 = Consumables - 4 = Etc .allowbind = 1; //Log binds via NPC? .logbinds = 1; //Other stuff .boundtypes$[1] = "account"; .boundtypes$[2] = "guild"; .boundtypes$[4] = "character"; end; }