Jump to content

Koutaro Satomi

Members
  • Posts

    22
  • Joined

  • Last visited

Everything posted by Koutaro Satomi

  1. Hi, I'm making a hat maker quest but unfortunately it kepts adding a Item thats not supposed to be in the 2nd quest shop here's the script and here's the item thats popping out ID # 5352 // Shop NPCs -- supplying no argument displays entire menu. // callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}}; //============================================================ prt_in,37,103,6 script Hat Maker 503,{ callfunc "qshop3"; } // Script Core //============================================================ - script quest_shop3 -1,{ function Add; function Chk; function Slot; OnInit: freeloop(1); // ----------------------------------------------------------- // Basic shop settings. // ----------------------------------------------------------- set .Announce,0; // 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>",<Shop 3>"{,...}; // ----------------------------------------------------------- setarray .Shops$[3],"Hat Maker Quest"; // ----------------------------------------------------------- // 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>{,...}); // ----------------------------------------------------------- // ----------------------------------------------------------- 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 .@i, select(.menu$); else if (.@size == 1) set .@i, @i[0]; else { for(set .@j,0; .@j<.@size; set .@j,.@j+1) set .@menu$, .@menu$+.Shops$[@i[.@j]]+":"; set .@i, @i[select(.@menu$)-1]; } deletearray @i[0],getarraysize(@i); if (.Shops$[.@i] == "") { message strcharinfo(0),"An error has occurred."; end; } dispbottom "Select one item at a time."; callshop "qshop"+.@i,1; npcshopattach "qshop"+.@i; 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_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+.@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(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 qshop3 { deletearray @i[0],getarraysize(@i); for(set .@i,0; .@i<getargcount(); set .@i,.@i+1) set @i[.@i],getarg(.@i); doevent "quest_shop3::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 Found the cause of it.. kindly delete the topic. thanks
  2. Quick question regarding the Quest shop.. How would i be able to put a Zeny sign example yours says 0 Z how could i put 3 in it?? But not asking for a requirement.
  3. i have a question after that said date for those cards?.. they wont work anymore at all even if you change them?
  4. Hi i would just like to know some answers regarding of the following questions. 1. Tatacho card on my server its effect is earth instead of neutral but did some research regarding this and it says on iro, rms, ro doddler that its neutral. search in rathena and the codes for the effect is earth so which is it? 2. Spiral / Clashing Pierce skill. We probably all know that its supposed to be a any type of spear and two handed sword was implemented on renewal state but then again it says that its allowed to wear a two hand sword even if its pre-renewal. 3. Whitesmith / Mastersmith skill(no idea for this char nvr used) i only know a few knowledgw regarding this character, i would just like to know if used by meltdown and maximum thrust does it stack on the skill cart ram?? i know if melee it could destroy some equipments but not with skill. no knowledge about this one kindly help
  5. sir Anakid i was able to make the duplications for npc(Thank you) but they all have the same items?.. how would i be able to change those?
  6. i actually didn't add anything but i'll check. thank you
  7. just a quick question im very sorry as well if im noob.. i don't have any background experience on scripting but im still learning each and everytime.. i would justl ike to know how would i be able to make 5 npc out of this instead of 5 is to 1 something like that.. here's my 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 "qshopd"{,<shop ID>{,<shop ID>{,...}}}; //============================================================ prontera,101,81,4 script Consumables 856,{ callfunc "qshopd"; } // Script Core //============================================================ - script quest_shopd -1,{ function Add; function Chk; function Slot; function A_An; OnInit: freeloop(1); // ----------------------------------------------------------- // Basic shop settings. // ----------------------------------------------------------- set .Announce,0; // 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,1; // 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],"Weapon Donates","Armor Donates","Donate Cards"; setarray .Shops$[1],"Consumables"; // ----------------------------------------------------------- // 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,14003,1,0,0,7179,3); Add(1,13696,1,0,0,7179,30); Add(1,12901,1,0,0,7179,5); Add(1,12909,1,0,0,7179,5); Add(1,12213,1,0,0,7179,100); Add(1,6127,1,0,0,7179,10); Add(1,7776,1,0,0,7179,30); Add(1,13710,1,0,0,7179,250); Add(1,12029,2,0,0,7179,1); Add(1,13989,1,0,0,7179,2); Add(1,17070,1,0,0,7179,50); Add(1,13973,1,0,0,7179,15); Add(1,13718,1,0,0,7179,5); Add(1,14287,1,0,0,7179,2); Add(1,14288,1,0,0,7179,2); Add(1,13547,1,0,0,7179,5); Add(1,14003,1,0,0,7179,3); Add(1,12922,1,0,0,7179,5); Add(1,12913,1,0,0,7179,5); Add(1,12914,1,0,0,7179,5); Add(1,12917,1,0,0,7179,5); Add(1,12916,1,0,0,7179,5); Add(1,12910,1,0,0,7179,5); Add(1,13553,1,0,0,7179,5); Add(1,12903,1,0,0,7179,30); Add(1,12904,1,0,0,7179,30); Add(1,12905,1,0,0,7179,30); Add(1,12906,1,0,0,7179,30); Add(1,12907,1,0,0,7179,30); Add(1,12908,1,0,0,7179,30); Add(1,14284,1,0,0,7179,20); Add(1,14285,1,0,0,7179,20); Add(1,14286,1,0,0,7179,20); // ----------------------------------------------------------- freeloop(0); set .menu$,""; for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) { set .menu$, .menu$+.Shops$[.@i]+":"; npcshopdelitem "qshopd"+.@i,909; } end; OnMenu: set .@size, getarraysize(@i); if (!.@size) set .@i, select(.menu$); else if (.@size == 1) set .@i, @i[0]; else { for(set .@j,0; .@j<.@size; set .@j,.@j+1) set .@menu$, .@menu$+.Shops$[@i[.@j]]+":"; set .@i, @i[select(.@menu$)-1]; } deletearray @i[0],getarraysize(@i); if (.Shops$[.@i] == "") { message strcharinfo(0),"An error has occurred."; end; } dispbottom "Select one item at a time."; callshop "qshopd"+.@i,1; npcshopattach "qshopd"+.@i; 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_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+.@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]):A_An(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(1)+"[0]"),.@j[0],getarraysize(.@j); npcshopadditem "qshopd"+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 A_An { setarray .@A$[0],"a","e","i","o","u"; set .@B$, "_"+getarg(0); for(set .@i,0; .@i<5; set .@i,.@i+1) if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0); return "a "+getarg(0); } } function script qshopd { deletearray @i[0],getarraysize(@i); for(set .@i,0; .@i<getargcount(); set .@i,.@i+1) set @i[.@i],getarg(.@i); doevent "quest_shopd::OnMenu"; end; } // Dummy shop data -- copy as needed. //============================================================ - shop qshopd1 -1,909:-1 - shop qshopd2 -1,909:-1 - shop qshopd3 -1,909:-1 - shop qshopd4 -1,909:-1 - shop qshopd5 -1,909:-1
  8. What i meant is doing the quest not the donations @___@
  9. how could i make this close to official?? like a character must quest this.. only people who have done the quest could go in?... bcoz on my server only 1 person was able to do the quest but alot of my players was able to get in...
  10. Hello !.. i would just like to ask how would i be able to add a Taekwon Kid, Master and a Soul linker on my jobchange.txt?? //===== rAthena Script ======================================= //= Job Master //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.4 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= A fully functional job changer. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 1.1 Fixed reset on Baby job change. //= 1.2 Added Expanded Super Novice support and initial Kagerou/Oboro support. //= 1.3 Kagerou/Oboro added. //= 1.4 Rebellion added. //============================================================ prontera,153,193,6 script Job Master 123,{ function Job_Menu; set .@eac, eaclass(); mes "[Job Master]"; if ( .@eac&EAJL_THIRD && .@eac&EAJ_THIRDMASK == .@eac && upper != 2 ) { mes "Switch to third trans class?"; next; Job_Menu(roclass(.@eac&EAJ_UPPERMASK|EAJL_UPPER|EAJL_THIRD)); close; } if (Class > 4049) { mes "No more jobs are available."; close; } if (checkfalcon() || checkcart() || checkriding() || ismounting()) { mes "Please remove your "+((checkfalcon())?"falcon":"")+((checkcart())?"cart":"")+((checkriding())?"Peco":"")+((ismounting())?"mount":"")+" before proceeding."; close; } if (.SkillPointCheck && SkillPoint) { mes "Please use all your skill points before proceeding."; close; } set .@i, ((.ThirdClass)?roclass(.@eac&EAJ_UPPERMASK):Class); if (.@i > 6 && .@i < 22) { if (BaseLevel < .Rebirth[0] || JobLevel < .Rebirth[1]) { set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .Rebirth[1]-JobLevel; mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue."; close; } if (Class > 21) { mes "Switch to third class?"; next; Job_Menu(roclass(.@eac|EAJL_THIRD)); close; } while(1) { mes "Select an option."; next; set .@i, select(" ~ ^0055FF"+ jobname(roclass(.@eac|EAJL_UPPER)) +"^000000:"+((.ThirdClass)?" ~ ^FF0000Third Class^000000":"")+": ~ ^777777Cancel^000000"); if (.@i==3) close; mes "[Job Master]"; mes "Are you sure?"; next; Job_Menu(((.@i==1)?roclass(.@eac|EAJL_UPPER):roclass(.@eac|EAJL_THIRD))); mes "[Job Master]"; } } set .@j1, roclass(.@eac|EAJL_2_1); set .@j2,roclass(.@eac|EAJL_2_2); if ((.@eac&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) setarray .@exp[0],roclass(.@eac|EAJL_THIRD),99; if (Class == Job_Ninja || Class == Job_Gunslinger) setarray .@exp[0],.@j1,70; if (.@exp[0] && .SecondExpanded) { if (BaseLevel < .Rebirth[0] || JobLevel < .@exp[1]) { set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .@exp[1]-JobLevel; mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue."; close; } mes "Switch to "+jobname(.@exp[0])+"?"; next; Job_Menu(.@exp[0]); close; } if (.@eac&EAJL_2) if (.@eac&(EAJL_UPPER|EAJL_BABY) || roclass(.@eac|EAJL_UPPER) == -1) { mes "No more jobs are available."; close; } if ((.@eac&EAJ_BASEMASK) == EAJ_NOVICE) { if (JobLevel < .JobReq[0]) mes "A job level of "+.JobReq[0]+" is required to change into the 1st Class."; else if (Class == 4001 && .LastJob && lastJob) { mes "Switch classes now?"; next; Job_Menu(roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER)); } else switch(Class) { case 0: Job_Menu(1,2,3,4,5,6,23,4046,24,25,4023); case 4001: Job_Menu(4002,4003,4004,4005,4006,4007); case 4023: Job_Menu(4024,4025,4026,4027,4028,4029,4045); default: mes "An error has occurred."; break; } close; } if (roclass(.@eac|EAJL_2_1) == -1 || roclass(.@eac|EAJL_2_2) == -1) mes "No more jobs are available."; else if (!(.@eac&EAJL_2) && JobLevel < .JobReq[1]) mes "A job level of "+.JobReq[1]+" is required to change into the 2nd Class."; else if (.LastJob && lastJob && (.@eac&EAJL_UPPER)) { mes "Switch classes now?"; next; Job_Menu(lastJob+4001); } else Job_Menu(.@j1,.@j2); close; function Job_Menu { while(1) { if (getargcount() > 1) { mes "Select a job."; set .@menu$,""; for(set .@i,0; .@i<getargcount(); set .@i,.@i+1) set .@menu$, .@menu$+" ~ "+jobname(getarg(.@i))+":"; set .@menu$, .@menu$+" ~ ^777777Cancel^000000"; next; set .@i, getarg(select(.@menu$)-1,0); if (!.@i) close; if ((.@i == 23 || .@i == 4045) && BaseLevel < .SNovice) { mes "[Job Master]"; mes "A base level of "+.SNovice+" is required to turn into a "+jobname(.@i)+"."; close; } mes "[Job Master]"; mes "Are you sure?"; next; } else set .@i, getarg(0); if (select(" ~ Change into ^0055FF"+jobname(.@i)+"^000000 class: ~ ^777777"+((getargcount() > 1)?"Go back":"Cancel")+"^000000") == 1) { mes "[Job Master]"; mes "You are now "+callfunc("F_InsertArticle",jobname(.@i))+"!"; if (.@i==4001 && .LastJob) set lastJob, Class; jobchange .@i; if (.@i==4001 || .@i==4023) resetlvl(1); specialeffect2 EF_ANGEL2; specialeffect2 EF_ELECTRIC; if (.Platinum) callsub Get_Platinum; close; } if (getargcount() == 1) return; mes "[Job Master]"; } end; } Get_Platinum: skill 142,1,0; switch(BaseClass) { case 0: if (Class !=23) skill 143,1,0; break; case 1: skill 144,1,0; skill 145,1,0; skill 146,1,0; break; case 2: skill 157,1,0; break; case 3: skill 147,1,0; skill 148,1,0; break; case 4: skill 156,1,0; break; case 5: skill 153,1,0; skill 154,1,0; skill 155,1,0; break; case 6: skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; break; default: break; } switch(BaseJob) { case 7: skill 1001,1,0; break; case 8: skill 1014,1,0; break; case 9: skill 1006,1,0; break; case 10: skill 1012,1,0; skill 1013,1,0; break; case 11: skill 1009,1,0; break; case 12: skill 1003,1,0; skill 1004,1,0; break; case 14: skill 1002,1,0; break; case 15: skill 1015,1,0; skill 1016,1,0; break; case 16: skill 1007,1,0; skill 1008,1,0; skill 1017,1,0; skill 1018,1,0; skill 1019,1,0; break; case 17: skill 1005,1,0; break; case 18: skill 238,1,0; break; case 19: skill 1010,1,0; break; case 20: skill 1011,1,0; break; default: break; } return; OnInit: setarray .Rebirth[0],99,50; // Minimum base level, job level to rebirth OR change to third class setarray .JobReq[0],10,40; // Minimum job level to turn into 1st class, 2nd class set .ThirdClass,0; // Enable third classes? (1: yes / 0: no) set .SecondExpanded,0; // Enable new expanded second classes: Ex. Super Novice, Kagerou/Oboro, Rebellion? (1: yes / 0: no) set .SNovice,45; // Minimum base level to turn into Super Novice set .LastJob,1; // Enforce linear class changes? (1: yes / 0: no) set .SkillPointCheck,0; // Force player to use up all skill points? (1: yes / 0: no) set .Platinum,1; // Get platinum skills automatically? (1: yes / 0: no) end; } here's the script im using. thanks alot for helping
  11. //===== 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 "qshopd"{,<shop ID>{,<shop ID>{,...}}}; //============================================================ prontera,101,81,4 script Consumables 856,{ callfunc "qshopd"; } // Script Core //============================================================ - script quest_shopd -1,{ function Add; function Chk; function Slot; function A_An; OnInit: freeloop(1); // ----------------------------------------------------------- // Basic shop settings. // ----------------------------------------------------------- set .Announce,0; // 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],"Weapon Donates","Armor Donates","Donate Cards"; setarray .Shops$[1],"Consumables"; // ----------------------------------------------------------- // 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,14003,1,0,0,7179,3); Add(1,13696,1,0,0,7179,30); Add(1,12901,1,0,0,7179,5); Add(1,12909,1,0,0,7179,5); Add(1,12213,1,0,0,7179,100); Add(1,6127,1,0,0,7179,10); Add(1,7776,1,0,0,7179,30); Add(1,13710,1,0,0,7179,250); Add(1,12029,2,0,0,7179,1); Add(1,13989,1,0,0,7179,2); Add(1,17070,1,0,0,7179,50); Add(1,13973,1,0,0,7179,15); Add(1,13718,1,0,0,7179,5); Add(1,14287,1,0,0,7179,2); Add(1,14288,1,0,0,7179,2); Add(1,13547,1,0,0,7179,5); Add(1,14003,1,0,0,7179,3); Add(1,12922,1,0,0,7179,5); Add(1,12913,1,0,0,7179,5); Add(1,12914,1,0,0,7179,5); Add(1,12917,1,0,0,7179,5); Add(1,12916,1,0,0,7179,5); Add(1,12910,1,0,0,7179,5); Add(1,13553,1,0,0,7179,5); Add(1,12903,1,0,0,7179,30); Add(1,12904,1,0,0,7179,30); Add(1,12905,1,0,0,7179,30); Add(1,12906,1,0,0,7179,30); Add(1,12907,1,0,0,7179,30); Add(1,12908,1,0,0,7179,30); Add(1,14284,1,0,0,7179,20); Add(1,14285,1,0,0,7179,20); Add(1,14286,1,0,0,7179,20); // ----------------------------------------------------------- freeloop(0); set .menu$,""; for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) { set .menu$, .menu$+.Shops$[.@i]+":"; npcshopdelitem "qshopd"+.@i,909; } end; OnMenu: set .@size, getarraysize(@i); if (!.@size) set .@i, select(.menu$); else if (.@size == 1) set .@i, @i[0]; else { for(set .@j,0; .@j<.@size; set .@j,.@j+1) set .@menu$, .@menu$+.Shops$[@i[.@j]]+":"; set .@i, @i[select(.@menu$)-1]; } deletearray @i[0],getarraysize(@i); if (.Shops$[.@i] == "") { message strcharinfo(0),"An error has occurred."; end; } dispbottom "Select one item at a time."; callshop "qshopd"+.@i,1; npcshopattach "qshopd"+.@i; 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_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+.@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]):A_An(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(1)+"[0]"),.@j[0],getarraysize(.@j); npcshopadditem "qshopd"+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 A_An { setarray .@A$[0],"a","e","i","o","u"; set .@B$, "_"+getarg(0); for(set .@i,0; .@i<5; set .@i,.@i+1) if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0); return "a "+getarg(0); } } function script qshopd { deletearray @i[0],getarraysize(@i); for(set .@i,0; .@i<getargcount(); set .@i,.@i+1) set @i[.@i],getarg(.@i); doevent "quest_shopd::OnMenu"; end; } // Dummy shop data -- copy as needed. //============================================================ - shop qshopd1 -1,909:-1 - shop qshopd2 -1,909:-1 - shop qshopd3 -1,909:-1 - shop qshopd4 -1,909:-1 - shop qshopd5 -1,909:-1 Quick question how would i be able to see the prices of each items? it kept saying 0 on the display but while when i try to buy it would show the prices.
  12. Sir Emistyr i tried doing that but they were still able to do a memo so i have to do it by manual on each map which is @mapflag nomemo 1.. but im not sure if its gonna be back to normal again after i do a maintenance
  13. Hello. i would just like to ask how could i disable a memo in certain places such as odin_tem03 //===== rAthena Script ======================================= //= Mapflag: Disable Warp Portal memory. //===== By: ================================================== //= rAthena Dev Team //===== Current Version: ===================================== //= 2.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Prevents players from using /memo on a map. //= Also disables marriage warp skills. //===== Additional Comments: ================================= //= 1.6a Added up to Hugel maps. [Lupus] //= 1.6b Added job_knt map. [Samuray22] //= 1.7 Added all novice maps. [L0ne_W0lf] //= 1.8 Added nameless_i location. [Lupus] //= 1.8a Removed duplicate gef_cas nomemo mapflags. [Yommy] //= 1.8b Removed duplicate arug_dun01 & schg_dun01 entries. [Gepard] //= 1.9 Updated. [L0ne_W0lf] //= 2.0 Renewal split. [Euphy] //============================================================ // Towns ==================== ayo_in01 mapflag nomemo ayo_in02 mapflag nomemo alb_ship mapflag nomemo alberta_in mapflag nomemo aldeba_in mapflag nomemo ama_in01 mapflag nomemo ama_in02 mapflag nomemo ama_test mapflag nomemo cmd_in01 mapflag nomemo cmd_in02 mapflag nomemo gef_tower mapflag nomemo geffen_in mapflag nomemo gon_test mapflag nomemo gon_in mapflag nomemo in_orcs01 mapflag nomemo izlude_in mapflag nomemo jawaii_in mapflag nomemo lou_in01 mapflag nomemo lou_in02 mapflag nomemo moc_castle mapflag nomemo morocc_in mapflag nomemo mosk_in mapflag nomemo mosk_ship mapflag nomemo mosk_fild01 mapflag nomemo mosk_fild02 mapflag nomemo mosk_dun01 mapflag nomemo mosk_dun02 mapflag nomemo mosk_dun03 mapflag nomemo nameless_in mapflag nomemo niflheim mapflag nomemo nif_in mapflag nomemo new_zone01 mapflag nomemo new_zone02 mapflag nomemo new_zone03 mapflag nomemo new_zone04 mapflag nomemo new_1-1 mapflag nomemo new_1-2 mapflag nomemo new_1-3 mapflag nomemo new_1-4 mapflag nomemo new_2-1 mapflag nomemo new_2-2 mapflag nomemo new_2-3 mapflag nomemo new_2-4 mapflag nomemo new_3-1 mapflag nomemo new_3-2 mapflag nomemo new_3-3 mapflag nomemo new_3-4 mapflag nomemo new_4-1 mapflag nomemo new_4-2 mapflag nomemo new_4-3 mapflag nomemo new_4-4 mapflag nomemo new_5-1 mapflag nomemo new_5-2 mapflag nomemo new_5-3 mapflag nomemo new_5-4 mapflag nomemo pay_arche mapflag nomemo payon_in01 mapflag nomemo payon_in02 mapflag nomemo payon_in03 mapflag nomemo prt_castle mapflag nomemo prt_church mapflag nomemo prt_in mapflag nomemo um_in mapflag nomemo xmas_in mapflag nomemo valkyrie mapflag nomemo yuno_in01 mapflag nomemo yuno_in02 mapflag nomemo yuno_in03 mapflag nomemo yuno_in04 mapflag nomemo yuno_in05 mapflag nomemo yuno mapflag nomemo ein_in01 mapflag nomemo airport mapflag nomemo airplane mapflag nomemo airplane_01 mapflag nomemo lighthalzen mapflag nomemo yuno_pre mapflag nomemo y_airport mapflag nomemo lhz_airport mapflag nomemo einbroch mapflag nomemo einbech mapflag nomemo lhz_cube mapflag nomemo lhz_in01 mapflag nomemo lhz_in02 mapflag nomemo lhz_in03 mapflag nomemo hu_in01 mapflag nomemo auction_01 mapflag nomemo auction_02 mapflag nomemo ra_in01 mapflag nomemo ra_temin mapflag nomemo ra_temsky mapflag nomemo ve_in mapflag nomemo ve_in02 mapflag nomemo thor_camp mapflag nomemo moc_para01 mapflag nomemo // Fields =================== alb2trea mapflag nomemo ayo_fild02 mapflag nomemo cmd_fild01 mapflag nomemo cmd_fild02 mapflag nomemo cmd_fild03 mapflag nomemo cmd_fild04 mapflag nomemo cmd_fild05 mapflag nomemo cmd_fild06 mapflag nomemo cmd_fild07 mapflag nomemo cmd_fild08 mapflag nomemo cmd_fild09 mapflag nomemo gef_fild02 mapflag nomemo gef_fild03 mapflag nomemo gef_fild06 mapflag nomemo gef_fild08 mapflag nomemo gef_fild10 mapflag nomemo gef_fild11 mapflag nomemo gef_fild12 mapflag nomemo gef_fild14 mapflag nomemo glast_01 mapflag nomemo hu_fild01 mapflag nomemo hu_fild05 mapflag nomemo izlu2dun mapflag nomemo mjolnir_01 mapflag nomemo mjolnir_02 mapflag nomemo mjolnir_03 mapflag nomemo mjolnir_04 mapflag nomemo mjolnir_05 mapflag nomemo mjolnir_07 mapflag nomemo mjolnir_08 mapflag nomemo mjolnir_10 mapflag nomemo mjolnir_11 mapflag nomemo moc_fild01 mapflag nomemo moc_fild02 mapflag nomemo moc_fild03 mapflag nomemo moc_fild04 mapflag nomemo moc_fild05 mapflag nomemo moc_fild08 mapflag nomemo moc_fild09 mapflag nomemo moc_fild13 mapflag nomemo moc_fild14 mapflag nomemo moc_fild15 mapflag nomemo moc_fild16 mapflag nomemo moc_fild17 mapflag nomemo moc_fild18 mapflag nomemo moc_fild20 mapflag nomemo moc_fild21 mapflag nomemo moc_fild22 mapflag nomemo nif_fild01 mapflag nomemo nif_fild02 mapflag nomemo pay_fild02 mapflag nomemo pay_fild04 mapflag nomemo pay_fild05 mapflag nomemo pay_fild09 mapflag nomemo pay_fild10 mapflag nomemo pay_fild11 mapflag nomemo prt_fild00 mapflag nomemo prt_fild03 mapflag nomemo prt_fild04 mapflag nomemo prt_fild09 mapflag nomemo prt_fild10 mapflag nomemo prt_fild11 mapflag nomemo prt_monk mapflag nomemo um_fild01 mapflag nomemo um_fild02 mapflag nomemo um_fild03 mapflag nomemo yuno_fild02 mapflag nomemo yuno_fild03 mapflag nomemo yuno_fild04 mapflag nomemo yuno_fild05 mapflag nomemo yuno_fild07 mapflag nomemo yuno_fild08 mapflag nomemo yuno_fild09 mapflag nomemo yuno_fild10 mapflag nomemo ra_fild01 mapflag nomemo ra_fild02 mapflag nomemo ra_fild03 mapflag nomemo ra_fild04 mapflag nomemo ra_fild05 mapflag nomemo ra_fild06 mapflag nomemo ra_fild10 mapflag nomemo ve_fild01 mapflag nomemo ve_fild02 mapflag nomemo ve_fild03 nomemo ve_fild04 mapflag nomemo ve_fild06 mapflag nomemo cave mapflag nomemo // Job Quests ================ // First Job Class job_sword1 mapflag nomemo job_thief1 mapflag nomemo job_star mapflag nomemo // Primary Second Job Class job_knt mapflag nomemo job_prist mapflag nomemo job_wiz mapflag nomemo job_hunte mapflag nomemo in_hunter mapflag nomemo in_moc_16 mapflag nomemo // Secondary Second Job Class alde_alche mapflag nomemo job_cru mapflag nomemo job_duncer mapflag nomemo job_monk mapflag nomemo monk_test mapflag nomemo monk_in mapflag nomemo in_rogue mapflag nomemo job_sage mapflag nomemo job_soul mapflag nomemo que_ng mapflag nomemo // Special Quests Places ===== que_god01 mapflag nomemo que_god02 mapflag nomemo que_bingo mapflag nomemo que_sign01 mapflag nomemo que_hugel mapflag nomemo que_rachel mapflag nomemo que_san04 mapflag nomemo que_thor mapflag nomemo poring_c01 mapflag nomemo poring_c02 mapflag nomemo // Dungeons ================= alde_dun01 mapflag nomemo alde_dun02 mapflag nomemo alde_dun03 mapflag nomemo alde_dun04 mapflag nomemo // Anthell ------------------- anthell01 mapflag nomemo anthell02 mapflag nomemo // Amatsu Dungeon ------------ ama_dun01 mapflag nomemo ama_dun02 mapflag nomemo ama_dun03 mapflag nomemo // Ayothaya ------------------ ayo_dun01 mapflag nomemo ayo_dun02 mapflag nomemo // Comodo Beach -------------- beach_dun mapflag nomemo beach_dun2 mapflag nomemo beach_dun3 mapflag nomemo // Clock Tower --------------- c_tower1 mapflag nomemo c_tower2 mapflag nomemo c_tower3 mapflag nomemo c_tower4 mapflag nomemo // Einbech Mines ------------- ein_dun01 mapflag nomemo ein_dun02 mapflag nomemo // Geffen Dun ---------------- gef_dun00 mapflag nomemo gef_dun01 mapflag nomemo gef_dun02 mapflag nomemo gef_dun03 mapflag nomemo // Glast Hiem ---------------- gl_cas01 mapflag nomemo gl_cas02 mapflag nomemo gl_church mapflag nomemo gl_chyard mapflag nomemo gl_dun01 mapflag nomemo gl_dun02 mapflag nomemo gl_in01 mapflag nomemo gl_knt01 mapflag nomemo gl_knt02 mapflag nomemo gl_prison mapflag nomemo gl_prison1 mapflag nomemo gl_sew01 mapflag nomemo gl_sew02 mapflag nomemo gl_sew03 mapflag nomemo gl_sew04 mapflag nomemo gl_step mapflag nomemo // Guild Dun ----------------- gld_dun01 mapflag nomemo gld_dun02 mapflag nomemo gld_dun03 mapflag nomemo gld_dun04 mapflag nomemo // Bayalan Island ------------ iz_dun00 mapflag nomemo iz_dun01 mapflag nomemo iz_dun02 mapflag nomemo iz_dun03 mapflag nomemo iz_dun04 mapflag nomemo // Sphinx -------------------- in_sphinx1 mapflag nomemo in_sphinx2 mapflag nomemo in_sphinx3 mapflag nomemo in_sphinx4 mapflag nomemo in_sphinx5 mapflag nomemo // Louyang Dun -------------- lou_dun03 mapflag nomemo lou_dun02 mapflag nomemo lou_dun01 mapflag nomemo // Magma Dun ----------------- mag_dun01 mapflag nomemo mag_dun02 mapflag nomemo // Pyrmaids ------------------ moc_pryd01 mapflag nomemo moc_pryd02 mapflag nomemo moc_pryd03 mapflag nomemo moc_pryd04 mapflag nomemo moc_pryd05 mapflag nomemo moc_pryd06 mapflag nomemo moc_prydb1 mapflag nomemo // Coal Mine (Dead Pit) ------ mjo_dun01 mapflag nomemo mjo_dun02 mapflag nomemo mjo_dun03 mapflag nomemo // Orc Dun ------------------- orcsdun01 mapflag nomemo orcsdun02 mapflag nomemo // Payon Cave ---------------- pay_dun00 mapflag nomemo pay_dun01 mapflag nomemo pay_dun02 mapflag nomemo pay_dun03 mapflag nomemo pay_dun04 mapflag nomemo // Hidden Temple ------------ prt_maze01 mapflag nomemo prt_maze02 mapflag nomemo prt_maze03 mapflag nomemo // Culvert Sewers ------------ prt_sewb1 mapflag nomemo prt_sewb2 mapflag nomemo prt_sewb3 mapflag nomemo prt_sewb4 mapflag nomemo // Gonryun Dun --------------- gon_dun01 mapflag nomemo gon_dun02 mapflag nomemo gon_dun03 mapflag nomemo // Sunken Ship --------------- treasure01 mapflag nomemo treasure02 mapflag nomemo // Turtle Island ------------- tur_dun01 mapflag nomemo tur_dun02 mapflag nomemo tur_dun03 mapflag nomemo tur_dun04 mapflag nomemo tur_dun05 mapflag nomemo tur_dun06 mapflag nomemo // Umbala Dun ---------------- um_dun01 mapflag nomemo um_dun02 mapflag nomemo // Toy Factory --------------- xmas_dun01 mapflag nomemo xmas_dun02 mapflag nomemo // Yggdrasil Tree Dun -------- yggdrasil01 mapflag nomemo // Old Geffenia -------------- gefenia01 mapflag nomemo gefenia02 mapflag nomemo gefenia03 mapflag nomemo gefenia04 mapflag nomemo // Bio Lab Dungeon ----------- lhz_dun01 mapflag nomemo lhz_dun02 mapflag nomemo lhz_dun03 mapflag nomemo // Juperos Dungeon ----------- juperos_01 mapflag nomemo juperos_02 mapflag nomemo jupe_area1 mapflag nomemo jupe_area2 mapflag nomemo jupe_core mapflag nomemo jupe_ele mapflag nomemo jupe_ele_r mapflag nomemo jupe_gate mapflag nomemo jupe_cave mapflag nomemo // Thanatos Tower ------------ thana_boss mapflag nomemo tha_scene01 mapflag nomemo tha_t01 mapflag nomemo tha_t02 mapflag nomemo tha_t03 mapflag nomemo tha_t04 mapflag nomemo tha_t05 mapflag nomemo tha_t06 mapflag nomemo tha_t07 mapflag nomemo tha_t08 mapflag nomemo tha_t09 mapflag nomemo tha_t10 mapflag nomemo tha_t11 mapflag nomemo tha_t12 mapflag nomemo thana_step mapflag nomemo // Abyss Lake Dungeon -------- abyss_01 mapflag nomemo abyss_02 mapflag nomemo abyss_03 mapflag nomemo //Odin's Temple & Kiehl odin_tem01 mapflag nomemo odin_tem02 mapflag nomemo odin_tem03 mapflag nomemo kh_kiehl02 mapflag nomemo kh_kiehl01 mapflag nomemo kh_dun02 mapflag nomemo kh_dun01 mapflag nomemo kh_mansion mapflag nomemo kh_rossi mapflag nomemo kh_school mapflag nomemo kh_vila mapflag nomemo //Ice Dungeon ice_dun01 mapflag nomemo ice_dun02 mapflag nomemo ice_dun03 mapflag nomemo ice_dun04 mapflag nomemo //Rachel Santuary ra_san01 mapflag nomemo ra_san02 mapflag nomemo ra_san03 mapflag nomemo ra_san04 mapflag nomemo ra_san05 mapflag nomemo //Thor Volcano thor_v01 mapflag nomemo thor_v02 mapflag nomemo thor_v03 mapflag nomemo //Cursed Abbey nameless_i mapflag nomemo nameless_n mapflag nomemo abbey01 mapflag nomemo abbey02 mapflag nomemo abbey03 mapflag nomemo // Guild Castles ============= //alde_gld mapflag nomemo aldeg_cas01 mapflag nomemo aldeg_cas02 mapflag nomemo aldeg_cas03 mapflag nomemo aldeg_cas04 mapflag nomemo aldeg_cas05 mapflag nomemo gefg_cas01 mapflag nomemo gefg_cas02 mapflag nomemo gefg_cas03 mapflag nomemo gefg_cas04 mapflag nomemo gefg_cas05 mapflag nomemo //pay_gld mapflag nomemo payg_cas01 mapflag nomemo payg_cas02 mapflag nomemo payg_cas03 mapflag nomemo payg_cas04 mapflag nomemo payg_cas05 mapflag nomemo prt_gld mapflag nomemo prtg_cas01 mapflag nomemo prtg_cas02 mapflag nomemo prtg_cas03 mapflag nomemo prtg_cas04 mapflag nomemo prtg_cas05 mapflag nomemo nguild_alde mapflag nomemo nguild_gef mapflag nomemo nguild_pay mapflag nomemo nguild_prt mapflag nomemo schg_cas01 mapflag nomemo schg_cas02 mapflag nomemo schg_cas03 mapflag nomemo schg_cas04 mapflag nomemo schg_cas05 mapflag nomemo arug_cas01 mapflag nomemo arug_cas02 mapflag nomemo arug_cas03 mapflag nomemo arug_cas04 mapflag nomemo arug_cas05 mapflag nomemo //To Protect Novices Guilds from level abusers n_castle mapflag nomemo 1 // GvG Arenas ================ guild_vs1 mapflag nomemo guild_vs2 mapflag nomemo guild_vs3 mapflag nomemo guild_vs4 mapflag nomemo guild_vs5 mapflag nomemo // Arenas ==================== arena_room mapflag nomemo force_1-1 mapflag nomemo force_1-2 mapflag nomemo force_1-3 mapflag nomemo force_2-1 mapflag nomemo force_3-1 mapflag nomemo force_4-1 mapflag nomemo force_5-1 mapflag nomemo ordeal_1-1 mapflag nomemo ordeal_1-2 mapflag nomemo ordeal_1-3 mapflag nomemo ordeal_2-1 mapflag nomemo ordeal_2-2 mapflag nomemo ordeal_2-3 mapflag nomemo ordeal_3-1 mapflag nomemo ordeal_3-2 mapflag nomemo ordeal_3-3 mapflag nomemo pvp_c_room mapflag nomemo quiz_00 mapflag nomemo quiz_01 mapflag nomemo sec_in01 mapflag nomemo sec_in02 mapflag nomemo hunter_1-1 mapflag nomemo hunter_2-1 mapflag nomemo hunter_3-1 mapflag nomemo knight_1-1 mapflag nomemo knight_2-1 mapflag nomemo knight_3-1 mapflag nomemo priest_1-1 mapflag nomemo priest_2-1 mapflag nomemo priest_3-1 mapflag nomemo prt_are_in mapflag nomemo prt_are01 mapflag nomemo wizard_1-1 mapflag nomemo wizard_2-1 mapflag nomemo wizard_3-1 mapflag nomemo // PvP Arenas ================ pvp_y_room mapflag nomemo pvp_y_1-1 mapflag nomemo pvp_y_1-2 mapflag nomemo pvp_y_1-3 mapflag nomemo pvp_y_1-4 mapflag nomemo pvp_y_1-5 mapflag nomemo pvp_y_2-1 mapflag nomemo pvp_y_2-2 mapflag nomemo pvp_y_2-3 mapflag nomemo pvp_y_2-4 mapflag nomemo pvp_y_2-5 mapflag nomemo pvp_y_3-1 mapflag nomemo pvp_y_3-2 mapflag nomemo pvp_y_3-3 mapflag nomemo pvp_y_3-4 mapflag nomemo pvp_y_3-5 mapflag nomemo pvp_y_4-1 mapflag nomemo pvp_y_4-2 mapflag nomemo pvp_y_4-3 mapflag nomemo pvp_y_4-4 mapflag nomemo pvp_y_4-5 mapflag nomemo pvp_y_5-1 mapflag nomemo pvp_y_5-2 mapflag nomemo pvp_y_5-3 mapflag nomemo pvp_y_5-4 mapflag nomemo pvp_y_5-5 mapflag nomemo pvp_y_6-1 mapflag nomemo pvp_y_6-2 mapflag nomemo pvp_y_6-3 mapflag nomemo pvp_y_6-4 mapflag nomemo pvp_y_6-5 mapflag nomemo pvp_y_7-1 mapflag nomemo pvp_y_7-2 mapflag nomemo pvp_y_7-3 mapflag nomemo pvp_y_7-4 mapflag nomemo pvp_y_7-5 mapflag nomemo pvp_y_8-1 mapflag nomemo pvp_y_8-2 mapflag nomemo pvp_y_8-3 mapflag nomemo pvp_y_8-4 mapflag nomemo pvp_y_8-5 mapflag nomemo pvp_n_room mapflag nomemo pvp_n_1-1 mapflag nomemo pvp_n_1-2 mapflag nomemo pvp_n_1-3 mapflag nomemo pvp_n_1-4 mapflag nomemo pvp_n_1-5 mapflag nomemo pvp_n_2-1 mapflag nomemo pvp_n_2-2 mapflag nomemo pvp_n_2-3 mapflag nomemo pvp_n_2-4 mapflag nomemo pvp_n_2-5 mapflag nomemo pvp_n_3-1 mapflag nomemo pvp_n_3-2 mapflag nomemo pvp_n_3-3 mapflag nomemo pvp_n_3-4 mapflag nomemo pvp_n_3-5 mapflag nomemo pvp_n_4-1 mapflag nomemo pvp_n_4-2 mapflag nomemo pvp_n_4-3 mapflag nomemo pvp_n_4-4 mapflag nomemo pvp_n_4-5 mapflag nomemo pvp_n_5-1 mapflag nomemo pvp_n_5-2 mapflag nomemo pvp_n_5-3 mapflag nomemo pvp_n_5-4 mapflag nomemo pvp_n_5-5 mapflag nomemo pvp_n_6-1 mapflag nomemo pvp_n_6-2 mapflag nomemo pvp_n_6-3 mapflag nomemo pvp_n_6-4 mapflag nomemo pvp_n_6-5 mapflag nomemo pvp_n_7-1 mapflag nomemo pvp_n_7-2 mapflag nomemo pvp_n_7-3 mapflag nomemo pvp_n_7-4 mapflag nomemo pvp_n_7-5 mapflag nomemo pvp_n_8-1 mapflag nomemo pvp_n_8-2 mapflag nomemo pvp_n_8-3 mapflag nomemo pvp_n_8-4 mapflag nomemo pvp_n_8-5 mapflag nomemo pvp_2vs2 mapflag nomemo //Aldebaran Turbo Track turbo_room mapflag nomemo turbo_n_1 mapflag nomemo turbo_n_4 mapflag nomemo turbo_n_8 mapflag nomemo turbo_n_16 mapflag nomemo turbo_e_4 mapflag nomemo turbo_e_8 mapflag nomemo turbo_e_16 mapflag nomemo //Monster Races ================ p_track01 mapflag nomemo p_track02 mapflag nomemo // Poring War ==================== poring_w01 mapflag nomemo poring_w02 mapflag nomemo //Vision of Okolnir ========== que_qsch01 mapflag nomemo que_qsch02 mapflag nomemo que_qsch03 mapflag nomemo que_qsch04 mapflag nomemo que_qsch05 mapflag nomemo que_qaru01 mapflag nomemo que_qaru02 mapflag nomemo que_qaru03 mapflag nomemo que_qaru04 mapflag nomemo que_qaru05 mapflag nomemo //Sealed Shrine ================== 1@cata mapflag nomemo 2@cata mapflag nomemo //Endless Tower ================== e_tower mapflag nomemo 1@tower mapflag nomemo 2@tower mapflag nomemo 3@tower mapflag nomemo 4@tower mapflag nomemo 5@tower mapflag nomemo 6@tower mapflag nomemo // Battle Grounds ================ bat_c01 mapflag nomemo bat_c02 mapflag nomemo bat_c03 mapflag nomemo bat_room mapflag nomemo bat_b01 mapflag nomemo bat_b02 mapflag nomemo bat_a01 mapflag nomemo bat_a02 mapflag nomemo // Episode 13 ==================== mid_campin mapflag nomemo man_fild01 mapflag nomemo man_fild03 mapflag nomemo spl_fild02 mapflag nomemo spl_fild03 mapflag nomemo moc_fild22b mapflag nomemo que_dan01 mapflag nomemo que_dan02 mapflag nomemo schg_que01 mapflag nomemo schg_dun01 mapflag nomemo arug_que01 mapflag nomemo arug_dun01 mapflag nomemo nyd_dun01 mapflag nomemo nyd_dun02 mapflag nomemo manuk mapflag nomemo man_fild02 mapflag nomemo man_in01 mapflag nomemo splendide mapflag nomemo spl_fild01 mapflag nomemo spl_in01 mapflag nomemo spl_in02 mapflag nomemo //evt_zombie mapflag nomemo // Bossnia (custom) ============== bossnia_01 mapflag nomemo bossnia_02 mapflag nomemo bossnia_03 mapflag nomemo bossnia_04 mapflag nomemo thanks for helping in advance..
  14. Hi i wouldjust like to know how would i be able to reset and change my script for the rachel sanctuary quest? bcoz the donation was only set to 100k instead of 500m +even people who hasnt done the quest yet was able to get in the sanctuary.. kindly help.. thank you
  15. I want to know how would i be able to buy a bulk bcoz its only letting me buy 1 at a time.. //===== rAthena Script ======================================= //= Euphy's Quest Shop //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.4a //===== Compatible With: ===================================== //= rAthena SVN r15340+ //===== Description: ========================================= //= A dynamic quest shop based on Lunar's, with easier config. //= Includes support for multiple shops & cashpoints. //= Item Preview script by ToastOfDoom. //============================================================ prt_in,33,116,4 script Juice Vendor 564,{ function Add; function Chk; function Slot; function A_An; if(.Shops$ != "") set .@i,1; else { set .@menu$,""; for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) set .@menu$, .@menu$+.Shops$[.@i]+":"; set .@i, select(.@menu$); } dispbottom "Select one item at a time."; callshop "hourshop"+.@i,1; npcshopattach "hourshop"+.@i; end; function Add { if (getitemname(getarg(1))=="null") { debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; return; } for(set .@n,5; .@n<127; set .@n,.@n+2) { if (!getarg(.@n,0)) break; if (getitemname(getarg(.@n))=="null") { debugmes "Quest requirement #"+getarg(.@n)+" invalid (skipped)."; return; } } for(set .@i,2; .@i<.@n; set .@i,.@i+1) set getd(".q_"+getarg(1)+"["+(.@i-2)+"]"), getarg(.@i); npcshopadditem "hourshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0); return; } function Chk { if (getarg(0)<getarg(1)) { set @qe0,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),11)>0) return .@s$+" ["+getitemslots(getarg(0))+"]"; default: return .@s$; } } function A_An { setarray .@A$[0],"a","e","i","o","u"; set .@B$, "_"+getarg(0); for(set .@i,0; .@i<5; set .@i,.@i+1) if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0); return "a "+getarg(0); } OnBuyItem: set .@q[0],@bought_nameid; copyarray .@q[1],getd(".q_"+@bought_nameid+"[0]"),getarraysize(getd(".q_"+@bought_nameid+"[0]")); if (!.@q[1]) { message strcharinfo(0),"An error has occurred."; end; } mes "[Quest Shop]"; mes "Reward: ^0055FF"+((.@q[1]>1)?.@q[1]+"x ":"")+Slot(.@q[0])+"^000000"; mes "Requirements:"; if (.@q[2]) mes " > "+Chk(Zeny,.@q[2])+.@q[2]+" Zeny^000000"; if (.@q[3]) mes " > "+Chk(getd(.Points$[0]),.@q[3])+.@q[3]+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+.@q[3]+")^000000"; if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2) mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1])+((.DisplayID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+.@q[.@i+1]+")^000000"; next; set @qe1, getiteminfo(.@q[0],5); set @qe2, getiteminfo(.@q[0],11); addtimer 1000, strnpcinfo(1)+"::OnEnd"; while(1){ switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((((@qe1&1) || (@qe1&256) || (@qe1&512)) && @qe2>0 && !@qe6)?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) { case 1: if (@qe0) { mes "[Quest Shop]"; mes "You're missing one or more quest requirements."; close; } if (!checkweight(.@q[0],.@q[1])) { mes "[Quest Shop]"; mes "^FF0000You need "+(((.@q[1]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000"; close; } if (.@q[2]) set Zeny, Zeny-.@q[2]; if (.@q[3]) setd .Points$[0], getd(.Points$[0])-.@q[3]; if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2) delitem .@q[.@i],.@q[.@i+1]; getitem .@q[0],.@q[1]; if (.Announce) announce strcharinfo(0)+" has created "+A_An(getitemname(.@q[0]))+"!",0; specialeffect2 699; close; case 2: set @qe3, getlook(3); set @qe4, getlook(4); set @qe5, getlook(5); if (@qe1&1) atcommand "@changelook 3 "+@qe2; if (@qe1&256) atcommand "@changelook 1 "+@qe2; if (@qe1&512) atcommand "@changelook 2 "+@qe2; set @qe6,1; break; case 3: close; } } OnEnd: if (@qe6) { atcommand "@changelook 3 "+@qe3; atcommand "@changelook 1 "+@qe4; atcommand "@changelook 2 "+@qe5; } for(set .@i,0; .@i<7; set .@i,.@i+1) setd "@qe"+.@i,0; end; OnInit: freeloop(1); // --------------------- Config --------------------- // Custom points, if needed: "<variable>","<name to display>" setarray .Points$[0],"#CASHPOINTS","Cash Points"; set .Announce,0; // Announce quest completion? (1: yes / 0: no) set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never) set .DisplayID,0; // Show item IDs? (1: yes / 0: no) set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no) // Shop categories, if needed: "<Shop 1>","<Shop 2>"{,...}; // Duplicate dummy data for any additional shops (bottom of script). // If no categories, use the second line instead (remove //). setarray .Shops$[2],"Juices"; // set .Shops$,"n/a"; // Add(<shop number>,<reward ID>,<reward amount>,<Zeny cost>,<point cost>, // <required item ID>,<required item amount>{,...}); // Shop number corresponds with order above (default is 1). // Note: Do NOT use a reward item more than once! Add(2,531,1,500,0,0,1,2,3,4,5,6,7,8); Add(2,533,1,500,0,0,0,0,0,0,0,0,0,0,0,0,0); Add(2,532,1,500,0,0,0,0,0,0,0,0,0,0); Add(2,620,1,500,0,0,0,0,0,0,0,0,0,0,0); // -------------------------------------------------- freeloop(0); for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) npcshopdelitem "hourshop"+.@i,909; end; } // -------- Dummy data (duplicate as needed) -------- - shop hourshop1 -1,909:-1 - shop hourshop2 -1,909:-1 - shop hourshop3 -1,909:-1
  16. Hi, i was just wondering if someone could take a look on my script because the npc doesn't show himself.. but i dont get errors at all.. - shop Emistry_Shop1 -1,512:100 prontera,102,81,4 script Donate Custom 811,{ // NPC Name set .name$,"[^FF0000 AsaRO Shop ^000000]"; mes .name$; mes "Each Shop Buy Item Using Different Items."; mes "Which shop you like to look at it"; next; select("New Donate Custom Upper:New Donate Custom Mid: New Donate Lower"); callsub CaseCH,@menu; npcshopitem "Emistry_Shop1",512,1; npcshopdelitem "Emistry_Shop1",512; for(set .@i,0; .@i < getarraysize( @ItemLists ); set .@i,.@i+1) npcshopadditem "Emistry_Shop1",@ItemLists[.@i],@ItemPrice[.@i]; mes "Okay...wait awhile"; mes "This Shop use ^FF0000"+getitemname( @Currency )+"^000000 to buy the Items."; close2; callsub CaseCH,@menu; callshop "Emistry_Shop1",1; npcshopattach "Emistry_Shop1"; dispbottom "You currently have "+countitem( @Currency )+" "+getitemname( @Currency )+"."; end; OnBuyItem: callsub CaseCH,@menu; for(set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1) for(set @j,0; @j < getarraysize( @ItemLists ); set @j,@j+1) if( @ItemLists[@j] == @bought_nameid[@i] ) set @TotalCost,@TotalCost + ( @ItemPrice[@j] * @bought_quantity[@i] ); if( countitem( @Currency ) < @TotalCost ){ for( set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1 ){ mes "Item : ^0000FF"+getitemname( @bought_nameid[@i] )+"^000000"; mes "Quantity : ^0000FF"+@bought_quantity[@i]+"^000000"; } mes "^00FF00____________________________^000000"; mes "Total Cost : ^0000FF"+@TotalCost+" x "+getitemname( @Currency )+"^000000"; mes "^00FF00____________________________^000000"; mes "[ ^FF0000X^000000 ] You do not have enough ^0000FF"+getitemname( @Currency )+"^000000 to purchase this."; }else{ for(set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1){ getitem @bought_nameid[@i],@bought_quantity[@i]; message strcharinfo(0),"Purchased "+getitemname( @bought_nameid[@i] ); } delitem @Currency,@TotalCost; mes "Thank you for shopping."; mes "You now have ^FF0000"+countitem( @Currency )+" "+getitemname( @Currency )+"^000000 left."; } set @TotalCost,0; deletearray @bought_nameid[0],getarraysize( @bought_nameid ); deletearray @bought_quantity[0],getarraysize( @bought_quantity ); deletearray @ItemLists[0],getarraysize( @ItemLists ); deletearray @ItemPrice[0],getarraysize( @ItemPrice ); close; CaseCH: deletearray @ItemLists[0],getarraysize( @ItemLists ); deletearray @ItemPrice[0],getarraysize( @ItemPrice ); switch( getarg(0) ){ case 1: // Item Currency set @Currency,7179; // Item ID Lists setarray @ItemLists[0],18730,18729,18726,18725,18723,18721,18718,18717,18714,18715,18713,18709,18708,18707,18705,18706,18701,18699,18695,18696,18694,18693,18692,18691,18681,18680,18673,18672,18669; // Item Price setarray @ItemPrice[0],350,350,350,350,350,350,350,350,350,350,350,350,350,350,350,350,350,350,350,350,350,350,350,350,350,350,350,350,350; return; case 2: // Item Currency set @Currency,7179; // Item ID Lists setarray @ItemLists[0],18720,18711,18682,18676; // Item Price setarray @ItemPrice[0],350,350,350,350; return; case 3: // Item Currency set @Currency,7179; // Item ID Lists setarray @ItemLists[0],18712,18710,18716,18703,18702,18698,18697,18683,18679,18678,18677,18670,18666; // Item Price setarray @ItemPrice[0],350,350,350,350,350,350,350,350,350,350,350,350,350; return; // case 4,5,6.....etc... default: mes "Wrong Selection / Configurations"; close; } }
  17. uhm on the map there are a few errors such as the hatmakerquest due to disabling them >.< but like i stated it was working properly a few days ago and then when i try to change my commands for normal players everything got changed.
  18. Could somebody help with my script.. all of the sudden the freebie npc doesnt talk to me at all nor give freebies even to a new accounts here's my script prontera,150,184,4 script Freebies 790 { OnInit: waitingroom "Freebies",0; end; } if(#sorry == 1) go to L_1; mes "You will receive some present as a reward for joining the server."; mes "We're gladly thankful for your support in the future too."; next; if(checkweight(2504,1) == 0 ) go to L_OverWeight; getitem2 5200,1,1,0,0,0,0,0,0; getitem 1209,1,1,10,0,0,0,0,0; getitem2 14533,10,1,0,0,0,0,0,0; getitem 12210,10,1,0,0,0,0,0,0; getitem 13576,1; getitem 13584,1; getitem 11501,500; getitem 11502,300; getitem 7621,5; getitem 7059,30; getitem 7060,30; rentitem 2137,604800; rentitem 2763,604800; rentitem 2763,604800; rentitem 2548,604800; emotion e_thx; set #sorry,1; close; L_Overweight: mes "Sorry, you are over weight"; emotion e_omg; close; L_1: mes "You had already received before the gift."; emotion e_bzz; close; }
  19. Could somebody help with my script.. all of the sudden the freebie npc doesnt talk to me at all nor give freebies even to a new accounts here's my script prontera,150,184,4 script Freebies 790 { OnInit: waitingroom "Freebies",0; end; } if(#sorry == 1) go to L_1; mes "You will receive some present as a reward for joining the server."; mes "We're gladly thankful for your support in the future too."; next; if(checkweight(2504,1) == 0 ) go to L_OverWeight; getitem2 5200,1,1,0,0,0,0,0,0; getitem 1209,1,1,10,0,0,0,0,0; getitem2 14533,10,1,0,0,0,0,0,0; getitem 12210,10,1,0,0,0,0,0,0; getitem 13576,1; getitem 13584,1; getitem 11501,500; getitem 11502,300; getitem 7621,5; getitem 7059,30; getitem 7060,30; rentitem 2137,604800; rentitem 2763,604800; rentitem 2763,604800; rentitem 2548,604800; emotion e_thx; set #sorry,1; close; L_Overweight: mes "Sorry, you are over weight"; emotion e_omg; close; L_1: mes "You had already received before the gift."; emotion e_bzz; close; }
×
×
  • Create New...