-
Posts
582 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by AinsLord
-
so i got this problem i got 2 servers 1 main 1 test on test server the HG is showing but on main server its not showing i dunno what seems to be the problem with this one the only difference of this two server is the main server has gepard the test server doesnt View ID / accname/acceID/ itemDB all the same sample screenshot : Left is Test server Right is Main server anyone can help me thanks
-
Costume headgear not showing in character
AinsLord replied to BugSICK's question in Client-side Support
i got the same problem with this guy -
can i ask why its not showing on my character thank accID and accname is all good
-
is this possible that the item is account bound/cantdrop/trade/vend/sell? sorry to bump into this thread
-
Is it possible for item exp script and battle manual EXP to stack
AinsLord posted a question in General Support
example item script has 50% exp add then if the player use battle manual it actually stacks on with the item exp script because what happen is when the player use battle manuals/job manual it alters the given EXP by the item/headgear thanks in advance -
you may want to check your terminal maybe there is some debug issue
-
Question||Script column maximum text||possible to increase or not
AinsLord replied to AinsLord's question in Source Support
well lemme try this one thanks -
Question||Script column maximum text||possible to increase or not
AinsLord replied to AinsLord's question in Source Support
i literally need to increase the maximum text/characters on the script column coz the item script/bonus that i created is morethan 1000 characters i think we have the same issue in this post but i do have different item script/bonus https://rathena.org/board/topic/126745-itemdb_readdb-invalid-format-script-column-in-line-111/#comment-390465 -
Question||Script column maximum text||possible to increase or not
AinsLord replied to AinsLord's question in Source Support
how will i increase it? #TIA -
Question||Script column maximum text||possible to increase or not
AinsLord posted a question in Source Support
Hi just wanted to know is it possible to increase the text maximum character of the Script Column on ItemDB? i think 1000 characters is its maximum will i able to make it more than that? if possible how will i able to do it? thnx in advance -
ok ill try this one out thnx
-
Hi can i ask is it possible to have multiple BTS NPC if yes i have here my BTS NPC script what var should i change on //=============Valkyrie Quest============== //===================== BTS ===================================================== prontera.gat,154,198,6 script Jemz The Great 580,{ if(bry_bry >= 1) goto L_taposme; if(hen_hen >= 1) goto L_taposna; if(hen_hen < 1) mes "[ Jemz ]"; mes "I will foretell you about Breaking the Seal Quest"; mes "I am the guardian of the seal, break it and recieve my treasure."; next; mes "[ Jemz ]"; mes "These are what I need"; mes "100 Pieces of Ancient Lips"; mes "25 Pieces of Peridot"; mes "25 Pieces of Biotite"; next; mes "20 Pieces of Young Twig"; mes "20 Pieces of Mother's Nightmare"; mes "15 Pieces of Matchstick"; mes "200 Pieces of Hand of God"; mes "100 Pieces of Cursed Seal"; next; mes "So, are you up to my quest dear child?"; menu "Yes!.",-, "No, I'm sorry.",L_later; mes "[ Jemz ]"; mes "Are the items ready? Let me check."; next; if(countitem(1054) < 100 || countitem(7289) < 25 || countitem(7297) < 25 || countitem(7018) < 20 ||countitem(7020) < 20 ||countitem(7035) < 15 || countitem(1009) < 200 || countitem(7442) < 100) goto L_later2; delitem 1054,100; delitem 7289,25; delitem 7297,25; delitem 7018,20; delitem 7020,20; delitem 7035,15; delitem 1009,200; delitem 7442,100; mes "[ Jemz ]"; mes "Another brave one succeded."; set ron_ron,1; next; switch (select("Your Welcome")) { case 1: // Castle Drops set [email protected],rand(1,500); if (([email protected] > 200) && ([email protected] < 205)) { set [email protected],rand(1,10); if (([email protected] > 0) && ([email protected] < 3)) set [email protected],7086; // esg else if (([email protected] > 2) && ([email protected] < 5)) set [email protected],7090; // ripple else if (([email protected] > 4) && ([email protected] < 7)) set [email protected],7091; // billow else if (([email protected] > 6) && ([email protected] < 9)) set [email protected],7077; // silver else if (([email protected] > 8) && ([email protected] < 11)) set [email protected],7078; // wov } else if (([email protected] > 0) && ([email protected] < 201)) set [email protected],7086; // esg else if (([email protected] > 204) && ([email protected] < 301)) set [email protected],7090; // ripple else if (([email protected] > 300) && ([email protected] < 401)) set [email protected],7091; // billow else if (([email protected] > 401) && ([email protected] < 481)) set [email protected],7077; // silver else if (([email protected] > 480) && ([email protected] < 501)) set [email protected],7078; // wov break; } getitem [email protected],1; mes "[ Jemz ]"; mes "Ah, you have out done your self!"; mes "Thank you for your aid."; mes "Now start your journey to find my Nephews who hold the Valkyries"; announce "Wow! The Seal has been annihilated by "+strcharinfo(0)+" He has just broken the seal and will start the quest of Valkyrie!","0x33FF66"; close2; end; L_taposna: mes "[ Jemz ]"; mes "Go out and search the Fields of Payon the Fields of Geffen and the Towns of Lighthalzen and Comodo for the Valkyrie Equipments"; close; L_taposme: mes "[ Jemz ]"; mes "You've already surpassed this quest and there is no point in doing it again."; close; L_later: mes "[ Jemz ]"; mes "Well too bad"; mes "Child, I don't like to call you a coward, but you are."; close; L_later2: mes "[ Jemz ]"; mes "*piff*"; mes "You lack some items."; mes "I do not accept cowardice, come back to me when you're brave enough."; close; } pay_fild10.gat,182,157,5 script Kimuel 900,{ if(bry_bry >= 1) goto L_udone; if(kim_kim >= 1) goto L_tapospopo; if(ron_ron >= 1) goto continueq; if(ron_ron < 1) { mes "[ Kimuel ]"; mes "Are you the delivery boy of Pizza Hut?"; mes "If not go away I don't need you!"; close; } continueq: mes "[ Kimuel ]"; mes "Oh Grasya Santisimo!!"; mes "You have spoken to Uncle Ronnel!?"; next; mes "[ Kimuel ]"; mes "By the way I am Kimuel of Payon the Crafter of the Valkyrie Armor"; mes "Would you like to possess it?"; menu "Yes, I deserve it!",-,"No, I'm not good enough.",L_ayaw; next; mes "[ Kimuel ]"; mes "This Great Armor is very complicated, it needs very rare materials to craft it. If you really want to possess it gather these items for me"; next; mes "100 Three-Headed Dragon's head"; mes "7 Emblem of Sun God"; mes "1 Chain Mail[1]"; mes "100 Treasure Box"; next; mes "[ Kimuel ]"; mes "I will be waiting for you chosen one!"; if(countitem(7443) < 100 || countitem(7086) < 7 || countitem(7444) < 100 || countitem(2315) < 1) goto koolang; if(countitem(7443) >= 100 || countitem(7086) >= 7 || countitem(7444) >= 100 || countitem(2315) >= 1) goto kontinueq; close; L_ayaw: mes "[ Kimuel ]"; mes "Wacha Wachi Wacho... Go! Shoooo"; mes "Just speak to me if you want it already"; close; koolang: next; mes "[ Kimuel ]"; mes "As I said, one missing material and all the others go to waste"; close; kontinueq: next; mes "[ Kimuel ]"; mes "Very well done my friend you have finished the quest and acquired the Valkyrie Armor."; delitem 7443,100; delitem 7086,7; delitem 7444,100; delitem 2315,1; next; getitem 2357,1; set kim_kim,1; next; mes "[ Kimuel ]"; mes "Good Job! Enjoy your precious item."; mes "Now, go ahead and seek my Brothers and Cousins to finish the quest"; mes "And when you gain the Valkyrie Set speak to Bryan"; mes "If you have no clue about their location, my brothers and cousins are scattered around Rune-Midgard and Bryan is in Valkyrie"; announce "Wow!"+strcharinfo(0)+" has just acquired the mystical Valkyrie Armor.",8; close; L_tapospopo: mes "[ Kimuel ]"; mes "As I said, complete the Valkyrie Quest"; mes "And then speak to Bryan"; close; L_udone: mes "[ Kimuel ]"; mes "This quest, once done there is no more repeating"; close; } gef_fild07.gat,185,249,5 script Jhep 899,{ if(bry_bry >=1) goto L_bulmadone; if(jhe_jhe >=1) goto L_bulmatapos; if(ron_ron >=1) goto B_ulma; if(ron_ron < 1) { mes "[ Jhep ]"; mes "I am sight seeing, don't disturb me"; mes "Go far far away from me!!"; close; } B_ulma: mes "[ Jhep ]"; mes "Oh, you know my Uncle?"; mes "Well, nice to meet you. I'm Jhep"; mes "I craft the Valkyrie Shield"; mes "Would you like me to craft the said shield for you?"; menu "Okay",-,"Nope",M_ofo; next; mes "[ Jhep ]"; mes "The Valkyrie Shield is a very difficult item to craft and the materials are rare. Well if you're sure you want to make it.."; mes "Then these are the items I need."; next; mes "50 Fire Dragon Scale"; mes "7 Ripple"; mes "1 Buckler[1]"; mes "100 Treasure Box"; next; if(bulma >= 1 || countitem(7451) < 50 || countitem(7090) < 7 || countitem(2104) < 1 || countitem(7444) < 100) goto K_ulangot; if(bulma >= 1 || countitem(7451) >= 50 || countitem(7090) >= 7 || countitem(2104) >= 1 || countitem(7444) >= 100) goto K_umpleto; close; M_ofo: mes "[ Jhep ]"; mes "Okay, talk to me later."; close; K_ulangot: mes "[ Jhep ]"; mes "You don't have the items!"; close; K_umpleto: mes "[ Jhep ]"; mes "Wow, thanks!"; delitem 7451,50; delitem 7090,7; delitem 2104,1; delitem 7444,100; getitem 2115,1; next; mes "[ Jhep ]"; mes "Nicely done isn't? Enjoy the shield"; mes "So now, continue to search for my friends."; mes "And when you gain the Valkyrie Set speak to Bryan"; mes "If you have no clue about their location, my brothers and cousins are scattered around Rune-Midgard and Bryan is in Valkyrie"; announce "Wow! "+strcharinfo(0)+" has just acquired the mystical Valkyrie Shield.",8; set jhep_jhe,1; close; L_bulmatapos: mes "[ Jhep ]"; mes "Complete the Valkyrie Quest and speak to Bryan"; close; L_bulmadone: mes "[ Jhep ]"; mes "Dude, you can only do this quest once!"; close; } lighthalzen.gat,189,297,5 script Frame 904,{ if(bry_bry >=1) goto L_chichix; if(fra_fra >=1) goto L_chichi; if(ron_ron >= 1) goto tsitsi; if(ron_ron < 1) { mes "[ Frame ]"; mes "I miss Donna"; mes "I wish I could see her again"; close; } tsitsi: mes "[ Frame ]"; mes "You have spoken to my great Uncle Ronnel?"; mes "I am Frame, the crafter of Valkyrie Shoes"; mes "Would you like me to craft you the shoes?"; next; menu "Sure",-,"Maybe Later",L_basho; next; mes "[ Frame ]"; mes "The shoe is quite brittle."; mes "So it needs some items to harness it."; mes "I require you to give me these items"; next; mes "20 Skeletal Armor Piece"; mes "7 Billow"; mes "1 Boots[1]"; mes "100 Treasure Box"; next; if(countitem(7450) < 20 || countitem(7091) < 7 || countitem(7444) < 100 || countitem(2406) < 1) goto M_wala; if(countitem(7450) >= 20 || countitem(7091) >= 7 || countitem(7444) >= 100 || countitem(2406) >= 1) goto M_eron; mes "[ Frame ]"; mes "Hurry up! I have something to do."; close; L_basho: mes "[ Frame ]"; mes "Talk to me when you want it already."; close; M_wala: mes "[ Frame ]"; mes "You lack some few items."; close; M_eron: mes "[ Frame ]"; mes "Oh thank you!"; delitem 7450,20; delitem 7091,7; delitem 2406,1; delitem 7444,100; getitem 2421,1; set fra_fra,1; next; mes "[ Frame ]"; mes "Good one boy! Enjoy the shoes"; mes "And continue the holy Valkyrie Quest"; mes "And when you gain the Valkyrie Set speak to Bryan"; mes "If you have no clue about their location, my brothers and cousins are scattered around Rune-Midgard and Bryan is in Valkyrie"; announce "Wow! "+strcharinfo(0)+" has just acquired the mystical Valkyrie Shoes.",8; close; L_chichi: mes "[ Frame ]"; mes "Search my cousins and after that, find Bryan!"; close; L_chichix: mes "[ Frame ]"; mes "Nice to meet you again brave warrior. How is life treating you with your new godly equips?"; close; } comodo.gat,172,229,5 script JmKhov 731,{ if(bry_bry >=1) goto L_puten; if(jmk_jmk >=1) goto L_buten; if(ron_ron >=1) goto M_buten; if(ron_ron < 1) { mes "[ JmKhov ]"; mes "Hi?."; mes "Now fly, you noob!"; close; } M_buten: mes "[ JmKhov ]"; mes "So you know my uncle Ronnel? Wow that's great!"; mes "I can make the Valkyrie Manteau for you!"; mes "You surely want it noob?"; menu "Yeye",-,"Nevermind, thanks.",karpenter; next; mes "[ JmKhov ]"; mes "Oh, holy! Give me these items right away!"; next; mes "50 Matchstick"; mes "7 Silver Ornament"; mes "1 Manteau[1]"; mes "100 Treasure Box"; next; mes "[ JmKhov ]"; mes "Don't miss your chance, I will be waiting for you."; if (countitem(7035) < 50 || countitem(7077) < 7 || countitem(2506) < 1 || countitem(7444) < 100) goto Kewlung; if (countitem(7035) >= 50 || countitem(7077) >= 7 || countitem(2506) >= 1 || countitem(7444) >= 100) goto Kempleto; close; karpenter: next; mes "[ JmKhov ]"; mes "Huhu *sob*! You've wasted my time! Get lost noob!"; close; Kewlung: next; mes "[ JmKhov ]"; mes "Incomplete items, noob!"; close; Kempleto: next; mes "[ JmKhov ]"; mes "I see, you're a trustworthy one."; delitem 7444,100; delitem 2506,1; delitem 7077,7; delitem 7035,50; getitem 2524,1; set jmk_jmk,1; next; mes "[ JmKhov ]"; mes "Rawr! Take this robe and continue the Valkyrie Quest,"; mes "And when you gain the Valkyrie Set speak to Bryan."; mes "If you have no clue about their location, my brothers and cousins are scattered around Rune-Midgard and Bryan is in Valkyrie"; announce "Wow! "+strcharinfo(0)+" has just acquired the mystical Valkyrie Manteau.",8; close; L_buten: mes "[ JmKhov ]"; mes "Finish my Uncle's quest and speak to Bryan at the Valkyrie"; close; L_puten: mes "[ JmKhov ]"; mes "Wow, you're one of the Mega-Warrior! How is life treating you my friend?"; close; } valkyrie.gat,49,49,5 script Bryan 733,{ mes "[ Bryan ]"; mes "Hello there child, I am Bryan."; next; if(bry_bry >= 1) goto L_kalbo; if(countitem(2524) < 1 || countitem(2421) < 1 || countitem(2357) < 1 || countitem(2115) < 1) goto Bryan; mes "[ Bryan ]"; mes "Good you have the Valkyrie Set if you must know I am the crafter of the Sleipnir."; next; if(jmk_jmk >= 1) goto Bryanquest; if(jmk_jmk < 1) goto Bryan; Bryanquest: mes "[ Bryan ]"; mes "I see, You really have spoken to my brothers."; mes "Very well then!"; next; mes "[ Bryan ]"; mes "By the way I am Bryan of the Valkyries and you already know what I make."; mes "Do you desire to have the Sleipnir?"; menu "Yes",-,"No",L_nono; next; mes "[ Bryan ]"; mes "The Great Sleipnir named after Odin's trustee"; mes "Steed, is the most powerful shoe in the land"; mes "Gather these items so I may craft it"; next; mes "300 Handcuffs"; mes "9 Emblem of Sun God"; mes "10 Matchstick"; mes "100 Gold"; next; mes "[ Bryan ]"; mes "I will be waiting for you great one."; if(countitem(7345) < 300 || countitem(7086) < 9 || countitem(7035) < 10 || countitem(969) < 100) goto kikiki; if(countitem(7345) >= 300 || countitem(7086) >= 9 || countitem(7035) >= 10 || countitem(969) >= 100) goto killhim; close; L_nono: mes "[ Bryan ]"; mes "Go away! If you don't want it. You're wasting my time already."; mes "Just speak to me if you're ready."; close; kikiki: next; mes "[ Bryan ]"; mes "You lack of items, complete it!"; close; killhim: next; mes "[ Bryan ]"; mes "Very well done child."; mes "You are very good!"; delitem 7345,300; delitem 7086,9; delitem 969,100; delitem 7035,10; getitem2 2410,1,1,@ref,0,254,0,getcharid(0)&0xffff,(getcharid(0)>>16)&0xffff; set bry_bry,1; next; mes "[ Bryan ]"; mes "As for my excellency, take care of that Sleipnir"; mes "You are now a Mega-Warrior of Temptation Ragnarok Online"; mes "Go wild and free, you noble man"; announce "Raise the Roof! "+strcharinfo(0)+" has just become the Mega-Warrior and gained Sleipnir.",8; close; L_kalbo: mes "[ Bryan ]"; mes "You have already gained Sleipnir"; mes "How dare you speak to me again!? Now, I order you to go back to Prontera!"; next; percentheal -100,0; warp "prontera.gat",0,0; close; Bryan: mes "[ Bryan ]"; mes "Oh my bad, I see you are just another newbie."; mes "Go fly away"; close; } Thanks in advance
-
ayt thanks a lot
-
so here is my question i got 2 separate VPS one for the server one for the patch files what im doing is i wanted to get the patch file on the other VPS tried to configure already the thor patcher but it seems i cannot start the game with the patcher so this is the config [Config:Main] RootURL='http://(what IP should be here)/patch/data' RemoteConfigFile='main.ini' TimeOut=0 StatusFile='update.dat' DefaultGRF='test.grf' ClientEXE='aaaa.exe' ClientParameter='-1sak1' //When patcher unable to connect webserver, //should the patcher allow player start the game anyways? FinishOnConnectionFailure=false [Config:Window] Style='none' //This allows the player drag the window by background DragHandling=true //Background can be either jpg or bmp, in later case //the top-left pixel is chosen as transparent color. Background='images/bg.bmp' FadeOnDrag=true [Config:BGM] File='' Loop=true Volume=5 Directory= [Config:Misc] Title='Thor Patcher' HideProgressBarWhenFinish=true [ProgressBar:bar1] Width=342 Height=10 Left=23 Top=486 FrontImage= BackImage= Hook='ProgressChange' [Label:Status] AutoResize = false Width=369 Height= Left=15 Top=498 Alignment='center' FontColor=$000000 FontName = '' FontSize = Text='' Hook='StatusChange' [NoticeBox:Box0] Width=347 Height=250 Left=21 Top=217 URL='http://127.0.0.1/opatch/notice.html' [Button:Start] Default='images/start1.png' OnHover='images/start2.png' OnDown='images/start3.png' Left=383 Top=211 //Hook is used for default buttons, //do not use this on custom buttons! Hook='Start' [Button:Exit] Default='images/Exit1.png' OnHover='images/Exit2.png' OnDown='images/Exit3.png' Left=383 Top=244 Hook='Exit' [Button:Cancel] Default='images/Exit1.png' OnHover='images/Exit2.png' OnDown='images/Exit3.png' Left=383 Top=211 Hook='Cancel' //[Button:Extra] // // // // Mode - mode for button // 1 = open URL // 2 = Launch file/program // 3 = Message box //Mode= // Action - depend on what you set in the Mod, this may vary // ex. Mode = 1 , Action='http://google.com' //Action= here is the main which is pasted on my patch VPS IP //Thor Patcher remote config file [Main] //Allow patching or not? allow=true //Should patcher ignore everything else and finish patch immediately? Force_Start=false //if not, what message should appear? policy_msg=Server is taking a nap. //file_url - patch files should ALL put here. // This config entry will override the one in embed config. // o HTTP: // http://domain.com/dir/ // o FTP: // ftp://domain.com/dir/ // o With <Username> [Password] [Port] // ftp://username:[email protected]:port/dir/ // o Note: username is required if want put password, otherwise everything is optional. file_url=http://(what IP should be here im putting the PatchVPS IP here)/patch/data/ [Patch] //use CheckSum tool, hash for client & patcher // used to make sure exe is up to date // (leave empty to disable this feature) ClientSum= PatcherSum= //This is compressed file for patcher & client update // To make these work, ClientSum and/or PatcherSum can't be empty // Note: these files should put same place as patch file (file_url in internal config) //Relative address, not FULL URL! ClientPath= PatcherPath= // Patch list file PatchList=plist.txt [Stars] // Shining o.O (Anyways, its for start button clones) // Since orignal client has check sum.. why not for clones? XD //How many? (it should same as amount of start button clone, but of course it's your choice) clients=0 // _sum - checksum, use CheckSum tool. //client1_sum= // _Name - Filename of exe //client1_Name= // _Path - Path for file [Compressed] //client1_Path= [Misc] //Set a limit for fragment, when reach this limit, patcher will ask user to defrag FragmentLimit=50 should i try to create a patch file for it to make it run? Thanks in advance guys sorry its been a long time since i came back developing server
-
got it thnxxxx a lot
-
doesnt open the NPC after clicked
-
So im planning to add new NPC for this script this is the 1st NPC script : //===== rAthena Script ======================================= //= Euphy's Quest Shop //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.6b //===== Compatible With: ===================================== //= rAthena SVN r16862+ //===== 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. //============================================================ // Shop NPCs -- supplying no argument displays entire menu. // callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}}; //============================================================ prt_in,32,114,5 script Tier 1 Quest#1 998,{ callfunc "qshop"; } // Script Core //============================================================ - script quest_shop -1,{ function Add; function Chk; function Slot; function A_An; 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,1; // 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"; // ----------------------------------------------------------- // Shop IDs -- to add shops, copy dummy data at bottom of file. // setarray .Shops$[1],"<Shop 1>","<Shop 2>"{,...}; // ----------------------------------------------------------- setarray .Shops$[1],"Headgears[T1]","Mid HG[T1]","Lower[T1]","Accessory[T1]","Commander Set[T1]","Defender Set[T1]"; // ----------------------------------------------------------- // 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>{,...}); // ----------------------------------------------------------- Add(1,32000,1,0,100,7086,1,969,10,999,40,1003,50,984,2); Add(1,32001,1,0,0,1059,250,2221,1,2227,1,7063,600); Add(1,32002,1,0,0,2252,1,1036,400,7001,50,4052,1); Add(1,32003,1,0,0,2252,1,1054,450,943,1200); Add(1,32004,1,0,0,2252,1,1054,450,943,1200); Add(1,32005,1,0,0,2252,1,1054,450,943,1200); Add(2,32006,1,0,0,7297,30,969,10,999,50,714,10); Add(2,32007,1,0,0,7292,30,969,10,999,50,714,10); Add(2,32009,1,0,0,7292,30,969,10,999,50,714,10); Add(2,32011,1,0,0,7292,30,969,10,999,50,714,10); Add(2,32008,1,0,0,7297,30,969,10,999,50,714,10); Add(2,32012,1,0,0,7292,30,969,10,999,50,714,10); Add(3,32014,1,0,0,7292,30,969,10,999,50,714,10); Add(3,32015,1,0,0,7297,30,969,10,999,50,714,10); Add(3,32021,1,0,0,7292,30,969,10,999,50,714,10); Add(3,32018,1,0,0,7292,30,969,10,999,50,714,10); Add(3,32020,1,0,0,7292,30,969,10,999,50,714,10); Add(3,32019,1,0,0,7292,30,969,10,999,50,714,10); Add(4,34000,1,0,0,7292,30,969,10,999,50,714,10); Add(4,34001,1,0,0,7297,30,969,10,999,50,714,10); Add(4,34005,1,0,0,7292,30,969,10,999,50,714,10); Add(4,34003,1,0,0,7292,30,969,10,999,50,714,10); Add(4,34002,1,0,0,7292,30,969,10,999,50,714,10); Add(4,34004,1,0,0,7292,30,969,10,999,50,714,10); Add(5,35000,1,0,0,7292,30,969,10,999,50,714,10); Add(5,35001,1,0,0,7297,30,969,10,999,50,714,10); Add(5,35002,1,0,0,7292,30,969,10,999,50,714,10); Add(5,35003,1,0,0,7292,30,969,10,999,50,714,10); Add(6,35004,1,0,0,7292,30,969,10,999,50,714,10); Add(6,35005,1,0,0,7297,30,969,10,999,50,714,10); Add(6,35006,1,0,0,7292,30,969,10,999,50,714,10); Add(6,35007,1,0,0,7292,30,969,10,999,50,714,10); // ----------------------------------------------------------- freeloop(0); set .menu$,""; for(set [email protected],1; [email protected]<=getarraysize(.Shops$); set [email protected],[email protected]+1) { set .menu$, .menu$+.Shops$[[email protected]]+":"; npcshopdelitem "qshop"[email protected],909; } end; OnMenu: set [email protected], getarraysize(@i); if ([email protected]) set [email protected], select(.menu$); else if ([email protected] == 1) set [email protected], @i[0]; else { for(set [email protected],0; [email protected]<[email protected]; set [email protected],[email protected]+1) set [email protected]$, [email protected]$+.Shops$[@i[[email protected]]]+":"; set [email protected], @i[select([email protected]$)-1]; } deletearray @i[0],getarraysize(@i); if (.Shops$[[email protected]] == "") { message strcharinfo(0),"An error has occurred."; end; } dispbottom "Select one item at a time."; callshop "qshop"[email protected],1; npcshopattach "qshop"[email protected]; end; OnBuyItem: // [email protected][] : RewardID, BoughtAmt, RewardAmt, BaseAmt, ReqZeny, ReqPts, { ReqItem, ReqAmt, ... } setarray [email protected][0],@bought_nameid[0],((@bought_quantity[0] > .MaxStack)?.MaxStack:@bought_quantity[0]); copyarray [email protected][3],getd(".q_"[email protected][0]+"[0]"),getarraysize(getd(".q_"[email protected][0])); set [email protected][2],[email protected][1]*[email protected][3]; if ([email protected][2] || [email protected][2] > 30000) { message strcharinfo(0),"You can't purchase that many "+getitemname([email protected][0])+"."; end; } mes "[Quest Shop]"; mes "Reward: ^0055FF"+(([email protected][2] > 1)[email protected][2]+"x ":"")+Slot([email protected][0])+"^000000"; mes "Requirements:"; disable_items; if ([email protected][4]) mes " > "+Chk(Zeny,[email protected][4]*[email protected][1])+([email protected][4]*[email protected][1])+" Zeny^000000"; if ([email protected][5]) mes " > "+Chk(getd(.Points$[0]),[email protected][5]*[email protected][1])+([email protected][5]*[email protected][1])+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+([email protected][5]*[email protected][1])+")^000000"; if ([email protected][6]) for(set [email protected],6; [email protected]<getarraysize([email protected]); set [email protected],[email protected]+2) mes " > "+Chk(countitem([email protected][[email protected]]),[email protected][[email protected]+1]*[email protected][1])+((.ShowID)?"{"[email protected][[email protected]]+"} ":"")+Slot([email protected][[email protected]])+" ("+countitem([email protected][[email protected]])+"/"+([email protected][[email protected]+1]*[email protected][1])+")^000000"; next; setarray @qe[1], getiteminfo([email protected][0],5), getiteminfo([email protected][0],11); if (@qe[2] > 0 && ((@qe[1] & 1) || (@qe[1] & 256) || (@qe[1] & 512) || (@qe[1] & 1024) || (@qe[1] & 2048) || (@qe[1] & 4096) || (@qe[1] & 4) || (@qe[1] & 8192))) set [email protected],1; addtimer 1000, strnpcinfo(0)+"::OnEnd"; while(1) { switch(select(" ~ Purchase ^0055FF"+getitemname([email protected][0])+"^000000:"+(([email protected]iew && [email protected][7])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) { case 1: if (@qe[0]) { mes "[Quest Shop]"; mes "You're missing one or more quest requirements."; close; } if (!checkweight([email protected][0],[email protected][2])) { mes "[Quest Shop]"; mes "^FF0000You need "+((([email protected][2]*getiteminfo([email protected][0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000"; close; } if ([email protected][4]) set Zeny, Zeny-([email protected][4]*[email protected][1]); if ([email protected][5]) setd .Points$[0], getd(.Points$[0])-([email protected][5]*[email protected][1]); if ([email protected][6]) for(set [email protected],6; [email protected]<getarraysize([email protected]); set [email protected],[email protected]+2) delitem [email protected][[email protected]],[email protected][[email protected]+1]*[email protected][1]; getitem [email protected][0],[email protected][2]; if (.Announce) announce strcharinfo(0)+" has created "+(([email protected][2] > 1)[email protected][2]+"x "+getitemname([email protected][0]):A_An(getitemname([email protected][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 [email protected][0],getarg(2),getarg(3),getarg(4); for(set [email protected],5; [email protected]<getargcount(); set [email protected],[email protected]+2) { if (getitemname(getarg([email protected])) == "null") { debugmes "Quest requirement #"+getarg([email protected])+" invalid (skipped)."; return; } else setarray [email protected][[email protected]],getarg([email protected]),getarg([email protected]+1); } copyarray getd(".q_"+getarg(1)+"[0]"),[email protected][0],getarraysize([email protected]); 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 [email protected]$,getitemname(getarg(0)); switch(.ShowSlot) { case 1: if (!getitemslots(getarg(0))) return [email protected]$; case 2: if (getiteminfo(getarg(0),2) == 4 || getiteminfo(getarg(0),2) == 5) return [email protected]$+" ["+getitemslots(getarg(0))+"]"; default: return [email protected]$; } } function A_An { setarray [email protected]$[0],"a","e","i","o","u"; set [email protected]$, "_"+getarg(0); for(set [email protected],0; [email protected]<5; set [email protected],[email protected]+1) if (compare([email protected]$,"_"[email protected]$[[email protected]])) return "an "+getarg(0); return "a "+getarg(0); } } function script qshop { deletearray @i[0],getarraysize(@i); for(set [email protected],0; [email protected]<getargcount(); set [email protected],[email protected]+1) set @i[[email protected]],getarg([email protected]); 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 - shop qshop6 -1,909:-1 and im plannig to create another NPC using the same script but the 2nd NPC keep on showing whats on the 1st NPC anyone can help me with this Heres the 2nd NPC script : //===== rAthena Script ======================================= //= Euphy's Quest Shop //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.6b //===== Compatible With: ===================================== //= rAthena SVN r16862+ //===== 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. //============================================================ // Shop NPCs -- supplying no argument displays entire menu. // callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}}; //============================================================ prt_in,34,114,5 script Quest Mats#1 998,{ callfunc "qshop"; } // Script Core //============================================================ - script quest_shop1 -1,{ function Add; function Chk; function Slot; function A_An; 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,1; // 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"; // ----------------------------------------------------------- // Shop IDs -- to add shops, copy dummy data at bottom of file. // setarray .Shops$[1],"<Shop 1>","<Shop 2>"{,...}; // ----------------------------------------------------------- setarray .Shops$[1],"Figures"; // ----------------------------------------------------------- // 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>{,...}); // ----------------------------------------------------------- Add(7,2767,1,0,0,7086,1,969,10,999,40,1003,50,984,2); Add(7,2769,1,0,0,1059,250,2221,1,2227,1,7063,600); Add(7,2768,1,0,0,2252,1,1036,400,7001,50,4052,1); Add(7,2771,1,0,0,2252,1,1054,450,943,1200); Add(7,2766,1,0,0,2252,1,1036,400,7001,50,4052,1); Add(7,2770,1,0,0,2252,1,1054,450,943,1200); // ----------------------------------------------------------- freeloop(0); set .menu$,""; for(set [email protected],1; [email protected]<=getarraysize(.Shops$); set [email protected],[email protected]+1) { set .menu$, .menu$+.Shops$[[email protected]]+":"; npcshopdelitem "qshop"[email protected],909; } end; OnMenu: set [email protected], getarraysize(@i); if ([email protected]) set [email protected], select(.menu$); else if ([email protected] == 1) set [email protected], @i[0]; else { for(set [email protected],0; [email protected]<[email protected]; set [email protected],[email protected]+1) set [email protected]$, [email protected]$+.Shops$[@i[[email protected]]]+":"; set [email protected], @i[select([email protected]$)-1]; } deletearray @i[0],getarraysize(@i); if (.Shops$[[email protected]] == "") { message strcharinfo(0),"An error has occurred."; end; } dispbottom "Select one item at a time."; callshop "qshop"[email protected],1; npcshopattach "qshop"[email protected]; end; OnBuyItem: // [email protected][] : RewardID, BoughtAmt, RewardAmt, BaseAmt, ReqZeny, ReqPts, { ReqItem, ReqAmt, ... } setarray [email protected][0],@bought_nameid[0],((@bought_quantity[0] > .MaxStack)?.MaxStack:@bought_quantity[0]); copyarray [email protected][3],getd(".q_"[email protected][0]+"[0]"),getarraysize(getd(".q_"[email protected][0])); set [email protected][2],[email protected][1]*[email protected][3]; if ([email protected][2] || [email protected][2] > 30000) { message strcharinfo(0),"You can't purchase that many "+getitemname([email protected][0])+"."; end; } mes "[Quest Shop]"; mes "Reward: ^0055FF"+(([email protected][2] > 1)[email protected][2]+"x ":"")+Slot([email protected][0])+"^000000"; mes "Requirements:"; disable_items; if ([email protected][4]) mes " > "+Chk(Zeny,[email protected][4]*[email protected][1])+([email protected][4]*[email protected][1])+" Zeny^000000"; if ([email protected][5]) mes " > "+Chk(getd(.Points$[0]),[email protected][5]*[email protected][1])+([email protected][5]*[email protected][1])+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+([email protected][5]*[email protected][1])+")^000000"; if ([email protected][6]) for(set [email protected],6; [email protected]<getarraysize([email protected]); set [email protected],[email protected]+2) mes " > "+Chk(countitem([email protected][[email protected]]),[email protected][[email protected]+1]*[email protected][1])+((.ShowID)?"{"[email protected]q[[email protected]]+"} ":"")+Slot([email protected][[email protected]])+" ("+countitem([email protected][[email protected]])+"/"+([email protected][[email protected]+1]*[email protected][1])+")^000000"; next; setarray @qe[1], getiteminfo([email protected][0],5), getiteminfo([email protected][0],11); if (@qe[2] > 0 && ((@qe[1] & 1) || (@qe[1] & 256) || (@qe[1] & 512) || (@qe[1] & 1024) || (@qe[1] & 2048) || (@qe[1] & 4096) || (@qe[1] & 4) || (@qe[1] & 8192))) set [email protected],1; addtimer 1000, strnpcinfo(0)+"::OnEnd"; while(1) { switch(select(" ~ Purchase ^0055FF"+getitemname([email protected][0])+"^000000:"+(([email protected] && [email protected][7])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) { case 1: if (@qe[0]) { mes "[Quest Shop]"; mes "You're missing one or more quest requirements."; close; } if (!checkweight([email protected][0],[email protected][2])) { mes "[Quest Shop]"; mes "^FF0000You need "+((([email protected][2]*getiteminfo([email protected][0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000"; close; } if ([email protected][4]) set Zeny, Zeny-([email protected][4]*[email protected][1]); if ([email protected][5]) setd .Points$[0], getd(.Points$[0])-([email protected][5]*[email protected][1]); if ([email protected][6]) for(set [email protected],6; [email protected]<getarraysize([email protected]); set [email protected],[email protected]+2) delitem [email protected][[email protected]],[email protected][[email protected]+1]*[email protected][1]; getitem [email protected][0],[email protected][2]; if (.Announce) announce strcharinfo(0)+" has created "+(([email protected][2] > 1)[email protected][2]+"x "+getitemname([email protected][0]):A_An(getitemname([email protected][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 [email protected][0],getarg(2),getarg(3),getarg(4); for(set [email protected],5; [email protected]<getargcount(); set [email protected],[email protected]+2) { if (getitemname(getarg([email protected])) == "null") { debugmes "Quest requirement #"+getarg([email protected])+" invalid (skipped)."; return; } else setarray [email protected][[email protected]],getarg([email protected]),getarg([email protected]+1); } copyarray getd(".q_"+getarg(1)+"[0]"),[email protected][0],getarraysize([email protected]); 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 [email protected]$,getitemname(getarg(0)); switch(.ShowSlot) { case 1: if (!getitemslots(getarg(0))) return [email protected]$; case 2: if (getiteminfo(getarg(0),2) == 4 || getiteminfo(getarg(0),2) == 5) return [email protected]$+" ["+getitemslots(getarg(0))+"]"; default: return [email protected]$; } } function A_An { setarray [email protected]$[0],"a","e","i","o","u"; set [email protected]$, "_"+getarg(0); for(set [email protected],0; [email protected]<5; set [email protected],[email protected]+1) if (compare([email protected]$,"_"[email protected]$[[email protected]])) return "an "+getarg(0); return "a "+getarg(0); } } function script qshop { deletearray @i[0],getarraysize(@i); for(set [email protected],0; [email protected]<getargcount(); set [email protected],[email protected]+1) set @i[[email protected]],getarg([email protected]); doevent "quest_shop1::OnMenu"; end; } // Dummy shop data -- copy as needed. //============================================================ - shop qshop7 -1,909:-1 - shop qshop8 -1,909:-1 - shop qshop9 -1,909:-1 - shop qshop10 -1,909:-1 - shop qshop11 -1,909:-1 i actually did it before wayback 2016 hahaha and i forgot how to do it again thanks in advance it was @Euphy script credit to this person
-
THnx i know how to add my mind just got stuck in 2012 client hahaha
-
well im trying to add custom mobs but it seems all the IDs im trying on are already taken i dunno how to add the custom sprite i have anyone could help me? TIA
-
hi just wanna ask if theres a way to convert the recorded video file of ragnarok to other video format?? #TIA
-
Hi i just wanted to know how to make this like 5TCGS = 10Statpoints?? set [email protected], 30; //Stat Points per 1 POD set [email protected], 10; //Stat Points per 1 TCG set [email protected], 7179; //POD item id set [email protected], 7227; //TCG item id set [email protected], 2000; //Maximum Stat Points allowed to sell mes "Hi ^FF0000"+strcharinfo(0)+"^000000!"; mes "Do you wish to buy Stat points?"; mes "1 POD = "[email protected]+" stat points"; mes "5 TCG = "[email protected]+" stat points"; // for this line mes "Maximum stat points can be purchase is "[email protected]+"."; switch(select(" ~ Yes, using PODs: ~ Yes, using TCGs: ~ No")) { case 1: mes "How many PODs do you wish to exchange for stat points?"; input [email protected]; if (countitem([email protected]) < [email protected]) { mes "Sorry, but don't have enough PODs in your inventory."; mes " Please come back when you have enough."; close; } else { set [email protected], StatBought+([email protected]*[email protected]); if ([email protected] < [email protected]) { mes "Sorry, but you're about to reach the max stat points that can be bought."; mes "You have already purchase "+StatBought+" stat points."; close; } else { mes "Here you go!"; mes "Please use your stat point wisely."; set StatusPoint, StatusPoint+([email protected]*[email protected]); set StatBought, StatBought+([email protected]*[email protected]); delitem [email protected][[email protected]],[email protected]; close; } } case 2: mes "How many TCGs do you wish to exchange for stat points?"; input [email protected]; if (countitem([email protected]) < [email protected]) { mes "Sorry, but don't have enough TCGs in your inventory."; mes " Please come back when you have enough."; close; } else { set [email protected], StatBought+([email protected]*[email protected]); if ([email protected] < [email protected]) { mes "Sorry, but you're about to reach the max stat points that can be bought."; mes "You have already purchase "+StatBought+" stat points."; close; } else { mes "Here you go!"; mes "Please use your stat point wisely."; set StatusPoint, StatusPoint+([email protected]*[email protected]); set StatBought, StatBought+([email protected]*[email protected]); delitem [email protected][[email protected]],[email protected]; close; } } case 3: mes "I understand, Please come back to me whenever you change your mind."; close; } OnInit: waitingroom " Stat Seller",0; end; } thanks in advance