Jump to content

Anatong123

Members
  • Posts

    22
  • Joined

  • Last visited

Everything posted by Anatong123

  1. Hi , I just wonder how the database detect the type of the weapon coz it affect the aspd of the wielder In my case, i made a custom one hand sword which i used the view id from the saber but when tested on agi 99 rogue the aspd is total different my custom sword = 150 aspd the default saber = 178 aspd both of them dont have item bonus about aspd How to fix this problem?
  2. Hi, I just made a custom sword i used view id from saber but it can be only equiped in right hand as an assassin. How to make it dual wieldable?
  3. How can I read the parameter total stat eg. total luk ( base luk + bonus luk from item) I tried readparam(tLuk) but it doesnt work
  4. Im using jRO alternative outfit for my 3rd class but when i test on mechanic i found the error that head and body dont match when walking in some direction. Im using grf from this https://rathena.org/board/files/file/3437-third-job-costumes-new-classes-corrected I got some screen shot but its no good when walking How to fix it
  5. I tried making npc which require membership card to sell premium item but it doesnt work alberta,125,149,3 script PremiumShop 856,{ if (!countitem(24180)) { mes "I'm sorry you dont have our membership card, I cant sell anything to you"; close; } callshop "premiumshop",1; end; } - shop premiumship -1,501:100,502:100 What's wrong with it?
  6. The number of meteor still the same
  7. How can i set the base chance of each item separately?
  8. Hello I have an idea of making quest shop npc for crafting item but there is a success rate [ base chance +total luk/10+total dex/6] i found these two script but i dont know how to mix it together 1. Quest shop script //===== 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>{,...}}}; //============================================================ prontera,157,181,6 script Quest Shop#1 998,{ callfunc "qshop"; } // Script Core //============================================================ - 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"; // ----------------------------------------------------------- // Shop IDs -- to add shops, copy dummy data at bottom of file. // setarray .Shops$[1],"<Shop 1>","<Shop 2>"{,...}; // ----------------------------------------------------------- setarray .Shops$[1],"Headgears","Weapons","Other"; // ----------------------------------------------------------- // 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,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); 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); 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); // ----------------------------------------------------------- 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] & 1) || (@qe[1] & 256) || (@qe[1] & 512) || (@qe[1] & 1024) || (@qe[1] & 2048) || (@qe[1] & 4096) || (@qe[1] & 4) || (@qe[1] & 8192))) 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 2.Crafting prontera,155,181,5 script Sample 757,{ for( .@i = 0; .@i < .item_id_size; .@i++ ){ mes .item_amount[.@i]+" x "+getitemname( .item_id[.@i] ); if( countitem( .item_id[.@i] ) < .item_amount[.@i] ) .@failed = 1; } if( !.@failed ){ mes "Please wait..."; progressbar "FFFFFF",10; for( .@i = 0; .@i < .item_id_size; .@i++ ) delitem .item_id[.@i],.item_amount[.@i]; if( rand( 100 ) < .craft_rate ){ mes "Gained 1 items."; getnameditem( .craft_gain,strcharinfo(0) ); }else{ mes "Failed"; } } close; OnInit: // craft settings .craft_rate = 50; setarray .item_id,607,608; setarray .item_amount,1,2; .item_id_size = getarraysize( .item_id ); // item gain .craft_gain = 7539; end; }
  9. Here, this is the biggest window i can do sry
  10. I dont see any error message or do i need to recompile?
  11. Ok i tried not using // still doesn't work
  12. How to increase the maximum number of meteor I just want more than 7
  13. I made a NPC who can make omegabox The box needs 10 of item id 42500 to 42504 and 50000 zeny There is an error in it i dont know where and i cant talk to the NPC in the game Pls help me prontera,164,172,3 script Edward Cane 86,{ if (checkweight(1201,1) == 0) { mes "- Wait a moment! -"; mes "- Currently you're carrying -"; mes "- too many items with you. -"; mes "- Please come back later -"; mes "- after you put some items into kafra storage. -"; close; } { mes "[Boxmaker Edward Cane]"; mes "Hello"; mes "Do you want to make Omega Box"; mes "There are many valuable things in it"; next; switch(select("OK :Nope")) { case 1: mes "[Boxmaker Edward Cane]"; mes "What kind of box do you want to make"; next; switch(select("Omega Box:Cancel")) { case 1: break; case 2: mes "[Merchant Marx Hansen]"; mes "Well then..."; mes "See you next time."; close; } if (countitem(42500) < 10 ||countitem(42501) < 10 ||countitem(42502) < 10 ||countitem(42503) < 10 ||countitem(42504) < 10 || countitem(42505) < 10 || Zeny < 50000) { mes "[Merchant Marx Hansen]"; mes "Oh no..."; mes "You don't have all the necessary materials."; next; mes "[Merchant Marx Hansen]"; mes "When you have prepared everything, I will blend the fruit to give you delicious juice."; close; } mes "[Boxmaker Edward Cane]"; mes "How many would you like?"; next; switch(select("As many as possible : Specific amount : Cancel ")) { case 1: set .@make,countitem(42500); if (countitem(42500)//10 < .@make) set .@make, countitem(42500)/10; if (countitem(42501)//10 < .@make) set .@make, countitem(42501)/10; if (countitem(42502)//10 < .@make) set .@make, countitem(42502)/10; if (countitem(42503)//10 < .@make) set .@make, countitem(42503)/10; if (countitem(42504)//10 < .@make) set .@make, countitem(42504)/10; if (countitem(42505)//10 < .@make) set .@make, countitem(42505)/10; if (Zeny//50000 < .@make) set .@make, Zeny/25000; break; case 2: mes "[Merchant Marx Hansen]"; mes "Choose a number less than 100. If you don't want to, put '0'"; next; while(1) { input .@input; if (.@input == 0) { mes "[Merchant Marx Hansen]"; mes "Well then..."; mes "Come again."; close; } else if (.@input > 100) { mes "[Merchant Marx Hansen]"; mes "More than 100 bottles is impossible. Choose a different amount."; next; } else { break; } } set .@make,.@input; break; case 3: mes "[Boxmaker Edward Cane]"; mes "Well then..."; mes "Come again."; close; } set .@total_zeny,50000 * .@make; if (countitem(42500)//10 < .@make|| countitem(42501)//10 < .@make ||countitem(42502)//10 < .@make ||countitem(42503)//10 < .@make ||countitem(42504)//10 < .@make ||countitem(42505)//10 < .@make|| Zeny < .@total_zeny) { mes "[Merchant Marx Hansen]"; mes "Oh no..."; mes "You don't have all the necessary materials. I can't help a situation like this. I guess you collect what you need."; close; } delitem 42500,.@make*10; delitem 42501,.@make*10; delitem 42502,.@make*10; delitem 42503,.@make*10; delitem 42504,.@make*10; delitem 42505,.@make*10; set Zeny, Zeny-.@total_zeny; getitem 60005,.@make; mes "[Boxmaker Edward Cane]"; mes "Here"; next; mes "[Boxmaker Edward Cane]"; mes "See Ya later"; close; case 2: mes "[Boxmaker Edward Cane]"; mes "Hey!"; mes "If you visit"; mes "somebody, talk to them!"; close; } } }
  14. When I try equiping custom costume I imported to my database, it always crash How can I fix it?
  15. Hello, i have an idea of decrease etc item drop rate by 0.35% per one base level up How can i write that script pls ?
  16. How to make equipment obtained from OBB identified so i dont have to use magnifying glass?
  17. Hi I have few questions. 1.What is the script command for npc to open refinement window so player can use enriched elunium/oridecon to refine? 2.How can i adjust the refine success rate of enriched elunium/oridecon?
  18. Hi, I need to know some of conditioning syntax 1) character must have itemid in his inventory to continue the script 2) character must be specific class with base level of 70 or higher with base luk 80 or higher to continue the script Thank You in Advance
  19. Is there a script that when equip a weapon the character will transform to a monster as long as the weapon is equipped?
  20. I have an idea of boosting meteor storm to meteor shower to have bigger aoe as whole screen and more numbers of meteor ball and lower their striking interval For Example 23x23 aoe and 60 meteors in 7 sec Is it possible to edit that?
×
×
  • Create New...