Quesooo Posted October 10, 2017 Group: Members Topic Count: 197 Topics Per Day: 0.07 Content Count: 883 Reputation: 28 Joined: 02/13/17 Last Seen: November 10, 2022 Share Posted October 10, 2017 good day can i request a npc that can exchange several weapons to 1 item only for example a katar can be exchange for 1 jellopy in random amount a dagger that can exchange for jellopy in random amount etc. etc. i think this is more different than master euphy or emistry exchange npc all items listen at the npc can be exchange only in 1 item in random amount thank you Quote Link to comment Share on other sites More sharing options...
0 ItsFree Posted October 10, 2017 Group: Members Topic Count: 44 Topics Per Day: 0.01 Content Count: 121 Reputation: 7 Joined: 04/11/15 Last Seen: October 29, 2024 Share Posted October 10, 2017 Sounds like Euphy's Card Changer/Trader try find that NPC and chance the reward amount to rand, there alot of mods of that npc maybe you would find something like you want c: Quote Link to comment Share on other sites More sharing options...
0 SpiritD Posted October 10, 2017 Group: Members Topic Count: 6 Topics Per Day: 0.00 Content Count: 75 Reputation: 7 Joined: 08/10/17 Last Seen: November 3, 2017 Share Posted October 10, 2017 Just so I understand fully... You want to trade your equip for random amount of a specific item? example: trade 1 Knife -> random amount of Jellopy? Quote Link to comment Share on other sites More sharing options...
0 Quesooo Posted October 10, 2017 Group: Members Topic Count: 197 Topics Per Day: 0.07 Content Count: 883 Reputation: 28 Joined: 02/13/17 Last Seen: November 10, 2022 Author Share Posted October 10, 2017 17 hours ago, SpiritD said: Just so I understand fully... You want to trade your equip for random amount of a specific item? example: trade 1 Knife -> random amount of Jellopy? yeah something like that example on the script the npc have list of weapons inside it > dagger / stelleto / katar / axe / staff / bow / etc. and then when you talk to npc the npc will said i can trade different weapon to jellopy what weapon would you like to be exchange for?> then after choosing the weapon in the list the weapon choosen will gone and it becomes jellopy Quote Link to comment Share on other sites More sharing options...
0 SpiritD Posted October 10, 2017 Group: Members Topic Count: 6 Topics Per Day: 0.00 Content Count: 75 Reputation: 7 Joined: 08/10/17 Last Seen: November 3, 2017 Share Posted October 10, 2017 25 minutes ago, Quesooo said: yeah something like that example on the script the npc have list of weapons inside it > dagger / stelleto / katar / axe / staff / bow / etc. and then when you talk to npc the npc will said i can trade different weapon to jellopy what weapon would you like to be exchange for?> then after choosing the weapon in the list the weapon choosen will gone and it becomes jellopy MAP_NAME,X,Y,Z script Weapon for Jellopy#spiritD NPC_ID,{ mes "Would you like to trade 1 weapon for 5-10 Jellopy?"; switch(select("Bow:Dagger:Axe:Sword:Etc")){ case 1: if(countitem(1701) > 0) { delitem 1701,1; getitem 909,rand(5,10); end; } if(countitem(1702) > 0) { delitem 1702,1; getitem 909,rand(5,10); end; } case 2: case 3: case 4: } I have intentionally left most of the "meat" of the script unfinished. You should be able to understand how to fill it in. If you are not sure what to do, please compile a list of item names and IDs that you would like the trader to accept. 1 Quote Link to comment Share on other sites More sharing options...
0 Quesooo Posted October 10, 2017 Group: Members Topic Count: 197 Topics Per Day: 0.07 Content Count: 883 Reputation: 28 Joined: 02/13/17 Last Seen: November 10, 2022 Author Share Posted October 10, 2017 15 hours ago, SpiritD said: MAP_NAME,X,Y,Z script Weapon for Jellopy#spiritD NPC_ID,{ mes "Would you like to trade 1 weapon for 5-10 Jellopy?"; switch(select("Bow:Dagger:Axe:Sword:Etc")){ case 1: if(countitem(1701) > 0) { delitem 1701,1; getitem 909,rand(5,10); end; } if(countitem(1702) > 0) { delitem 1702,1; getitem 909,rand(5,10); end; } case 2: case 3: case 4: } I have intentionally left most of the "meat" of the script unfinished. You should be able to understand how to fill it in. If you are not sure what to do, please compile a list of item names and IDs that you would like the trader to accept. i like this i will finish this thank you Quote Link to comment Share on other sites More sharing options...
0 Quesooo Posted October 10, 2017 Group: Members Topic Count: 197 Topics Per Day: 0.07 Content Count: 883 Reputation: 28 Joined: 02/13/17 Last Seen: November 10, 2022 Author Share Posted October 10, 2017 15 hours ago, SpiritD said: MAP_NAME,X,Y,Z script Weapon for Jellopy#spiritD NPC_ID,{ mes "Would you like to trade 1 weapon for 5-10 Jellopy?"; switch(select("Bow:Dagger:Axe:Sword:Etc")){ case 1: if(countitem(1701) > 0) { delitem 1701,1; getitem 909,rand(5,10); end; } if(countitem(1702) > 0) { delitem 1702,1; getitem 909,rand(5,10); end; } case 2: case 3: case 4: } I have intentionally left most of the "meat" of the script unfinished. You should be able to understand how to fill it in. If you are not sure what to do, please compile a list of item names and IDs that you would like the trader to accept. btw is it complete on the end script? Quote Link to comment Share on other sites More sharing options...
0 SpiritD Posted October 11, 2017 Group: Members Topic Count: 6 Topics Per Day: 0.00 Content Count: 75 Reputation: 7 Joined: 08/10/17 Last Seen: November 3, 2017 Share Posted October 11, 2017 36 minutes ago, Quesooo said: btw is it complete on the end script? I'm not sure what you mean Quote Link to comment Share on other sites More sharing options...
0 Quesooo Posted October 11, 2017 Group: Members Topic Count: 197 Topics Per Day: 0.07 Content Count: 883 Reputation: 28 Joined: 02/13/17 Last Seen: November 10, 2022 Author Share Posted October 11, 2017 15 hours ago, SpiritD said: I'm not sure what you mean nothing thank you ma friend i already finish the npc for what i wanted to be ./no1 Quote Link to comment Share on other sites More sharing options...
0 Quesooo Posted October 11, 2017 Group: Members Topic Count: 197 Topics Per Day: 0.07 Content Count: 883 Reputation: 28 Joined: 02/13/17 Last Seen: November 10, 2022 Author Share Posted October 11, 2017 15 hours ago, Arthenaz said: morocc,143,76,4 script Items Exchange Rnd 747,{ for (set .@i, 0; .@i < getarraysize(.Require); set .@i, .@i+1 ) set .@menu$, .@menu$ + getitemname(.Require[.@i]) +":"; set .@i, (select(.@menu$)-1); if ( countitem(.Require[.@i]) < 1 ) { mes "You have not enough items."; close; } getitem .Items[.@i],.Amount[rand(getarraysize(.Amount))]; delitem .Require[.@i],1; end; OnInit: setarray .Require[0],1202,1706; setarray .Items[0],501,502; setarray .Amount[0],1,2,3,4,5,6,7,8,9,10; end; } this is not working just getting the item then nothing to be exchange for Quote Link to comment Share on other sites More sharing options...
0 hendra814 Posted October 11, 2017 Group: Members Topic Count: 59 Topics Per Day: 0.01 Content Count: 1281 Reputation: 170 Joined: 06/12/12 Last Seen: 4 hours ago Share Posted October 11, 2017 i think this one, but need to make it simple. maybe using array. lhz_dun_n,132,260,4 script Memory of Regret 114,{ mes "I can convert some items to energy debris in random from 1 to 5 what do you want"; next; menu "Exchange Items to Energy Debris",Z_EE,"Create Costume",Z_EEE,"Leave",Z_EXIT; Z_EE: mes "What now lets see"; next; if(countitem(1284) > 0) goto one; if(countitem(1285) > 0) goto two; if(countitem(1290) > 0) goto three; if(countitem(18109) > 0) goto four; if(countitem(18110) > 0) goto five; if(countitem(18111) > 0) goto six; if(countitem(1745) > 0) goto seven; if(countitem(18103) > 0) goto eight; if(countitem(1647) > 0) goto nine; if(countitem(1659) > 0) goto ten; if(countitem(1654) > 0) goto eleven; if(countitem(2004) > 0) goto twelve; if(countitem(2005) > 0) goto thirteen; if(countitem(13431) > 0) goto fourteen; if(countitem(1196) > 0) goto fifteen; if(countitem(13421) > 0) goto sixteen; if(countitem(1584) > 0) goto seventeen; if(countitem(13061) > 0) goto eightteen; if(countitem(13062) > 0) goto nineteen; if(countitem(13070) > 0) goto twenty; if(countitem(13046) > 0) goto twentyone; if(countitem(13047) > 0) goto twentytwo; if(countitem(16017) > 0) goto twentythree; if(countitem(16010) > 0) goto twentyfour; if(countitem(16000) > 0) goto twentyfive; if(countitem(16001) > 0) goto twentysix; if(countitem(1433) > 0) goto twentyseven; if(countitem(1435) > 0) goto twentyeight; if(countitem(1490) > 0) goto twentynine; if(countitem(1930) > 0) goto thirty; if(countitem(1963) > 0) goto thirtyone; if(countitem(1830) > 0) goto thirtytwo; { goto Z_NOITEM; } one: delitem 1284,1; getitem 6820,rand(1,5); end; two: delitem 1285,1; getitem 6820,rand(1,5); end; three: delitem 1290,1; getitem 6820,rand(1,5); end; four: delitem 18109,1; getitem 6820,rand(1,5); end; five: delitem 18110,1; getitem 6820,rand(1,5); end; six: delitem 18111,1; getitem 6820,rand(1,5); end; zeven: delitem 1745,1; getitem 6820,rand(1,5); end; eight: delitem 18103,1; getitem 6820,rand(1,5); end; nine: delitem 1647,1; getitem 6820,rand(1,5); end; ten: delitem 1659,1; getitem 6820,rand(1,5); end; eleven: delitem 1654,1; getitem 6820,rand(1,5); end; twelve: delitem 2004,1; getitem 6820,rand(1,5); end; thirteen: delitem 2005,1; getitem 6820,rand(1,5); end; fourteen: delitem 13431,1; getitem 6820,rand(1,5); end; fifteen: delitem 1196,1; getitem 6820,rand(1,5); end; sixteen: delitem 13421,1; getitem 6820,rand(1,5); end; seventeen: delitem 1584,1; getitem 6820,rand(1,5); end; eightteen: delitem 13061,1; getitem 6820,rand(1,5); nineteen: delitem 13062,1; getitem 6820,rand(1,5); end; twenty: delitem 13070,1; getitem 6820,rand(1,5); end; twentyone: delitem 13046,1; getitem 6820,rand(1,5); end; twentytwo: delitem 13047,1; getitem 6820,rand(1,5); end; twentythree: delitem 16017,1; getitem 6820,rand(1,5); end; twentyfour: delitem 16010,1; getitem 6820,rand(1,5); end; twentyfive: delitem 16000,1; getitem 6820,rand(1,5); end; twentysix: delitem 16001,1; getitem 6820,rand(1,5); end; twentyseven: delitem 1433,1; getitem 6820,rand(1,5); end; twentyeight: delitem 1435,1; getitem 6820,rand(1,5); end; twentynine: delitem 1490,1; getitem 6820,rand(1,5); end; thirty: delitem 1930,1; getitem 6820,rand(1,5); end; thirtyone: delitem 1963,1; getitem 6820,rand(1,5); end; thirtytwo: delitem 1830,1; getitem 6820,rand(1,5); end; Z_EEE: mes "I can also Exchange 50pcs energy debris and 1 3rd job head gear to 1 costume 3rd job items"; next; menu "let me see",Z_EEEE,"Leave",Z_EXIT; Z_EEEE: next; if(countitem(6820) > 50 || countitem(5746) > 1) goto costumea; if(countitem(6820) > 50 || countitem(5757) > 1) goto costumeb; if(countitem(6820) > 50 || countitem(5755) > 1) goto costumec; if(countitem(6820) > 50 || countitem(5750) > 1) goto costumed; if(countitem(6820) > 50 || countitem(5752) > 1) goto costumee; if(countitem(6820) > 50 || countitem(5749) > 1) goto costumef; if(countitem(6820) > 50 || countitem(5754) > 1) goto costumeg; if(countitem(6820) > 50 || countitem(5747) > 1) goto costumeh; if(countitem(6820) > 50 || countitem(5753) > 1) goto costumei; if(countitem(6820) > 50 || countitem(5756) > 1) goto costumej; if(countitem(6820) > 50 || countitem(5748) > 1) goto costumek; if(countitem(6820) > 50 || countitem(5751) > 1) goto costumel; if(countitem(6820) > 50 || countitem(5758) > 1) goto costumem; { GOTO Z_NOITEM; } costumea: delitem 6820,50; delitem 5746,1; getitem 19961,1; mes "Thank you very very much!"; end; costumeb: delitem 6820,50; delitem 5757,1; getitem 20393,1; mes "Thank you very very much!"; end; costumec: delitem 6820,50; delitem 5755,1; getitem 20391,1; mes "Thank you very very much!"; end; costumed: delitem 6820,50; delitem 5750,1; getitem 19965,1; mes "Thank you very very much!"; end; costumee: delitem 6820,50; delitem 5752,1; getitem 19967,1; mes "Thank you very very much!"; end; costumef: delitem 6820,50; delitem 5749,1; getitem 19963,1; mes "Thank you very very much!"; end; costumeg: delitem 6820,50; delitem 5754,1; getitem 19962,1; mes "Thank you very very much!"; end; costumeh: delitem 6820,50; delitem 5747,1; getitem 19969,1; mes "Thank you very very much!"; end; costumei: delitem 6820,50; delitem 5753,1; getitem 19968,1; mes "Thank you very very much!"; end; costumej: delitem 6820,50; delitem 5756,1; getitem 19970,1; mes "Thank you very very much!"; end; costumek: delitem 6820,50; delitem 5748,1; getitem 20392,1; mes "Thank you very very much!"; end; costumel: delitem 6820,50; delitem 5751,1; getitem 19966,1; mes "Thank you very very much!"; end; costumem: delitem 6820,50; delitem 57,1; getitem 19971,1; mes "Thank you very very much!"; end; Z_NOITEM: mes "You dont have enought items i need"; mes "Good bye."; close; Z_EXIT: mes "[Reaper]"; mes callfunc("F_Bye"); close; } 1 Quote Link to comment Share on other sites More sharing options...
0 Quesooo Posted October 12, 2017 Group: Members Topic Count: 197 Topics Per Day: 0.07 Content Count: 883 Reputation: 28 Joined: 02/13/17 Last Seen: November 10, 2022 Author Share Posted October 12, 2017 On 10/10/2017 at 11:33 PM, hendra814 said: i think this one, but need to make it simple. maybe using array. lhz_dun_n,132,260,4 script Memory of Regret 114,{ mes "I can convert some items to energy debris in random from 1 to 5 what do you want"; next; menu "Exchange Items to Energy Debris",Z_EE,"Create Costume",Z_EEE,"Leave",Z_EXIT; Z_EE: mes "What now lets see"; next; if(countitem(1284) > 0) goto one; if(countitem(1285) > 0) goto two; if(countitem(1290) > 0) goto three; if(countitem(18109) > 0) goto four; if(countitem(18110) > 0) goto five; if(countitem(18111) > 0) goto six; if(countitem(1745) > 0) goto seven; if(countitem(18103) > 0) goto eight; if(countitem(1647) > 0) goto nine; if(countitem(1659) > 0) goto ten; if(countitem(1654) > 0) goto eleven; if(countitem(2004) > 0) goto twelve; if(countitem(2005) > 0) goto thirteen; if(countitem(13431) > 0) goto fourteen; if(countitem(1196) > 0) goto fifteen; if(countitem(13421) > 0) goto sixteen; if(countitem(1584) > 0) goto seventeen; if(countitem(13061) > 0) goto eightteen; if(countitem(13062) > 0) goto nineteen; if(countitem(13070) > 0) goto twenty; if(countitem(13046) > 0) goto twentyone; if(countitem(13047) > 0) goto twentytwo; if(countitem(16017) > 0) goto twentythree; if(countitem(16010) > 0) goto twentyfour; if(countitem(16000) > 0) goto twentyfive; if(countitem(16001) > 0) goto twentysix; if(countitem(1433) > 0) goto twentyseven; if(countitem(1435) > 0) goto twentyeight; if(countitem(1490) > 0) goto twentynine; if(countitem(1930) > 0) goto thirty; if(countitem(1963) > 0) goto thirtyone; if(countitem(1830) > 0) goto thirtytwo; { goto Z_NOITEM; } one: delitem 1284,1; getitem 6820,rand(1,5); end; two: delitem 1285,1; getitem 6820,rand(1,5); end; three: delitem 1290,1; getitem 6820,rand(1,5); end; four: delitem 18109,1; getitem 6820,rand(1,5); end; five: delitem 18110,1; getitem 6820,rand(1,5); end; six: delitem 18111,1; getitem 6820,rand(1,5); end; zeven: delitem 1745,1; getitem 6820,rand(1,5); end; eight: delitem 18103,1; getitem 6820,rand(1,5); end; nine: delitem 1647,1; getitem 6820,rand(1,5); end; ten: delitem 1659,1; getitem 6820,rand(1,5); end; eleven: delitem 1654,1; getitem 6820,rand(1,5); end; twelve: delitem 2004,1; getitem 6820,rand(1,5); end; thirteen: delitem 2005,1; getitem 6820,rand(1,5); end; fourteen: delitem 13431,1; getitem 6820,rand(1,5); end; fifteen: delitem 1196,1; getitem 6820,rand(1,5); end; sixteen: delitem 13421,1; getitem 6820,rand(1,5); end; seventeen: delitem 1584,1; getitem 6820,rand(1,5); end; eightteen: delitem 13061,1; getitem 6820,rand(1,5); nineteen: delitem 13062,1; getitem 6820,rand(1,5); end; twenty: delitem 13070,1; getitem 6820,rand(1,5); end; twentyone: delitem 13046,1; getitem 6820,rand(1,5); end; twentytwo: delitem 13047,1; getitem 6820,rand(1,5); end; twentythree: delitem 16017,1; getitem 6820,rand(1,5); end; twentyfour: delitem 16010,1; getitem 6820,rand(1,5); end; twentyfive: delitem 16000,1; getitem 6820,rand(1,5); end; twentysix: delitem 16001,1; getitem 6820,rand(1,5); end; twentyseven: delitem 1433,1; getitem 6820,rand(1,5); end; twentyeight: delitem 1435,1; getitem 6820,rand(1,5); end; twentynine: delitem 1490,1; getitem 6820,rand(1,5); end; thirty: delitem 1930,1; getitem 6820,rand(1,5); end; thirtyone: delitem 1963,1; getitem 6820,rand(1,5); end; thirtytwo: delitem 1830,1; getitem 6820,rand(1,5); end; Z_EEE: mes "I can also Exchange 50pcs energy debris and 1 3rd job head gear to 1 costume 3rd job items"; next; menu "let me see",Z_EEEE,"Leave",Z_EXIT; Z_EEEE: next; if(countitem(6820) > 50 || countitem(5746) > 1) goto costumea; if(countitem(6820) > 50 || countitem(5757) > 1) goto costumeb; if(countitem(6820) > 50 || countitem(5755) > 1) goto costumec; if(countitem(6820) > 50 || countitem(5750) > 1) goto costumed; if(countitem(6820) > 50 || countitem(5752) > 1) goto costumee; if(countitem(6820) > 50 || countitem(5749) > 1) goto costumef; if(countitem(6820) > 50 || countitem(5754) > 1) goto costumeg; if(countitem(6820) > 50 || countitem(5747) > 1) goto costumeh; if(countitem(6820) > 50 || countitem(5753) > 1) goto costumei; if(countitem(6820) > 50 || countitem(5756) > 1) goto costumej; if(countitem(6820) > 50 || countitem(5748) > 1) goto costumek; if(countitem(6820) > 50 || countitem(5751) > 1) goto costumel; if(countitem(6820) > 50 || countitem(5758) > 1) goto costumem; { GOTO Z_NOITEM; } costumea: delitem 6820,50; delitem 5746,1; getitem 19961,1; mes "Thank you very very much!"; end; costumeb: delitem 6820,50; delitem 5757,1; getitem 20393,1; mes "Thank you very very much!"; end; costumec: delitem 6820,50; delitem 5755,1; getitem 20391,1; mes "Thank you very very much!"; end; costumed: delitem 6820,50; delitem 5750,1; getitem 19965,1; mes "Thank you very very much!"; end; costumee: delitem 6820,50; delitem 5752,1; getitem 19967,1; mes "Thank you very very much!"; end; costumef: delitem 6820,50; delitem 5749,1; getitem 19963,1; mes "Thank you very very much!"; end; costumeg: delitem 6820,50; delitem 5754,1; getitem 19962,1; mes "Thank you very very much!"; end; costumeh: delitem 6820,50; delitem 5747,1; getitem 19969,1; mes "Thank you very very much!"; end; costumei: delitem 6820,50; delitem 5753,1; getitem 19968,1; mes "Thank you very very much!"; end; costumej: delitem 6820,50; delitem 5756,1; getitem 19970,1; mes "Thank you very very much!"; end; costumek: delitem 6820,50; delitem 5748,1; getitem 20392,1; mes "Thank you very very much!"; end; costumel: delitem 6820,50; delitem 5751,1; getitem 19966,1; mes "Thank you very very much!"; end; costumem: delitem 6820,50; delitem 57,1; getitem 19971,1; mes "Thank you very very much!"; end; Z_NOITEM: mes "You dont have enought items i need"; mes "Good bye."; close; Z_EXIT: mes "[Reaper]"; mes callfunc("F_Bye"); close; } this is working but 1 problem only we see when the item is on character equipment its also exchange for energy debris how to make it on inventory item only Quote Link to comment Share on other sites More sharing options...
0 SpiritD Posted October 12, 2017 Group: Members Topic Count: 6 Topics Per Day: 0.00 Content Count: 75 Reputation: 7 Joined: 08/10/17 Last Seen: November 3, 2017 Share Posted October 12, 2017 16 hours ago, Quesooo said: how to make it on inventory item only --------------------------------------- *isequipped(<id>{,<id>{,<id>{,<id>}}}) This function will return 1 if the invoking character has all of the item IDs given equipped (if card IDs are passed, then it checks if the cards are inserted into slots in the equipment they are currently wearing). Theoretically there 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 Gravity in February 2005, but it will work just fine in normal NPC scripts. --------------------------------------- make a check to see if the item ID is equipped. If it is, end the script. If not, proceed as normal. 1 Quote Link to comment Share on other sites More sharing options...
Question
Quesooo
good day can i request a npc that can exchange several weapons to 1 item only
for example a katar can be exchange for 1 jellopy in random amount
a dagger that can exchange for jellopy in random amount etc. etc.
i think this is more different than master euphy or emistry exchange npc
all items listen at the npc can be exchange only in 1 item in random amount thank you
Link to comment
Share on other sites
12 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.