//Made by Lunar//Version 1.6//6.1.09- shop quest_shop3 -1,501:50alexandria,158,179,5 script Lower HG Quest 483,{setarray .setlimit[0],3,5; // Set the item limit here. *Note, make them match the Case/Callsub at the end of this script.if(getgmlevel()==99){mes"[Quest Manager]";mes"^FF0000~Admin Menu~^000000";mes"Would you like to reset";mes"the item limit sir?";switch(select("No, don't:Yes, reset it")){case1:next;mes"[Quest Manager]";mes"It's alright, no rush.";next;break;case2:next;mes"[Quest Manager]";mes"Are you sure you want";mes"the item limit to be ^FF0000reset^000000?";switch(select("No, don't:Yes, reset it")){case1:next;mes"[Quest Manager]";mes"It's alright, no rush.";next;break;case2:next;set .itemlimit1,0;mes"[Donation Manager]";mes"It has been done!";close;}break;}}set .@temp,0;set @i,0;mes"[Quest Manager]";mes"Please select the equipment you want";callshop"quest_shop3",1;npcshopattach"quest_shop3";end;OnBuyItem:if(.BuildQuest){for(set .e,0; !compare(getarg(.e+1)+"","Zeny"); set .e,.e+2){}for(set .@t,0; .@t < getarraysize(.itemlimit)+1; set .@t,.@t +1){if(.setlimit[.@t] < .itemlimit[.@t]){npcshopdelitem"quest_shop3",914,1;set .@temp,.@temp+1;}elsenpcshopadditem"quest_shop3",getarg(.e+2),getarg(.e)*compare(getarg(.e+1)+"","SZeny");}setarray .Shop[.i],getarg(.e+2);set .i,.i+1;goto Quest_Setup;}if(.@temp > getarraysize(.itemlimit))goto L_none;if(.Shop[@i]!=@bought_nameid)for(set @i,1; 1; set @i,@i+1)if(.Shop[@i]==@bought_nameid){set .i,@i; callsub Quest_Setup; }for(set @i,1; !@e; set @i,@i+1)if(.Shop[@i]==@bought_nameid){set @e,1; set .i,@i; callsub Quest_Setup; }mes"[Shop Quest NPC]";mes"I require the following:";for(set @i,0; !compare(getarg(@i+1)+"","Zeny"); set @i,@i+2)mes"^FF0000"+((countitem(getarg(@i))>=getarg(@i+1))? "^00FF00":"")+""+getarg(@i+1)+" "+getitemname(getarg(@i))+" ["+countitem(getarg(@i))+"/"+getarg(@i+1)+"]";if(getarg(@i))mes"^FF0000"+((Zeny>=getarg(@i))? "^00FF00":"")+""+getarg(@i)+" Zeny";mes"^000000In exchange, I will give you:^0000FF";for(set @i,@i+2; getarg(@i+1,0); set @i,@i+2)mesgetarg(@i+1)+" "+getitemname(getarg(@i));switch(select("Exchange:"+(((((getiteminfo(@bought_nameid,5)&1) || (getiteminfo(@bought_nameid,5)&256) || (getiteminfo(@bought_nameid,5)&512))&& @equip==0))? "Preview Item":"")+":No thanks")){case1:for(set @i,0; !compare(getarg(@i+1)+"","Zeny"); set @i,@i+2)if(countitem(getarg(@i)) < getarg(@i+1)){next;mes"You have "+countitem(getarg(@i))+" "+getitemname(getarg(@i))+", while I require "+getarg(@i+1)+".";mes"Please obtain ^FF0000"+(getarg(@i+1)-countitem(getarg(@i)))+" more "+getitemname(getarg(@i))+"^000000.";close;}if(Zeny < getarg(@i)){next;mes"You do not have enough Zeny.";mes"Please obtain ^FF0000"+(getarg(@i)-Zeny)+" more Zeny^000000.";close;}for(set @i,0; !compare(getarg(@i+1)+"","Zeny"); set @i,@i+2)delitemgetarg(@i),getarg(@i+1);setZeny,Zeny-getarg(@i);for(set @i,@i+2; getarg(@i+1,0); set @i,@i+2)getitemgetarg(@i),getarg(@i+1);set .itemlimit[getarg(6)],.itemlimit[getarg(6)]+1;if(compare(getarg(@i,0)+"","announce"))announcestrcharinfo(0)+" has just obtained "+getitemname(@bought_nameid)+"!",bc_all;close;case2:set @bottomview, getlook(3);set @topview, getlook(4);set @midview, getlook(5);addtimer1000, strnpcinfo(3)+"::On_Leave";set @equip,getiteminfo(@bought_nameid, 5);set @view, getiteminfo(@bought_nameid, 11);if(@equip!=-1&& @view > 0){if(@equip&1)atcommand"@changelook 3 "+ @view;if(@equip&256)atcommand"@changelook 1 "+ @view;if(@equip&512)atcommand"@changelook 2 "+ @view;}next;goto OnBuyItem;case3:close;}On_Leave:atcommand"@changelook 1 "+ @topview;atcommand"@changelook 2 "+ @midview;atcommand"@changelook 3 "+ @bottomview;set @equip,0;set @view,0;set @topview,0;set @midview,0;set @bottomview,0;end;L_none:next;mes"[Quest Manager]";mes"Oh I am sorry... ";mes"There seems to be a";mes"shortage of items currently.";next;mes"[Donation Manager]";mes"Please try again later!";close;end;OnInit:npcshopitem"quest_shop3",0,0;npcshopdelitem"quest_shop3",0,0;set .BuildQuest,1;set .i,1; Quest_Setup:switch(.i){default:set .BuildQuest,0; set .e,0; set .i,0; end;case1:callsub OnBuyItem,7227,100,29999,30,0,"zeny",30111,1;case2:callsub OnBuyItem,7227,100,29999,30,0,"zeny",30112,1;case3:callsub OnBuyItem,7227,100,29999,30,0,"zeny",30113,1;case4:callsub OnBuyItem,7227,100,29999,30,0,"zeny",30115,1;case5:callsub OnBuyItem,7227,100,29999,30,0,"zeny",30116,1;case6:callsub OnBuyItem,7227,100,29999,30,0,"zeny",30033,1;case7:callsub OnBuyItem,7227,100,29999,30,0,"zeny",30055,1;}}