Emistry Posted April 28, 2019 Posted April 28, 2019 View File iRO - Ben Recycle NPC Ben Recycle in Prontera allows players to turn certain equipment into Rough Elunium and Rough Oridecon. How to use: func_AddItem(<equipment_id>, <item1>, <amount1>, <item2>, <amount2>); // WEAPONS func_AddItem(1421, 757, 4, 756, 4); func_AddItem(1822, 757, 2, 756, 2); func_AddItem(1625, 757, 5, 756, 5); func_AddItem(1819, 757, 3, 756, 3); func_AddItem(1269, 757, 4, 756, 4); func_AddItem(1142, 757, 3, 756, 3); func_AddItem(1624, 757, 5, 756, 5); func_AddItem(1626, 757, 5, 756, 5); func_AddItem(13404, 757, 5, 756, 5); func_AddItem(13027, 757, 6, 756, 6); func_AddItem(1821, 757, 1, 756, 1); func_AddItem(1268, 757, 5, 756, 5); // ARMORS func_AddItem(2422, 757, 3, 756, 3); func_AddItem(2104, 757, 1, 756, 1); func_AddItem(5124, 757, 2, 756, 1); func_AddItem(2406, 757, 3, 756, 3); func_AddItem(5122, 757, 2, 756, 1); func_AddItem(5126, 757, 2, 756, 1); func_AddItem(2504, 757, 2, 756, 1); func_AddItem(2353, 757, 15, 756, 15); func_AddItem(2514, 757, 6, 756, 6); func_AddItem(2404, 757, 2, 756, 1); func_AddItem(2315, 757, 2, 756, 1); func_AddItem(2102, 757, 2, 756, 1); func_AddItem(2114, 757, 2, 756, 2); Additional: // if enable shop UI (only work if items can sell to npc shop) .shop_npc$ = "ben_recycle_shop#iro"; Mirror Link: https://pastebin.com/cCBdevB5 Submitter Emistry Submitted 04/28/2019 Category Utilities Video Content Author Emistry 1 Quote
Quesooo Posted July 19, 2019 Posted July 19, 2019 Hi @Emistry im using your script and i modify it above to exchange for other items. can you help me how to solve this? i got an error saying when selling 10 or more different items. // https://irowiki.org/wiki/Ben_Recycle - shop ben_recycle_shop -1,909:-1 prt_mall,164,53,0 script Ben Recycle 4_M_CRU_KNT,{ function func_GetItemName; function func_AddItem; mes "Hi, I can convert certain equipment into ores."; mes "Would you give it a try?"; next; if (select("Convert", "Information") == 2) { for (.@i = 0; .@i < .size; .@i++) { mes func_GetItemName(.nameid[.@i]); if (.amount1[.@i] > 0 && .nameid1[.@i] > 0) mes " ~ "+F_InsertComma(.amount1[.@i])+"x "+func_GetItemName(.nameid1[.@i]); if (.amount2[.@i] > 0 && .nameid2[.@i] > 0) mes " ~ "+F_InsertComma(.amount2[.@i])+"x "+func_GetItemName(.nameid2[.@i]); mes " "; } next; } if (.shop_npc$ != "") { mes "Place all the equipments you wish to convert into ores."; close2; npcshopattach .shop_npc$, 1; callshop .shop_npc$, 2; end; } else { for (.@i = 0; .@i < .size; .@i++) .@menu$ = .@menu$ + func_GetItemName(.nameid[.@i]) + ":"; .@i = select(.@menu$) - 1; if (countitem(.nameid[.@i])) { delitem .nameid[.@i], 1; mes "Exchanged "+func_GetItemName(.nameid[.@i])+":"; if (.nameid1[.@i] > 0 && .amount1[.@i] > 0) { mes " ~ "+F_InsertComma(.amount1[.@i])+"x "+func_GetItemName(.nameid1[.@i]); getitem .nameid1[.@i], .amount1[.@i]; } if (.nameid2[.@i] > 0 && .amount2[.@i] > 0) { mes " ~ "+F_InsertComma(.amount2[.@i])+"x "+func_GetItemName(.nameid2[.@i]); getitem .nameid2[.@i], .amount2[.@i]; } } else { mes "you dont have "+func_GetItemName(.nameid[.@i]); } } close; OnSellItem: .@sold_nameid_size = getarraysize(@sold_nameid); for (.@i = 0; .@i < .@sold_nameid_size && !.@fail; .@i++) { for (.@x = 0; .@x < .size && !.@fail; .@x++) { if (.nameid[.@x] == @sold_nameid[.@i]) { if (!checkweight(.nameid1[.@x], .amount1[.@x])) { mes "Exchange stopped, you're overweight."; .@fail++; } else { .@total++; delitem2(@sold_nameid[.@i], @sold_quantity[.@i], @sold_identify[.@i], @sold_refine[.@i], @sold_attribute[.@i], @sold_card1[.@i], @sold_card2[.@i], @sold_card3[.@i], @sold_card4[.@i]); mes "Exchanged "+func_GetItemName(.nameid[.@x])+":"; if (.nameid1[.@x] > 0 && .amount1[.@x] > 0) { mes " ~ "+F_InsertComma(.amount1[.@x])+"x "+func_GetItemName(.nameid1[.@x]); getitem .nameid1[.@x], .amount1[.@x]; } if (.nameid2[.@x] > 0 && .amount2[.@x] > 0) { mes " ~ "+F_InsertComma(.amount2[.@x])+"x "+func_GetItemName(.nameid2[.@x]); getitem .nameid2[.@x], .amount2[.@x]; } mes " "; } } } } mes "Exchanged "+.@total+" item(s)."; close2; npcshopattach .shop_npc$, 0; end; function func_GetItemName { .@itemid = getarg(0, 0); .@itemslot = getitemslots(.@itemid); .@item_name$ = getitemname(.@itemid); .@itemtype = getiteminfo(.@itemid, 2); if (.@itemslot || .@itemtype == IT_WEAPON || .@itemtype == IT_ARMOR) .@item_name$ = .@item_name$ + " ["+.@itemslot+"]"; return .@item_name$; } function func_AddItem { .@nameid = getarg(0, 0); .@nameid1 = getarg(1, 0); .@amount1 = getarg(2, 0); .@nameid2 = getarg(3, 0); .@amount2 = getarg(4, 0); if (.@nameid > 0 && .@nameid1 > 0 && .@amount1 > 0 && .@nameid2 > 0 && .@amount2 > 0 ) { .nameid[.size] = .@nameid; .nameid1[.size] = .@nameid1; .amount1[.size] = .@amount1; .nameid2[.size] = .@nameid2; .amount2[.size] = .@amount2; .size++; } } OnInit: // if enable shop UI (only work if items can sell to npc shop) .shop_npc$ = "ben_recycle_shop"; // func_AddItem(<equipment_id>, <item1>, <amount1>, <item2>, <amount2>); // WEAPONS func_AddItem(1421, 757, 4, 756, 4); func_AddItem(1822, 757, 2, 756, 2); func_AddItem(1625, 757, 5, 756, 5); func_AddItem(1819, 757, 3, 756, 3); func_AddItem(1269, 757, 4, 756, 4); func_AddItem(1142, 757, 3, 756, 3); func_AddItem(1624, 757, 5, 756, 5); func_AddItem(1626, 757, 5, 756, 5); func_AddItem(13404, 757, 5, 756, 5); func_AddItem(13027, 757, 6, 756, 6); func_AddItem(1821, 757, 1, 756, 1); func_AddItem(1268, 757, 5, 756, 5); // ARMORS func_AddItem(2422, 757, 3, 756, 3); func_AddItem(2104, 757, 1, 756, 1); func_AddItem(5124, 757, 2, 756, 1); func_AddItem(2406, 757, 3, 756, 3); func_AddItem(5122, 757, 2, 756, 1); func_AddItem(5126, 757, 2, 756, 1); func_AddItem(2504, 757, 2, 756, 1); func_AddItem(2353, 757, 15, 756, 15); func_AddItem(2514, 757, 6, 756, 6); func_AddItem(2404, 757, 2, 756, 1); func_AddItem(2315, 757, 2, 756, 1); func_AddItem(2102, 757, 2, 756, 1); func_AddItem(2114, 757, 2, 756, 2); // COSTUMES func_AddItem(19835, 7915, 1, 7539, 1); func_AddItem(31123, 7915, 1, 7539, 1); func_AddItem(20247, 7915, 1, 7539, 1); func_AddItem(31062, 7915, 1, 7539, 1); func_AddItem(19934, 7915, 1, 7539, 1); waitingroom "Item Recycle",0; end; } Quote
oxob Posted April 13, 2020 Posted April 13, 2020 (edited) How I change the convert item into cash? for example i trade my corsair and i get some cash. And I already try injecting the npc but it say missing shop npc or not in shop type Edited April 13, 2020 by oxob Quote
ADMSarah Posted June 3, 2024 Posted June 3, 2024 How to add a menu on this NPC that tells what type of item they want to exchange with? Quote
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.