BlazingSpear Posted February 16, 2022 Group: Members Topic Count: 22 Topics Per Day: 0.01 Content Count: 75 Reputation: 9 Joined: 11/27/16 Last Seen: 10 hours ago Share Posted February 16, 2022 hi i would like to request npc like quest but the reward will be type by players item_id and amount of that id Example: required item fluff 10pcs four leaf clover 4pcs brigan 4pcs then if the item is completed the player will type what item id and how many it will produce Quote Link to comment Share on other sites More sharing options...
0 Racaae Posted February 17, 2022 Group: Members Topic Count: 0 Topics Per Day: 0 Content Count: 231 Reputation: 101 Joined: 06/02/12 Last Seen: 50 minutes ago Share Posted February 17, 2022 Spoiler //===== rAthena Script ======================================= //= npc like quest but the reward will be type by players item_id and amount //= https://rathena.org/board/topic/130400-item-npc/ //============================================================ //= 1.0 First Version. [Racaae] //============================================================ prontera,162,230,3 script Rich Man#blazingspear 4_M_MAYOR,{ mes "[Rich Man]"; mes "Hi. Can you bring me some items?"; mes "You can choose ^FF7700whatever you want as reward^000000 for this quest!"; next; switch(select("What do you want?", "I brought the items.", "Finish conversation.")) { case 1: mes "[Rich Man]"; mes "This is the list:"; for (.@i2 = 0; .@i2 <getarraysize(.request); .@i2+=2) mes "- " + .request[.@i2+1] + " <ITEM>" + getitemname(.request[.@i2]) + (getiteminfo(.request[.@i2], 10)?" ["+getiteminfo(.request[.@i2], 10)+"]":"") + "<INFO>" + .request[.@i2] + "</INFO></ITEM>"; close; case 2: mes "[Rich Man]"; for (.@i = 0; .@i <getarraysize(.request); .@i+=2) { if (countitem(.request[.@i]) < .request[.@i+1]) { mes "Huh... Where is the"; mes "<ITEM>" + getitemname(.request[.@i]) + "<INFO>" + .request[.@i] + "</INFO></ITEM>?"; close; } } mes "You got it all!"; mes "What will you want from me?"; mes "^3131FF- Type Item ID -^000000"; next; input .@id; if (getitemname(.@id) == "null") { mes "[Rich Man]"; mes "I don't think such a item exists."; mes "^3131FF- Invalid Item ID -^000000"; close; } if (inarray(.blacklist,.@id) > -1) { mes "[Rich Man]"; mes "This item is just too rare. Sorry."; close; } mes "[Rich Man]"; mes "How many do you want?"; mes "I cannot give you more than " + .max_reward_qty + "."; mes "^3131FF- Enter 0 to cancel -^000000"; next; input .@q; if (.@q < 1) { mes "[Rich Man]"; mes "Bye."; close; } if (.@q > .max_reward_qty) { mes "[Rich Man]"; mes "I cannot give you all this amount."; close; } if ((MaxWeight - Weight) < 1000 || !checkweight(.@id, .@q)) { mes "^3131FF- You can't continue this quest because you have too many items. -^000000"; close; } mes "[Rich Man]"; mes "Are you sure you want " + .@q + " " + getitemname(.@id) + "?"; next; if (select("Yes.", "No.") == 2) { mes "[Rich Man]"; mes "Bye."; close; } for (.@i = 0; .@i <getarraysize(.request); .@i+=2) delitem .request[.@i], .request[.@i+1]; getitem .@id, .@q; mes "[Rich Man]"; mes "Take it."; emotion ET_THANKS; close; case 3: mes "[Rich Man]"; mes "Bye."; close; } OnInit: //===== CONFIG ========================== //Items IDs and amount to request setarray .request, 914, 10, 706, 4, 7054, 4; //Blacklist IDs (player can't choose those items) setarray .blacklist,1599,2199,2181,2020,2182,2021,2541,2383,2410,2629,2630,1530; .max_reward_qty = 100; //Max reward amount player can choose //======================================= end; } Quote Link to comment Share on other sites More sharing options...
Question
BlazingSpear
hi i would like to request npc like quest but the reward will be type by players item_id and amount of that id
Example:
required item
fluff 10pcs
four leaf clover 4pcs
brigan 4pcs
then if the item is completed
the player will type what item id and how many it will produce
Link to comment
Share on other sites
1 answer 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.