Checkmate Posted April 15, 2021 Group: Members Topic Count: 96 Topics Per Day: 0.02 Content Count: 554 Reputation: 14 Joined: 09/24/12 Last Seen: November 20, 2024 Share Posted April 15, 2021 Greetings everyone. Its been a century since the last time i've been here. Just a 3 simple questions. According to the picture. 1) How to solve error like shown below ? 2) How to solve error like shown below ? 3) How to solve error like shown below ? Any help even to solving 1 problem,are very helpful to me. Thanks in advance. Quote Link to comment Share on other sites More sharing options...
1 Mael Posted April 15, 2021 Group: Forum Moderator Topic Count: 25 Topics Per Day: 0.01 Content Count: 837 Reputation: 321 Joined: 02/11/19 Last Seen: 1 hour ago Share Posted April 15, 2021 1. Deactivate the roulette or add items to it: https://github.com/rathena/rathena/blob/master/conf/battle/feature.conf#L68 https://rathena.org/board/topic/111706-how-to-enable-roullete/#comment-328097 2. Increase your event_queue to 10: https://github.com/rathena/rathena/blob/master/src/map/map.hpp#L49 3. I think we can't help you without knowing the script. 1 Quote Link to comment Share on other sites More sharing options...
1 Radian Posted April 16, 2021 Group: Members Topic Count: 162 Topics Per Day: 0.04 Content Count: 1546 Reputation: 192 Joined: 07/23/14 Last Seen: June 24, 2024 Share Posted April 16, 2021 3 hours ago, Checkmate said: Sry sir im still dont get it... and i already copy the whole script you show me and test but the error still shown. You cant add 0 on list of requirements just leave it empty like this part Add(1,5016,1,0,0,1030,10,0,0,0,0,0,0); must be like this Add(1,5016,1,0,0,1030,10); Quote Link to comment Share on other sites More sharing options...
0 Checkmate Posted April 16, 2021 Group: Members Topic Count: 96 Topics Per Day: 0.02 Content Count: 554 Reputation: 14 Joined: 09/24/12 Last Seen: November 20, 2024 Author Share Posted April 16, 2021 10 hours ago, Mael said: 1. Deactivate the roulette or add items to it: https://github.com/rathena/rathena/blob/master/conf/battle/feature.conf#L68 https://rathena.org/board/topic/111706-how-to-enable-roullete/#comment-328097 2. Increase your event_queue to 10: https://github.com/rathena/rathena/blob/master/src/map/map.hpp#L49 3. I think we can't help you without knowing the script. Thank you sir for you kindness answer and for no 3 i think it was came from euphys quest shop because im adding some extra things in there long time ago and im reused this script again in my test ro.. I will show the script here tonight for easy help from our members. Quote Link to comment Share on other sites More sharing options...
0 Radian Posted April 16, 2021 Group: Members Topic Count: 162 Topics Per Day: 0.04 Content Count: 1546 Reputation: 192 Joined: 07/23/14 Last Seen: June 24, 2024 Share Posted April 16, 2021 Just now, Checkmate said: Thank you sir for you kindness answer and for no 3 i think it was came from euphys quest shop because im adding some extra things in there long time ago and im reused this script again in my test ro.. I will show the script here tonight for easy help from our members. You need to post the script that you are using now its hard to pin point which part is giving you an issue, as i can see its part of quest requirements. Quote Link to comment Share on other sites More sharing options...
0 Checkmate Posted April 16, 2021 Group: Members Topic Count: 96 Topics Per Day: 0.02 Content Count: 554 Reputation: 14 Joined: 09/24/12 Last Seen: November 20, 2024 Author Share Posted April 16, 2021 9 hours ago, Radian said: You need to post the script that you are using now its hard to pin point which part is giving you an issue, as i can see its part of quest requirements. Noted sir. Hold on while im trying to copy the whole script. Here we are //===== rAthena Script ======================================= //= Euphy's Quest Shop //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.6c //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= A dynamic quest shop based on Lunar's, with easier config. //= Includes support for multiple shops & cashpoints. //= Item Preview script by ToastOfDoom. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 1.2 Added category support. //= 1.3 More options and fixes. //= 1.4 Added debug settings. //= 1.5 Replaced categories with shop IDs. //= 1.6 Added support for purchasing stackables. //= 1.6a Added support for previewing costumes and robes. //= 1.6b Added 'disable_items' command. //= 1.6c Replaced function 'A_An' with "F_InsertArticle". //============================================================ // Shop NPCs -- supplying no argument displays entire menu. // callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}}; // ADD YOUR NPC HERE //============================================================ prontera,142,227,6 script HatMaker#1 562,{ callfunc "qshop"; } // prontera,165,203,6 script Quest Shop#2 998,{ callfunc "qshop",1,2; } // call the shop 1 and 2 defined below // etc.. Add your Shop NPCs 'Quest Shop#XXX' here //============================================================ // Script Core - DO NOT DUPLICATE THIS NPC !!!!!!!!!!!!! //============================================================ - script quest_shop -1,{ function Add; function Chk; function Slot; OnInit: freeloop(1); // ----------------------------------------------------------- // Basic shop settings. // ----------------------------------------------------------- set .Announce,1; // Announce quest completion? (1: yes / 0: no) set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never) set .ShowID,0; // Show item IDs? (1: yes / 0: no) set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no) set .MaxStack,100; // Max number of quest items purchased at one time. // ----------------------------------------------------------- // Points variable -- optional quest requirement. // setarray .Points$[0],"<variable name>","<display name>"; // ----------------------------------------------------------- setarray .Points$[0], "#CASHPOINTS", "Cash Points"; //===================================================================================== // ------------------- ADD YOUR SHOPS NAME AND ITEMS SHOPS STARTING HERE -------------- //===================================================================================== // ----------------------------------------------------------- // Shop IDs -- to add shops, copy dummy data at bottom of file. // setarray .Shops$[1],"<Shop 1>","<Shop 2>"{,...}; // ----------------------------------------------------------- setarray .Shops$[1], "Headgears Top,Mid,Bottom", // Shop Named 1 //"Weapons", // Shop Named 2 //"Other"; // Shop Named 3 // ----------------------------------------------------------- // Quest items -- do NOT use a reward item more than once! // Add(<shop ID>,<reward ID>,<reward amount>, // <Zeny cost>,<point cost>, // <required item ID>,<required item amount>{,...}); // ----------------------------------------------------------- // Shop 1 Add(1,5074,1,20000,0,2286,1,2254,1); Add(1,2284,1,0,0,923,20); Add(1,5174,1,0,0,7445,7,7446,7,7447,7,7448,7,945,300,975,1,733,5,7166,50); Add(1,5277,1,0,0,5278,1,508,200); Add(1,2237,1,0,0,1020,100,983,1,2241,1); Add(1,5147,1,0,0,2227,1,978,1,1057,100); Add(1,5057,1,10000,0,2213,1,983,1,914,200); Add(1,5076,1,0,0,2227,1,7038,500); Add(1,5235,1,0,0,2227,1,7038,500,982,1,983,1); Add(1,5237,1,0,0,2227,1,7038,500,975,1,982,1); Add(1,5065,1,0,0,624,1,959,300,544,50,1023,1); Add(1,5052,1,0,0,2211,1,978,1,7003,300); Add(1,2296,1,50000,0,2243,1,999,100); Add(1,5129,1,0,0,604,1,916,1); Add(1,5102,1,0,0,7263,2,2276,1,2239,1,568,150); Add(1,5040,1,0,0,7047,100); Add(1,5109,50000,0,0,10015,1,10007,1,5023,1,975,1); Add(1,5016,1,0,0,1030,10,0,0,0,0,0,0); Add(1,5110,1,0,0,526,2,7270,1,941,1,10004,1); Add(1,5169,1,0,0,706,1,1019,500,7200,10,1049,20,7165,500,1054,2,1024,100); Add(1,5034,1,0,0,2233,1,746,20); Add(1,2214,1,0,0,949,100,706,1,722,1,2213,1); Add(1,5105,1,0,0,2288,1,1095,3000); Add(1,5080,1,0,0,10006,1,714,1,969,3); Add(1,5024,1,0,0,529,10,530,5,539,20,999,10,538,15); Add(1,5028,1,0,0,2279,1,7035,50,526,100); Add(1,5184,1,0,0,5120,5,995,50,983,1,720,50); Add(1,5359,1,0,0,2284,1,5019,1,975,1); Add(1,5214,1,0,0,976,1,1060,300,1022,100,5008,5); Add(1,5026,1,0,0,1036,450,949,330,539,120,982,1); Add(1,5142,1,0,0,5017,1,2229,1,5014,1,7209,100,7123,100,1036,100,979,1); Add(1,5283,1,0,0,949,200,916,100,7063,20,925,1); Add(1,5260,1,0,0,4293,1,538,100,530,100,529,50); Add(1,5075,1,0,0,2248,1,7030,108,7194,108,7120,4); Add(1,5048,1,0,0,5041,1,999,10); Add(1,5036,1,0,0,2608,1,7069,500); Add(1,5135,1,0,0,2295,1,969,1,975,1,999,5); Add(1,5181,1,0,0,7511,100,7340,200,7023,10); Add(1,5108,1,5000,0,7301,1887,5114,1,611,10); Add(1,5038,1,0,0,1038,600,7048,40); Add(1,5229,1,0,0,1038,600,7048,40,982,1,983,1); Add(1,5227,1,0,0,1038,600,7048,40,975,1); Add(1,5228,1,0,0,1038,600,7048,40,982,1); Add(1,5186,1,0,0,1032,100,7100,100,905,250); Add(1,5091,1,20000,0,10016,1,714,1,969,3); Add(1,5082,1,0,0,921,300); Add(1,2273,1,3500,0,2275,1,998,50,733,1); Add(1,5198,1,0,0,5058,1,2214,1,949,500,914,200,622,50,1974,1); Add(1,5058,1,0,0,2233,1,983,1,7206,300,7030,1); Add(1,5233,1,0,0,2233,1,983,1,7206,300,7030,1,978,1); Add(1,5232,1,0,0,2233,1,983,1,7206,300,7030,1,982,1,975,1); Add(1,5234,1,0,0,2233,1,983,1,7206,300,7030,1,976,1); Add(1,5253,1,0,0,1034,300,7445,30,5141,10,979,1); Add(1,5252,1,0,0,5058,1,1022,250,7267,100); Add(1,2283,1,0,0,724,1,5001,1,949,200); Add(1,5243,1,0,0,975,1,976,1,914,100,7441,150,7065,25,2283,1); Add(1,5259,1,0,0,978,1,7561,100,949,500,1026,200); Add(1,5205,1,0,0,5185,1,610,100,706,25,7194,113); Add(1,5068,1,20000,0,2255,1,2286,1); Add(1,5304,1,0,0,7017,2,2510,1,983,1); Add(1,5207,1,0,0,2282,5,2254,2,969,1,7063,15); Add(1,5333,1,0,0,996,4,12028,1,12032,1,992,10,5011,1); Add(1,5379,1,0,0,5061,2,978,1,2270,2,5083,1,1059,150); Add(1,5416,1,0,0,746,20,7097,12,587,20,2717,1); Add(1,5401,1,0,0,5288,1,983,1); Add(1,5404,1,0,0,5187,1,1034,70,7441,10,978,10); Add(1,5429,1,0,0,5100,1,1021,30,7268,1); Add(1,5338,1,0,0,5100,1,7112,25,561,1); Add(1,5300,1,0,0,7106,2,2246,1,7263,1); Add(1,5414,1,100000000,0,7300,9,1068,4,7098,2); Add(1,5307,1,0,0,2275,5,514,2,979,1,634,1,619,20,1027,20); Add(1,5131,1,0,0,5128,1,969,10,978,1,985,27); Add(1,5369,1,0,0,5191,6,7205,25,558,3,2210,1,7441,5); Add(1,5313,1,0,0,5124,1,2249,1,5007,1,523,200); Add(1,5292,1,0,0,7266,2,1035,4,10001,1); Add(1,5396,1,0,0,5058,1,980,1,1022,53); Add(1,5146,1,0,0,978,1,949,500,1019,1); Add(1,5282,1,0,0,5200,1,982,1,978,2); Add(1,5247,1,0,0,1039,60,923,25,2255,1); Add(1,5210,1,0,0,2254,10,7063,50,7168,200,7038,200); Add(1,5047,1,0,0,2271,1,975,1); Add(1,5170,1,0,0,5172,1,7063,100,982,1); Add(1,5380,1,0,0,5065,2); Add(1,5303,1,0,0,712,100,710,5,629,5,10009,1); Add(1,5302,1,0,0,7553,2,982,1,7771,1); Add(1,5056,1,0,0,5079,1,578,100); Add(1,5390,1,0,0,2236,2,978,1,1034,50,2294,2); Add(1,5144,1,0,0,2214,1,2221,1,7567,25,1001,200); Add(1,5063,1,0,0,970,1,930,500); Add(1,5021,1,0,0,2233,1,969,1,999,20,949,80,938,800); Add(1,5179,1,0,0,2234,1,969,3,2610,4,13106,2); Add(1,5176,1,0,0,706,1,1019,500,7200,10,7015,20,2267,1,952,100,1028,100); Add(1,5001,1,0,0,999,40,984,1,970,1,1003,1); Add(1,5031,1,0,0,7013,1200); Add(1,5061,1,20000,0,2269,1,999,10); Add(1,5139,1,0,0,5085,1,710,5,7510,1,975,1); Add(1,5070,1,0,0,7216,300,7097,300,2211,1,982,1); Add(1,5071,1,10000,0,5010,1,5049,1,7101,10); Add(1,5173,1,0,0,7445,7,7446,7,7447,7,7478,7,945,300,983,1,733,5,2221,1); Add(1,5321,1,0,0,2275,2,2211,2,7215,4,7217,20); Add(1,2240,1,0,0,1040,2,982,2,949,4,7457,1); Add(1,5405,1,0,0,7441,45,949,80,916,100); Add(1,5424,1,0,0,980,1,620,1,605,50,985,200); Add(1,5425,1,0,0,981,1,533,1,605,50,985,200); Add(1,5276,1,0,0,2261,1,914,200,983,1,976,1,975,1); Add(1,5156,1,0,0,2265,10,982,1); Add(1,5154,1,0,0,2202,1,7020,5); Add(1,5155,1,0,0,7024,10,7754,2,7562,4,7450,1); Add(1,5018,1,500,0,2247,1,916,300); Add(1,5403,1,0,0,1023,1,544,5,579,1); Add(1,5317,1,0,0,5120,1,2290,1,938,4); Add(1,5269,1,0,0,5203,4,7063,60,2210,1); Add(1,5334,1,0,0,5132,1,1971,20,7093,4,2659,1); Add(1,5400,1,0,0,1022,20,1234,2); Add(1,5339,1,0,0,5100,1,7112,25,1558,1); Add(1,5361,1,0,0,7216,200); Add(1,5346,1,0,0,5100,1,7112,25,558,1); Add(1,5433,1,0,0,5185,1,969,2); Add(1,5262,1,0,0,5164,1,7799,1,7578,1,969,3); Add(1,5273,1,0,0,2261,1,914,200,982,1,975,1,979,1); Add(1,5319,1,0,0,5035,1,5074,1,978,1); Add(1,5314,1,0,0,7567,200,5102,1); Add(1,5383,1,0,0,5200,1,979,1,7445,50); Add(1,5423,1,5000000,0,736,300,5074,1,994,1); Add(1,5209,1,0,0,5147,1,976,1); Add(1,5396,1,0,0,5430,1,5285,1,7262,20,5396,1); Add(1,5371,1,0,0,5016,1,1004,35); Add(1,5426,1,0,0,5027,1,976,5); Add(1,5322,1,0,0,10019,1,982,2); Add(1,5291,1,0,0,7323,100,969,20); Add(1,5372,1,0,0,5099,1,5230,1,2747,5,982,15); Add(1,5311,1,0,0,5139,5); Add(1,5418,1,0,0,5016,1,2261,1,968,1,975,5,1004,35); Add(1,5422,1,500000,0,1550,3,1006,20); Add(1,5803,1,0,0,2215,3,2210,2,5061,1,10009,1); Add(1,5393,1,777777,0,2285,5,994,10,7097,25); Add(1,5365,1,0,0,574,150,7031,150); Add(1,5143,1,0,0,5090,1,1020,300,975,1,982,1); Add(1,5020,1,0,0,2215,1,2210,1,7063,20); Add(1,5069,1,0,0,1022,99); Add(1,5185,1,0,0,5061,1,712,100,7194,150,7298,100,520,50,521,50); Add(1,5177,1,0,0,706,1,1019,500,7200,10,1049,500,1053,2,980,1); Add(1,5084,1,0,0,1026,1000,7065,100,945,100,7030,1); Add(1,5027,1,0,0,2252,1,1036,400,7001,50,4052,1); Add(1,5241,1,0,0,2252,1,1036,400,7001,50,4052,1,978,1); Add(1,5240,1,0,0,2252,1,1036,400,7001,50,4052,1,982,1,983,1); Add(1,5238,1,0,0,2252,1,1036,400,7001,50,4052,1,975,1); Add(1,5239,1,0,0,2252,1,1036,400,7001,50,4052,1,982,1); Add(1,5242,1,0,0,2252,1,1036,400,7001,50,4052,1,976,1); Add(1,5054,1,0,0,2252,1,1054,450,943,1200); Add(1,5187,1,0,0,5085,1,5091,1,5117,2,978,1,975,1); Add(1,5138,1,0,0,5123,1,5027,1,7337,50,981,1); Add(1,5099,1,0,0,7267,300,7171,300,1029,5); Add(1,5031,1,0,0,5009,1,5028,1,747,1,999,25); Add(1,5081,1,40000,0,2249,1,714,1,969,3); Add(1,5073,1,0,0,2285,1,1550,1); Add(1,5117,1,50000,0,731,10,748,2,982,1); Add(1,5183,1,0,0,604,100,916,100,7115,100); Add(1,5151,1,0,0,5001,1,978,1,991,200); Add(1,2281,1,5000,0,998,20,707,1); Add(1,5043,1,0,0,2281,1,1048,50); Add(1,5094,1,0,0,968,100,2299,1,1124,1,931,1000); Add(1,5078,1,0,0,5033,1,5064,1); Add(1,5004,1,0,0,701,5); Add(1,5275,1,0,0,2261,1,914,200,975,1,976,1,981,1); Add(1,5389,1,0,0,5043,5,969,10,7568,50); Add(1,5323,1,0,0,5081,3,7754,1,2128,1); Add(1,5806,1,0,0,2280,1,7479,1,2109,1); Add(1,5807,1,0,0,5416,1,2211,2,949,100); Add(1,5370,1,0,0,5302,1,981,5); Add(1,5060,1,0,0,2236,1,7151,100,7111,100); Add(1,5299,1,0,0,7441,20,949,50,916,15,7115,10,7440,20,7063,10,7200,10,2214,1); Add(1,5023,1,0,0,1059,150,907,100,978,1); Add(1,5286,1,0,0,2254,2,7101,200,2210,2,7510,10); Add(1,5271,1,0,0,2254,1,723,1,7301,20,999,50,978,1); Add(1,5202,1,0,0,5035,1,1062,100,535,80); Add(1,5182,1,0,0,5008,10,5118,1,1060,100,2210,1); Add(1,5213,1,0,0,2214,1,983,1,7063,30); Add(1,5033,1,0,0,1036,20,2213,1,7065,300,7012,200); Add(1,5039,1,0,0,7030,50,978,1,5015,1); Add(1,5288,1,0,0,5047,1,2276,1); Add(1,5211,1,0,0,5045,1,5083,1,7063,40,7553,1,982,1,975,1); Add(1,5208,1,0,0,1550,1,1553,7,1556,7,1554,7,1557,7,1555,7,7015,30); Add(1,5083,1,0,0,2244,1,2209,1,10007,1); Add(1,2280,1,10000,0,1019,120); Add(1,5067,1,0,0,5062,1,952,50,1907,1); Add(1,5149,1,0,0,2234,1,714,5,2611,25); Add(1,5064,1,0,0,945,600,7030,1); Add(1,2278,1,0,0,705,10,909,10,914,10); Add(1,5203,1,0,0,2278,1,1015,1,999,5); Add(1,5212,1,0,0,1820,2,5011,1,2651,1,4125,1); Add(1,5257,1,0,0,5074,1,2282,1,7064,10,969,5); Add(1,5029,1,0,0,7068,300,7033,850,1015,1); Add(1,2272,1,911000,0,1019,50,983,1); Add(1,5062,1,0,0,2280,1,7197,300,7150,300); Add(1,5049,1,0,0,1099,1500); Add(1,5287,1,0,0,5062,1,5348,1,978,1); Add(1,5032,1,0,0,1059,250,2221,1,2227,1,7063,600); Add(1,5103,1,0,0,5351,1,10011,1); Add(1,5059,1,0,0,5030,1,7213,100,7217,100,7161,300); Add(1,5107,1,0,0,519,50,7031,50,548,50,539,50); Add(1,5077,1,0,0,2278,1,975,1); Add(1,5337,1,0,0,5100,1,7112,25,2617,1); Add(1,5358,1,0,0,2286,1,7101,30); Add(1,5152,1,0,0,2254,1,724,1,7301,20,999,50,978,1); Add(1,5415,1,0,0,5255,1,5024,1); Add(1,5409,1,0,0,5075,1,7101,5,981,10); Add(1,5051,1,0,0,7047,100); Add(1,5293,1,0,0,577,20,7134,1,581,3,7454,2,7455,2,6033,2,6022,2); Add(1,5801,1,0,0,5083,1,2700,12,7566,12,7562,12,2357,3); Add(1,5320,1,0,0,5205,1,1009,50,2111,1); Add(1,5354,1,0,0,5431,1,12080,1,1629,1); Add(1,5811,1,0,0,985,100,2241,10); Add(1,5355,1,0,0,7166,100,1059,200); Add(1,5243,1,0,0,7446,1,2339,10,1059,70); Add(1,5310,1,0,0,5034,1,1971,2,996,6); Add(1,5261,1,0,0,5164,1,714,25,2611,50,7799,4); Add(1,5388,1,0,0,1048,50,926,50); Add(1,5412,1,0,0,530,20,7035,10); Add(1,5098,1,0,0,1029,10,2297,5,7267,50); Add(1,5430,1,50000000,0,5414,1,7135,10,7451,4); Add(1,5384,1,0,0,5390,1,975,1); Add(1,5316,1,0,0,2226,1,622,10); Add(1,5289,1,0,0,526,200,7268,1); Add(1,5805,1,0,0,5161,1); Add(1,5301,1,0,0,5191,3,5195,3); Add(1,5345,1,0,0,5137,1,5195,2,1060,45); Add(1,5411,1,0,0,5388,1,982,5,7263,2,978,2); Add(1,5368,1,0,0,5197,6,7751,25,561,3,2210,1,7063,20); Add(1,5079,1,0,0,2294,1,7220,400); Add(1,5256,1,0,0,7510,1,2210,1,7063,50); Add(1,5285,1,0,0,7192,200,10011,1); Add(1,5357,1,0,0,7510,20); Add(1,5188,1,0,0,5027,1,7166,50,7064,1); Add(1,2292,1,2000,0,999,50); Add(1,5294,1,0,0,7019,5,7567,50); Add(1,5115,1,50000,0,983,1,7267,99,749,1); Add(1,5284,1,0,0,5302,1,975,1,982,1,5165,1); Add(1,5050,1,0,0,5037,1,7064,500); Add(1,5206,1,0,0,2269,1,982,1); Add(1,5278,1,0,0,2210,1,5192,1,2250,1); Add(1,5121,1,0,0,7263,1,660,1,7099,30,7315,369); // Shop 2 Add(2,1224,1,0,0,7297,30,969,10,999,50,714,10); Add(2,1225,1,0,0,7292,30,969,10,999,50,714,10); // Shop 3 Add(3,531,1,3,0,512,1,713,1); Add(3,532,1,3,0,513,1,713,1); Add(3,533,1,3,0,514,1,713,1); Add(3,534,1,3,0,515,1,713,1); // ----------------------------------------------------------- //===================================================================================== // ------------------- YOUR SHOPS AND ITEMS SHOPS HAVE BEEN ADDED --------------------- //===================================================================================== freeloop(0); set .menu$,""; for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) { set .menu$, .menu$+.Shops$[.@i]+":"; npcshopdelitem "qshop"+.@i,909; } end; OnMenu: set .@size, getarraysize(@i); if (!.@size) set @shop_index, select(.menu$); else if (.@size == 1) set @shop_index, @i[0]; else { for(set .@j,0; .@j<.@size; set .@j,.@j+1) set .@menu$, .@menu$+.Shops$[@i[.@j]]+":"; set @shop_index, @i[select(.@menu$)-1]; } deletearray @i[0],getarraysize(@i); if (.Shops$[@shop_index] == "") { message strcharinfo(0),"An error has occurred."; end; } dispbottom "Select one item at a time."; callshop "qshop"+@shop_index,1; npcshopattach "qshop"+@shop_index; end; OnBuyItem: // .@q[] : RewardID, BoughtAmt, RewardAmt, BaseAmt, ReqZeny, ReqPts, { ReqItem, ReqAmt, ... } setarray .@q[0],@bought_nameid[0],((@bought_quantity[0] > .MaxStack)?.MaxStack:@bought_quantity[0]); copyarray .@q[3],getd(".q_"+@shop_index+"_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+@shop_index+"_"+.@q[0])); set .@q[2],.@q[1]*.@q[3]; if (!.@q[2] || .@q[2] > 30000) { message strcharinfo(0),"You can't purchase that many "+getitemname(.@q[0])+"."; end; } mes "[Quest Shop]"; mes "Reward: ^0055FF"+((.@q[2] > 1)?.@q[2]+"x ":"")+Slot(.@q[0])+"^000000"; mes "Requirements:"; disable_items; if (.@q[4]) mes " > "+Chk(Zeny,.@q[4]*.@q[1])+(.@q[4]*.@q[1])+" Zeny^000000"; if (.@q[5]) mes " > "+Chk(getd(.Points$[0]),.@q[5]*.@q[1])+(.@q[5]*.@q[1])+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+(.@q[5]*.@q[1])+")^000000"; if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000"; next; setarray @qe[1], getiteminfo(.@q[0],5), getiteminfo(.@q[0],11); if (@qe[2] > 0 && ((@qe[1] & EQP_HEAD_LOW) || (@qe[1] & EQP_HEAD_TOP) || (@qe[1] & EQP_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_TOP) || (@qe[1] & EQP_COSTUME_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_LOW) || (@qe[1] & EQP_GARMENT) || (@qe[1] & EQP_COSTUME_GARMENT))) set .@preview,1; addtimer 1000, strnpcinfo(0)+"::OnEnd"; while(1) { switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((.@preview && !@qe[7])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) { case 1: if (@qe[0]) { mes "[Quest Shop]"; mes "You're missing one or more quest requirements."; close; } if (!checkweight(.@q[0],.@q[2])) { mes "[Quest Shop]"; mes "^FF0000You need "+(((.@q[2]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000"; close; } if (.@q[4]) set Zeny, Zeny-(.@q[4]*.@q[1]); if (.@q[5]) setd .Points$[0], getd(.Points$[0])-(.@q[5]*.@q[1]); if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) delitem .@q[.@i],.@q[.@i+1]*.@q[1]; getitem .@q[0],.@q[2]; if (.Announce) announce strcharinfo(0)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):callfunc("F_InsertArticle",getitemname(.@q[0])))+"!",0; specialeffect2 EF_FLOWERLEAF; close; case 2: setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), getlook(LOOK_ROBE), 1; if ((@qe[1] & 1) || (@qe[1] & 4096)) changelook LOOK_HEAD_BOTTOM, @qe[2]; else if ((@qe[1] & 256) || (@qe[1] & 1024)) changelook LOOK_HEAD_TOP, @qe[2]; else if ((@qe[1] & 512) || (@qe[1] & 2048)) changelook LOOK_HEAD_MID, @qe[2]; else if ((@qe[1] & 4) || (@qe[1] & 8192)) changelook LOOK_ROBE, @qe[2]; break; case 3: close; } } OnEnd: if (@qe[7]) { changelook LOOK_HEAD_BOTTOM, @qe[3]; changelook LOOK_HEAD_TOP, @qe[4]; changelook LOOK_HEAD_MID, @qe[5]; changelook LOOK_ROBE, @qe[6]; } deletearray @qe[0],8; end; function Add { if (getitemname(getarg(1)) == "null") { debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; return; } setarray .@j[0],getarg(2),getarg(3),getarg(4); for(set .@i,5; .@i<getargcount(); set .@i,.@i+2) { if (getitemname(getarg(.@i)) == "null") { debugmes "Quest requirement #"+getarg(.@i)+" invalid (skipped)."; return; } else setarray .@j[.@i-2],getarg(.@i),getarg(.@i+1); } copyarray getd(".q_"+getarg(0)+"_"+getarg(1)+"[0]"),.@j[0],getarraysize(.@j); npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0); return; } function Chk { if (getarg(0) < getarg(1)) { set @qe[0],1; return "^FF0000"; } else return "^00FF00"; } function Slot { set .@s$,getitemname(getarg(0)); switch(.ShowSlot) { case 1: if (!getitemslots(getarg(0))) return .@s$; case 2: if (getiteminfo(getarg(0),2) == 4 || getiteminfo(getarg(0),2) == 5) return .@s$+" ["+getitemslots(getarg(0))+"]"; default: return .@s$; } } } function script qshop { deletearray @i[0],getarraysize(@i); for(set .@i,0; .@i<getargcount(); set .@i,.@i+1) set @i[.@i],getarg(.@i); doevent "quest_shop::OnMenu"; end; } // Dummy shop data -- copy as needed. //============================================================ - shop qshop1 -1,909:-1 - shop qshop2 -1,909:-1 - shop qshop3 -1,909:-1 - shop qshop4 -1,909:-1 - shop qshop5 -1,909:-1 Quote Link to comment Share on other sites More sharing options...
0 Mael Posted April 16, 2021 Group: Forum Moderator Topic Count: 25 Topics Per Day: 0.01 Content Count: 837 Reputation: 321 Joined: 02/11/19 Last Seen: 1 hour ago Share Posted April 16, 2021 Did you try reducing the number of quests in Shop 1? Maybe just add 40 quests instead of more than 200? Quote Link to comment Share on other sites More sharing options...
0 Checkmate Posted April 16, 2021 Group: Members Topic Count: 96 Topics Per Day: 0.02 Content Count: 554 Reputation: 14 Joined: 09/24/12 Last Seen: November 20, 2024 Author Share Posted April 16, 2021 3 minutes ago, Mael said: Did you try reducing the number of quests in Shop 1? Maybe just add 40 quests instead of more than 200? Ermmm which one sir? Cuz its been a 4 years since last time i edit this script... Can show me the way? Quote Link to comment Share on other sites More sharing options...
0 Mael Posted April 16, 2021 Group: Forum Moderator Topic Count: 25 Topics Per Day: 0.01 Content Count: 837 Reputation: 321 Joined: 02/11/19 Last Seen: 1 hour ago Share Posted April 16, 2021 (edited) 27 minutes ago, Checkmate said: Ermmm which one sir? Cuz its been a 4 years since last time i edit this script... Can show me the way? //===== rAthena Script ======================================= //= Euphy's Quest Shop //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.6c //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= A dynamic quest shop based on Lunar's, with easier config. //= Includes support for multiple shops & cashpoints. //= Item Preview script by ToastOfDoom. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 1.2 Added category support. //= 1.3 More options and fixes. //= 1.4 Added debug settings. //= 1.5 Replaced categories with shop IDs. //= 1.6 Added support for purchasing stackables. //= 1.6a Added support for previewing costumes and robes. //= 1.6b Added 'disable_items' command. //= 1.6c Replaced function 'A_An' with "F_InsertArticle". //============================================================ // Shop NPCs -- supplying no argument displays entire menu. // callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}}; // ADD YOUR NPC HERE //============================================================ prontera,142,227,6 script HatMaker#1 562,{ callfunc "qshop"; } // prontera,165,203,6 script Quest Shop#2 998,{ callfunc "qshop",1,2; } // call the shop 1 and 2 defined below // etc.. Add your Shop NPCs 'Quest Shop#XXX' here //============================================================ // Script Core - DO NOT DUPLICATE THIS NPC !!!!!!!!!!!!! //============================================================ - script quest_shop -1,{ function Add; function Chk; function Slot; OnInit: freeloop(1); // ----------------------------------------------------------- // Basic shop settings. // ----------------------------------------------------------- set .Announce,1; // Announce quest completion? (1: yes / 0: no) set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never) set .ShowID,0; // Show item IDs? (1: yes / 0: no) set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no) set .MaxStack,100; // Max number of quest items purchased at one time. // ----------------------------------------------------------- // Points variable -- optional quest requirement. // setarray .Points$[0],"<variable name>","<display name>"; // ----------------------------------------------------------- setarray .Points$[0], "#CASHPOINTS", "Cash Points"; //===================================================================================== // ------------------- ADD YOUR SHOPS NAME AND ITEMS SHOPS STARTING HERE -------------- //===================================================================================== // ----------------------------------------------------------- // Shop IDs -- to add shops, copy dummy data at bottom of file. // setarray .Shops$[1],"<Shop 1>","<Shop 2>"{,...}; // ----------------------------------------------------------- setarray .Shops$[1], "Headgears Top,Mid,Bottom", // Shop Named 1 //"Weapons", // Shop Named 2 //"Other"; // Shop Named 3 // ----------------------------------------------------------- // Quest items -- do NOT use a reward item more than once! // Add(<shop ID>,<reward ID>,<reward amount>, // <Zeny cost>,<point cost>, // <required item ID>,<required item amount>{,...}); // ----------------------------------------------------------- // Shop 1 Add(1,5074,1,20000,0,2286,1,2254,1); Add(1,2284,1,0,0,923,20); Add(1,5174,1,0,0,7445,7,7446,7,7447,7,7448,7,945,300,975,1,733,5,7166,50); Add(1,5277,1,0,0,5278,1,508,200); Add(1,2237,1,0,0,1020,100,983,1,2241,1); Add(1,5147,1,0,0,2227,1,978,1,1057,100); Add(1,5057,1,10000,0,2213,1,983,1,914,200); Add(1,5076,1,0,0,2227,1,7038,500); Add(1,5235,1,0,0,2227,1,7038,500,982,1,983,1); Add(1,5237,1,0,0,2227,1,7038,500,975,1,982,1); Add(1,5065,1,0,0,624,1,959,300,544,50,1023,1); Add(1,5052,1,0,0,2211,1,978,1,7003,300); Add(1,2296,1,50000,0,2243,1,999,100); Add(1,5129,1,0,0,604,1,916,1); Add(1,5102,1,0,0,7263,2,2276,1,2239,1,568,150); Add(1,5040,1,0,0,7047,100); Add(1,5109,50000,0,0,10015,1,10007,1,5023,1,975,1); Add(1,5016,1,0,0,1030,10,0,0,0,0,0,0); Add(1,5110,1,0,0,526,2,7270,1,941,1,10004,1); Add(1,5169,1,0,0,706,1,1019,500,7200,10,1049,20,7165,500,1054,2,1024,100); Add(1,5034,1,0,0,2233,1,746,20); Add(1,2214,1,0,0,949,100,706,1,722,1,2213,1); Add(1,5105,1,0,0,2288,1,1095,3000); Add(1,5080,1,0,0,10006,1,714,1,969,3); Add(1,5024,1,0,0,529,10,530,5,539,20,999,10,538,15); Add(1,5028,1,0,0,2279,1,7035,50,526,100); Add(1,5184,1,0,0,5120,5,995,50,983,1,720,50); Add(1,5359,1,0,0,2284,1,5019,1,975,1); Add(1,5214,1,0,0,976,1,1060,300,1022,100,5008,5); Add(1,5026,1,0,0,1036,450,949,330,539,120,982,1); Add(1,5142,1,0,0,5017,1,2229,1,5014,1,7209,100,7123,100,1036,100,979,1); Add(1,5283,1,0,0,949,200,916,100,7063,20,925,1); Add(1,5260,1,0,0,4293,1,538,100,530,100,529,50); Add(1,5075,1,0,0,2248,1,7030,108,7194,108,7120,4); Add(1,5048,1,0,0,5041,1,999,10); Add(1,5036,1,0,0,2608,1,7069,500); Add(1,5135,1,0,0,2295,1,969,1,975,1,999,5); Add(1,5181,1,0,0,7511,100,7340,200,7023,10); Add(1,5108,1,5000,0,7301,1887,5114,1,611,10); Add(1,5038,1,0,0,1038,600,7048,40); // Shop 2 Add(2,1224,1,0,0,7297,30,969,10,999,50,714,10); Add(2,1225,1,0,0,7292,30,969,10,999,50,714,10); // Shop 3 Add(3,531,1,3,0,512,1,713,1); Add(3,532,1,3,0,513,1,713,1); Add(3,533,1,3,0,514,1,713,1); Add(3,534,1,3,0,515,1,713,1); // ----------------------------------------------------------- //===================================================================================== // ------------------- YOUR SHOPS AND ITEMS SHOPS HAVE BEEN ADDED --------------------- //===================================================================================== freeloop(0); set .menu$,""; for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) { set .menu$, .menu$+.Shops$[.@i]+":"; npcshopdelitem "qshop"+.@i,909; } end; OnMenu: set .@size, getarraysize(@i); if (!.@size) set @shop_index, select(.menu$); else if (.@size == 1) set @shop_index, @i[0]; else { for(set .@j,0; .@j<.@size; set .@j,.@j+1) set .@menu$, .@menu$+.Shops$[@i[.@j]]+":"; set @shop_index, @i[select(.@menu$)-1]; } deletearray @i[0],getarraysize(@i); if (.Shops$[@shop_index] == "") { message strcharinfo(0),"An error has occurred."; end; } dispbottom "Select one item at a time."; callshop "qshop"+@shop_index,1; npcshopattach "qshop"+@shop_index; end; OnBuyItem: // .@q[] : RewardID, BoughtAmt, RewardAmt, BaseAmt, ReqZeny, ReqPts, { ReqItem, ReqAmt, ... } setarray .@q[0],@bought_nameid[0],((@bought_quantity[0] > .MaxStack)?.MaxStack:@bought_quantity[0]); copyarray .@q[3],getd(".q_"+@shop_index+"_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+@shop_index+"_"+.@q[0])); set .@q[2],.@q[1]*.@q[3]; if (!.@q[2] || .@q[2] > 30000) { message strcharinfo(0),"You can't purchase that many "+getitemname(.@q[0])+"."; end; } mes "[Quest Shop]"; mes "Reward: ^0055FF"+((.@q[2] > 1)?.@q[2]+"x ":"")+Slot(.@q[0])+"^000000"; mes "Requirements:"; disable_items; if (.@q[4]) mes " > "+Chk(Zeny,.@q[4]*.@q[1])+(.@q[4]*.@q[1])+" Zeny^000000"; if (.@q[5]) mes " > "+Chk(getd(.Points$[0]),.@q[5]*.@q[1])+(.@q[5]*.@q[1])+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+(.@q[5]*.@q[1])+")^000000"; if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000"; next; setarray @qe[1], getiteminfo(.@q[0],5), getiteminfo(.@q[0],11); if (@qe[2] > 0 && ((@qe[1] & EQP_HEAD_LOW) || (@qe[1] & EQP_HEAD_TOP) || (@qe[1] & EQP_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_TOP) || (@qe[1] & EQP_COSTUME_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_LOW) || (@qe[1] & EQP_GARMENT) || (@qe[1] & EQP_COSTUME_GARMENT))) set .@preview,1; addtimer 1000, strnpcinfo(0)+"::OnEnd"; while(1) { switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((.@preview && !@qe[7])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) { case 1: if (@qe[0]) { mes "[Quest Shop]"; mes "You're missing one or more quest requirements."; close; } if (!checkweight(.@q[0],.@q[2])) { mes "[Quest Shop]"; mes "^FF0000You need "+(((.@q[2]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000"; close; } if (.@q[4]) set Zeny, Zeny-(.@q[4]*.@q[1]); if (.@q[5]) setd .Points$[0], getd(.Points$[0])-(.@q[5]*.@q[1]); if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) delitem .@q[.@i],.@q[.@i+1]*.@q[1]; getitem .@q[0],.@q[2]; if (.Announce) announce strcharinfo(0)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):callfunc("F_InsertArticle",getitemname(.@q[0])))+"!",0; specialeffect2 EF_FLOWERLEAF; close; case 2: setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), getlook(LOOK_ROBE), 1; if ((@qe[1] & 1) || (@qe[1] & 4096)) changelook LOOK_HEAD_BOTTOM, @qe[2]; else if ((@qe[1] & 256) || (@qe[1] & 1024)) changelook LOOK_HEAD_TOP, @qe[2]; else if ((@qe[1] & 512) || (@qe[1] & 2048)) changelook LOOK_HEAD_MID, @qe[2]; else if ((@qe[1] & 4) || (@qe[1] & 8192)) changelook LOOK_ROBE, @qe[2]; break; case 3: close; } } OnEnd: if (@qe[7]) { changelook LOOK_HEAD_BOTTOM, @qe[3]; changelook LOOK_HEAD_TOP, @qe[4]; changelook LOOK_HEAD_MID, @qe[5]; changelook LOOK_ROBE, @qe[6]; } deletearray @qe[0],8; end; function Add { if (getitemname(getarg(1)) == "null") { debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; return; } setarray .@j[0],getarg(2),getarg(3),getarg(4); for(set .@i,5; .@i<getargcount(); set .@i,.@i+2) { if (getitemname(getarg(.@i)) == "null") { debugmes "Quest requirement #"+getarg(.@i)+" invalid (skipped)."; return; } else setarray .@j[.@i-2],getarg(.@i),getarg(.@i+1); } copyarray getd(".q_"+getarg(0)+"_"+getarg(1)+"[0]"),.@j[0],getarraysize(.@j); npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0); return; } function Chk { if (getarg(0) < getarg(1)) { set @qe[0],1; return "^FF0000"; } else return "^00FF00"; } function Slot { set .@s$,getitemname(getarg(0)); switch(.ShowSlot) { case 1: if (!getitemslots(getarg(0))) return .@s$; case 2: if (getiteminfo(getarg(0),2) == 4 || getiteminfo(getarg(0),2) == 5) return .@s$+" ["+getitemslots(getarg(0))+"]"; default: return .@s$; } } } function script qshop { deletearray @i[0],getarraysize(@i); for(set .@i,0; .@i<getargcount(); set .@i,.@i+1) set @i[.@i],getarg(.@i); doevent "quest_shop::OnMenu"; end; } // Dummy shop data -- copy as needed. //============================================================ - shop qshop1 -1,909:-1 - shop qshop2 -1,909:-1 - shop qshop3 -1,909:-1 - shop qshop4 -1,909:-1 - shop qshop5 -1,909:-1 Edited April 16, 2021 by Mael Quote Link to comment Share on other sites More sharing options...
0 Checkmate Posted April 16, 2021 Group: Members Topic Count: 96 Topics Per Day: 0.02 Content Count: 554 Reputation: 14 Joined: 09/24/12 Last Seen: November 20, 2024 Author Share Posted April 16, 2021 13 minutes ago, Mael said: /===== rAthena Script ======================================= //= Euphy's Quest Shop //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.6c //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= A dynamic quest shop based on Lunar's, with easier config. //= Includes support for multiple shops & cashpoints. //= Item Preview script by ToastOfDoom. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 1.2 Added category support. //= 1.3 More options and fixes. //= 1.4 Added debug settings. //= 1.5 Replaced categories with shop IDs. //= 1.6 Added support for purchasing stackables. //= 1.6a Added support for previewing costumes and robes. //= 1.6b Added 'disable_items' command. //= 1.6c Replaced function 'A_An' with "F_InsertArticle". //============================================================ // Shop NPCs -- supplying no argument displays entire menu. // callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}}; // ADD YOUR NPC HERE //============================================================ prontera,142,227,6 script HatMaker#1 562,{ callfunc "qshop"; } // prontera,165,203,6 script Quest Shop#2 998,{ callfunc "qshop",1,2; } // call the shop 1 and 2 defined below // etc.. Add your Shop NPCs 'Quest Shop#XXX' here //============================================================ // Script Core - DO NOT DUPLICATE THIS NPC !!!!!!!!!!!!! //============================================================ - script quest_shop -1,{ function Add; function Chk; function Slot; OnInit: freeloop(1); // ----------------------------------------------------------- // Basic shop settings. // ----------------------------------------------------------- set .Announce,1; // Announce quest completion? (1: yes / 0: no) set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never) set .ShowID,0; // Show item IDs? (1: yes / 0: no) set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no) set .MaxStack,100; // Max number of quest items purchased at one time. // ----------------------------------------------------------- // Points variable -- optional quest requirement. // setarray .Points$[0],"<variable name>","<display name>"; // ----------------------------------------------------------- setarray .Points$[0], "#CASHPOINTS", "Cash Points"; //===================================================================================== // ------------------- ADD YOUR SHOPS NAME AND ITEMS SHOPS STARTING HERE -------------- //===================================================================================== // ----------------------------------------------------------- // Shop IDs -- to add shops, copy dummy data at bottom of file. // setarray .Shops$[1],"<Shop 1>","<Shop 2>"{,...}; // ----------------------------------------------------------- setarray .Shops$[1], "Headgears Top,Mid,Bottom", // Shop Named 1 //"Weapons", // Shop Named 2 //"Other"; // Shop Named 3 // ----------------------------------------------------------- // Quest items -- do NOT use a reward item more than once! // Add(<shop ID>,<reward ID>,<reward amount>, // <Zeny cost>,<point cost>, // <required item ID>,<required item amount>{,...}); // ----------------------------------------------------------- // Shop 1 Add(1,5074,1,20000,0,2286,1,2254,1); Add(1,2284,1,0,0,923,20); Add(1,5174,1,0,0,7445,7,7446,7,7447,7,7448,7,945,300,975,1,733,5,7166,50); Add(1,5277,1,0,0,5278,1,508,200); Add(1,2237,1,0,0,1020,100,983,1,2241,1); Add(1,5147,1,0,0,2227,1,978,1,1057,100); Add(1,5057,1,10000,0,2213,1,983,1,914,200); Add(1,5076,1,0,0,2227,1,7038,500); Add(1,5235,1,0,0,2227,1,7038,500,982,1,983,1); Add(1,5237,1,0,0,2227,1,7038,500,975,1,982,1); Add(1,5065,1,0,0,624,1,959,300,544,50,1023,1); Add(1,5052,1,0,0,2211,1,978,1,7003,300); Add(1,2296,1,50000,0,2243,1,999,100); Add(1,5129,1,0,0,604,1,916,1); Add(1,5102,1,0,0,7263,2,2276,1,2239,1,568,150); Add(1,5040,1,0,0,7047,100); Add(1,5109,50000,0,0,10015,1,10007,1,5023,1,975,1); Add(1,5016,1,0,0,1030,10,0,0,0,0,0,0); Add(1,5110,1,0,0,526,2,7270,1,941,1,10004,1); Add(1,5169,1,0,0,706,1,1019,500,7200,10,1049,20,7165,500,1054,2,1024,100); Add(1,5034,1,0,0,2233,1,746,20); Add(1,2214,1,0,0,949,100,706,1,722,1,2213,1); Add(1,5105,1,0,0,2288,1,1095,3000); Add(1,5080,1,0,0,10006,1,714,1,969,3); Add(1,5024,1,0,0,529,10,530,5,539,20,999,10,538,15); Add(1,5028,1,0,0,2279,1,7035,50,526,100); Add(1,5184,1,0,0,5120,5,995,50,983,1,720,50); Add(1,5359,1,0,0,2284,1,5019,1,975,1); Add(1,5214,1,0,0,976,1,1060,300,1022,100,5008,5); Add(1,5026,1,0,0,1036,450,949,330,539,120,982,1); Add(1,5142,1,0,0,5017,1,2229,1,5014,1,7209,100,7123,100,1036,100,979,1); Add(1,5283,1,0,0,949,200,916,100,7063,20,925,1); Add(1,5260,1,0,0,4293,1,538,100,530,100,529,50); Add(1,5075,1,0,0,2248,1,7030,108,7194,108,7120,4); Add(1,5048,1,0,0,5041,1,999,10); Add(1,5036,1,0,0,2608,1,7069,500); Add(1,5135,1,0,0,2295,1,969,1,975,1,999,5); Add(1,5181,1,0,0,7511,100,7340,200,7023,10); Add(1,5108,1,5000,0,7301,1887,5114,1,611,10); Add(1,5038,1,0,0,1038,600,7048,40); // Shop 2 Add(2,1224,1,0,0,7297,30,969,10,999,50,714,10); Add(2,1225,1,0,0,7292,30,969,10,999,50,714,10); // Shop 3 Add(3,531,1,3,0,512,1,713,1); Add(3,532,1,3,0,513,1,713,1); Add(3,533,1,3,0,514,1,713,1); Add(3,534,1,3,0,515,1,713,1); // ----------------------------------------------------------- //===================================================================================== // ------------------- YOUR SHOPS AND ITEMS SHOPS HAVE BEEN ADDED --------------------- //===================================================================================== freeloop(0); set .menu$,""; for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) { set .menu$, .menu$+.Shops$[.@i]+":"; npcshopdelitem "qshop"+.@i,909; } end; OnMenu: set .@size, getarraysize(@i); if (!.@size) set @shop_index, select(.menu$); else if (.@size == 1) set @shop_index, @i[0]; else { for(set .@j,0; .@j<.@size; set .@j,.@j+1) set .@menu$, .@menu$+.Shops$[@i[.@j]]+":"; set @shop_index, @i[select(.@menu$)-1]; } deletearray @i[0],getarraysize(@i); if (.Shops$[@shop_index] == "") { message strcharinfo(0),"An error has occurred."; end; } dispbottom "Select one item at a time."; callshop "qshop"+@shop_index,1; npcshopattach "qshop"+@shop_index; end; OnBuyItem: // .@q[] : RewardID, BoughtAmt, RewardAmt, BaseAmt, ReqZeny, ReqPts, { ReqItem, ReqAmt, ... } setarray .@q[0],@bought_nameid[0],((@bought_quantity[0] > .MaxStack)?.MaxStack:@bought_quantity[0]); copyarray .@q[3],getd(".q_"+@shop_index+"_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+@shop_index+"_"+.@q[0])); set .@q[2],.@q[1]*.@q[3]; if (!.@q[2] || .@q[2] > 30000) { message strcharinfo(0),"You can't purchase that many "+getitemname(.@q[0])+"."; end; } mes "[Quest Shop]"; mes "Reward: ^0055FF"+((.@q[2] > 1)?.@q[2]+"x ":"")+Slot(.@q[0])+"^000000"; mes "Requirements:"; disable_items; if (.@q[4]) mes " > "+Chk(Zeny,.@q[4]*.@q[1])+(.@q[4]*.@q[1])+" Zeny^000000"; if (.@q[5]) mes " > "+Chk(getd(.Points$[0]),.@q[5]*.@q[1])+(.@q[5]*.@q[1])+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+(.@q[5]*.@q[1])+")^000000"; if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000"; next; setarray @qe[1], getiteminfo(.@q[0],5), getiteminfo(.@q[0],11); if (@qe[2] > 0 && ((@qe[1] & EQP_HEAD_LOW) || (@qe[1] & EQP_HEAD_TOP) || (@qe[1] & EQP_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_TOP) || (@qe[1] & EQP_COSTUME_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_LOW) || (@qe[1] & EQP_GARMENT) || (@qe[1] & EQP_COSTUME_GARMENT))) set .@preview,1; addtimer 1000, strnpcinfo(0)+"::OnEnd"; while(1) { switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((.@preview && !@qe[7])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) { case 1: if (@qe[0]) { mes "[Quest Shop]"; mes "You're missing one or more quest requirements."; close; } if (!checkweight(.@q[0],.@q[2])) { mes "[Quest Shop]"; mes "^FF0000You need "+(((.@q[2]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000"; close; } if (.@q[4]) set Zeny, Zeny-(.@q[4]*.@q[1]); if (.@q[5]) setd .Points$[0], getd(.Points$[0])-(.@q[5]*.@q[1]); if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) delitem .@q[.@i],.@q[.@i+1]*.@q[1]; getitem .@q[0],.@q[2]; if (.Announce) announce strcharinfo(0)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):callfunc("F_InsertArticle",getitemname(.@q[0])))+"!",0; specialeffect2 EF_FLOWERLEAF; close; case 2: setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), getlook(LOOK_ROBE), 1; if ((@qe[1] & 1) || (@qe[1] & 4096)) changelook LOOK_HEAD_BOTTOM, @qe[2]; else if ((@qe[1] & 256) || (@qe[1] & 1024)) changelook LOOK_HEAD_TOP, @qe[2]; else if ((@qe[1] & 512) || (@qe[1] & 2048)) changelook LOOK_HEAD_MID, @qe[2]; else if ((@qe[1] & 4) || (@qe[1] & 8192)) changelook LOOK_ROBE, @qe[2]; break; case 3: close; } } OnEnd: if (@qe[7]) { changelook LOOK_HEAD_BOTTOM, @qe[3]; changelook LOOK_HEAD_TOP, @qe[4]; changelook LOOK_HEAD_MID, @qe[5]; changelook LOOK_ROBE, @qe[6]; } deletearray @qe[0],8; end; function Add { if (getitemname(getarg(1)) == "null") { debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; return; } setarray .@j[0],getarg(2),getarg(3),getarg(4); for(set .@i,5; .@i<getargcount(); set .@i,.@i+2) { if (getitemname(getarg(.@i)) == "null") { debugmes "Quest requirement #"+getarg(.@i)+" invalid (skipped)."; return; } else setarray .@j[.@i-2],getarg(.@i),getarg(.@i+1); } copyarray getd(".q_"+getarg(0)+"_"+getarg(1)+"[0]"),.@j[0],getarraysize(.@j); npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0); return; } function Chk { if (getarg(0) < getarg(1)) { set @qe[0],1; return "^FF0000"; } else return "^00FF00"; } function Slot { set .@s$,getitemname(getarg(0)); switch(.ShowSlot) { case 1: if (!getitemslots(getarg(0))) return .@s$; case 2: if (getiteminfo(getarg(0),2) == 4 || getiteminfo(getarg(0),2) == 5) return .@s$+" ["+getitemslots(getarg(0))+"]"; default: return .@s$; } } } function script qshop { deletearray @i[0],getarraysize(@i); for(set .@i,0; .@i<getargcount(); set .@i,.@i+1) set @i[.@i],getarg(.@i); doevent "quest_shop::OnMenu"; end; } // Dummy shop data -- copy as needed. //============================================================ - shop qshop1 -1,909:-1 - shop qshop2 -1,909:-1 - shop qshop3 -1,909:-1 - shop qshop4 -1,909:-1 - shop qshop5 -1,909:-1 Sry sir im still dont get it... and i already copy the whole script you show me and test but the error still shown. Quote Link to comment Share on other sites More sharing options...
0 Mael Posted April 16, 2021 Group: Forum Moderator Topic Count: 25 Topics Per Day: 0.01 Content Count: 837 Reputation: 321 Joined: 02/11/19 Last Seen: 1 hour ago Share Posted April 16, 2021 @Checkmate Use this: //===== rAthena Script ======================================= //= Euphy's Quest Shop //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.6c //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= A dynamic quest shop based on Lunar's, with easier config. //= Includes support for multiple shops & cashpoints. //= Item Preview script by ToastOfDoom. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 1.2 Added category support. //= 1.3 More options and fixes. //= 1.4 Added debug settings. //= 1.5 Replaced categories with shop IDs. //= 1.6 Added support for purchasing stackables. //= 1.6a Added support for previewing costumes and robes. //= 1.6b Added 'disable_items' command. //= 1.6c Replaced function 'A_An' with "F_InsertArticle". //============================================================ // Shop NPCs -- supplying no argument displays entire menu. // callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}}; // ADD YOUR NPC HERE //============================================================ prontera,164,203,6 script Quest Shop#1 998,{ callfunc "qshop"; } // prontera,165,203,6 script Quest Shop#2 998,{ callfunc "qshop",1,2; } // call the shop 1 and 2 defined below // etc.. Add your Shop NPCs 'Quest Shop#XXX' here //============================================================ // Script Core - DO NOT DUPLICATE THIS NPC !!!!!!!!!!!!! //============================================================ - script quest_shop -1,{ function Add; function Chk; function Slot; OnInit: freeloop(1); // ----------------------------------------------------------- // Basic shop settings. // ----------------------------------------------------------- set .Announce,1; // Announce quest completion? (1: yes / 0: no) set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never) set .ShowID,0; // Show item IDs? (1: yes / 0: no) set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no) set .MaxStack,100; // Max number of quest items purchased at one time. // ----------------------------------------------------------- // Points variable -- optional quest requirement. // setarray .Points$[0],"<variable name>","<display name>"; // ----------------------------------------------------------- setarray .Points$[0], "#CASHPOINTS", "Cash Points"; //===================================================================================== // ------------------- ADD YOUR SHOPS NAME AND ITEMS SHOPS STARTING HERE -------------- //===================================================================================== // ----------------------------------------------------------- // Shop IDs -- to add shops, copy dummy data at bottom of file. // setarray .Shops$[1],"<Shop 1>","<Shop 2>"{,...}; // ----------------------------------------------------------- setarray .Shops$[1], "Headgears", // Shop Named 1 "Weapons", // Shop Named 2 "Other"; // Shop Named 3 // ----------------------------------------------------------- // Quest items -- do NOT use a reward item more than once! // Add(<shop ID>,<reward ID>,<reward amount>, // <Zeny cost>,<point cost>, // <required item ID>,<required item amount>{,...}); // ----------------------------------------------------------- // Shop 1 Add(1,5022,1,0,0,7086,1,969,10,999,40,1003,50,984,2); Add(1,5032,1,0,0,1059,250,2221,1,2227,1,7063,600); Add(1,5027,1,0,0,2252,1,1036,400,7001,50,4052,1); Add(1,5045,1,0,0,2252,1,1054,450,943,1200); // Shop 2 Add(2,1224,1,0,0,7297,30,969,10,999,50,714,10); Add(2,1225,1,0,0,7292,30,969,10,999,50,714,10); // Shop 3 Add(3,531,1,3,0,512,1,713,1); Add(3,532,1,3,0,513,1,713,1); Add(3,533,1,3,0,514,1,713,1); Add(3,534,1,3,0,515,1,713,1); // ----------------------------------------------------------- //===================================================================================== // ------------------- YOUR SHOPS AND ITEMS SHOPS HAVE BEEN ADDED --------------------- //===================================================================================== freeloop(0); set .menu$,""; for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) { set .menu$, .menu$+.Shops$[.@i]+":"; npcshopdelitem "qshop"+.@i,909; } end; OnMenu: set .@size, getarraysize(@i); if (!.@size) set @shop_index, select(.menu$); else if (.@size == 1) set @shop_index, @i[0]; else { for(set .@j,0; .@j<.@size; set .@j,.@j+1) set .@menu$, .@menu$+.Shops$[@i[.@j]]+":"; set @shop_index, @i[select(.@menu$)-1]; } deletearray @i[0],getarraysize(@i); if (.Shops$[@shop_index] == "") { message strcharinfo(0),"An error has occurred."; end; } dispbottom "Select one item at a time."; callshop "qshop"+@shop_index,1; npcshopattach "qshop"+@shop_index; end; OnBuyItem: // .@q[] : RewardID, BoughtAmt, RewardAmt, BaseAmt, ReqZeny, ReqPts, { ReqItem, ReqAmt, ... } setarray .@q[0],@bought_nameid[0],((@bought_quantity[0] > .MaxStack)?.MaxStack:@bought_quantity[0]); copyarray .@q[3],getd(".q_"+@shop_index+"_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+@shop_index+"_"+.@q[0])); set .@q[2],.@q[1]*.@q[3]; if (!.@q[2] || .@q[2] > 30000) { message strcharinfo(0),"You can't purchase that many "+getitemname(.@q[0])+"."; end; } mes "[Quest Shop]"; mes "Reward: ^0055FF"+((.@q[2] > 1)?.@q[2]+"x ":"")+Slot(.@q[0])+"^000000"; mes "Requirements:"; disable_items; if (.@q[4]) mes " > "+Chk(Zeny,.@q[4]*.@q[1])+(.@q[4]*.@q[1])+" Zeny^000000"; if (.@q[5]) mes " > "+Chk(getd(.Points$[0]),.@q[5]*.@q[1])+(.@q[5]*.@q[1])+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+(.@q[5]*.@q[1])+")^000000"; if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000"; next; setarray @qe[1], getiteminfo(.@q[0], ITEMINFO_LOCATIONS), getiteminfo(.@q[0], ITEMINFO_VIEW); if (@qe[2] > 0 && ((@qe[1] & EQP_HEAD_LOW) || (@qe[1] & EQP_HEAD_TOP) || (@qe[1] & EQP_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_TOP) || (@qe[1] & EQP_COSTUME_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_LOW) || (@qe[1] & EQP_GARMENT) || (@qe[1] & EQP_COSTUME_GARMENT))) set .@preview,1; addtimer 1000, strnpcinfo(0)+"::OnEnd"; while(1) { switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((.@preview && !@qe[7])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) { case 1: if (@qe[0]) { mes "[Quest Shop]"; mes "You're missing one or more quest requirements."; close; } if (!checkweight(.@q[0],.@q[2])) { mes "[Quest Shop]"; mes "^FF0000You need "+(((.@q[2]*getiteminfo(.@q[0], ITEMINFO_WEIGHT))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000"; close; } if (.@q[4]) set Zeny, Zeny-(.@q[4]*.@q[1]); if (.@q[5]) setd .Points$[0], getd(.Points$[0])-(.@q[5]*.@q[1]); if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) delitem .@q[.@i],.@q[.@i+1]*.@q[1]; getitem .@q[0],.@q[2]; if (.Announce) announce strcharinfo(0)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):callfunc("F_InsertArticle",getitemname(.@q[0])))+"!",0; specialeffect2 EF_FLOWERLEAF; close; case 2: setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), getlook(LOOK_ROBE), 1; if ((@qe[1] & 1) || (@qe[1] & 4096)) changelook LOOK_HEAD_BOTTOM, @qe[2]; else if ((@qe[1] & 256) || (@qe[1] & 1024)) changelook LOOK_HEAD_TOP, @qe[2]; else if ((@qe[1] & 512) || (@qe[1] & 2048)) changelook LOOK_HEAD_MID, @qe[2]; else if ((@qe[1] & 4) || (@qe[1] & 8192)) changelook LOOK_ROBE, @qe[2]; break; case 3: close; } } OnEnd: if (@qe[7]) { changelook LOOK_HEAD_BOTTOM, @qe[3]; changelook LOOK_HEAD_TOP, @qe[4]; changelook LOOK_HEAD_MID, @qe[5]; changelook LOOK_ROBE, @qe[6]; } deletearray @qe[0],8; end; function Add { if (getitemname(getarg(1)) == "null") { debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; return; } setarray .@j[0],getarg(2),getarg(3),getarg(4); for(set .@i,5; .@i<getargcount(); set .@i,.@i+2) { if (getitemname(getarg(.@i)) == "null") { debugmes "Quest requirement #"+getarg(.@i)+" invalid (skipped)."; return; } else setarray .@j[.@i-2],getarg(.@i),getarg(.@i+1); } copyarray getd(".q_"+getarg(0)+"_"+getarg(1)+"[0]"),.@j[0],getarraysize(.@j); npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0); return; } function Chk { if (getarg(0) < getarg(1)) { set @qe[0],1; return "^FF0000"; } else return "^00FF00"; } function Slot { set .@s$,getitemname(getarg(0)); switch(.ShowSlot) { case 1: if (!getitemslots(getarg(0))) return .@s$; case 2: if (getiteminfo(getarg(0), ITEMINFO_TYPE) == 4 || getiteminfo(getarg(0), ITEMINFO_TYPE) == 5) return .@s$+" ["+getitemslots(getarg(0))+"]"; default: return .@s$; } } } function script qshop { deletearray @i[0],getarraysize(@i); for(set .@i,0; .@i<getargcount(); set .@i,.@i+1) set @i[.@i],getarg(.@i); doevent "quest_shop::OnMenu"; end; } // Dummy shop data -- copy as needed. //============================================================ - shop qshop1 -1,909:-1 - shop qshop2 -1,909:-1 - shop qshop3 -1,909:-1 - shop qshop4 -1,909:-1 - shop qshop5 -1,909:-1 Apparently you were using an old version of the script. It was updated here: https://github.com/rathena/rathena/commit/e4c0660190d94018e6e64c2be65f621edfa2474f Quote Link to comment Share on other sites More sharing options...
0 Checkmate Posted April 19, 2021 Group: Members Topic Count: 96 Topics Per Day: 0.02 Content Count: 554 Reputation: 14 Joined: 09/24/12 Last Seen: November 20, 2024 Author Share Posted April 19, 2021 Sorry for the late reply but for now im out of town, i will be back to test these solution and im very grateful to have ppl like you all to help me out. Thx again ya. I will update the result soon It seems like the trouble were split into 3 which is 2 already solve by renove the rest of zero. Or now i think im gonna try to check the script and update it to the latest and reconfigure back again in order to see if its work. Quote Link to comment Share on other sites More sharing options...
Question
Checkmate
Greetings everyone. Its been a century since the last time i've been here. Just a 3 simple questions. According to the picture.
1) How to solve error like shown below ?
2) How to solve error like shown below ?
3) How to solve error like shown below ?
Any help even to solving 1 problem,are very helpful to me.
Thanks in advance.
Link to comment
Share on other sites
11 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.