tourny,50,37,3 script Quest Shop 485,{
mes "Choose your Quest";
switch (select ("A - J Headgears")) {
Case 1: doevent "Shop1::OnShop"; end;
}
}
// -- ***************************************** F I R S T S H O P **********************************************
- shop quest_shop1 -1,501:50
- script Shop1 -1,{
OnShop:
set @i,0;
mes "[shop Quest NPC]";
mes "Which item do you wish to obtain?";
mes "Select only one.";
callshop "quest_shop1",1;
npcshopattach "quest_shop1";
end;
OnBuyItem:
if(.BuildQuest) {
for(set .e,0; !compare(getarg(.e+1)+"", "Zeny"); set .e,.e+2) {}
npcshopadditem "quest_shop1",getarg(.e+2),0;
setarray .Shop[.i],getarg(.e+2);
set .i,.i+1;
goto Quest_Setup;
}
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); set @i,@i+2) mes getarg(@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")) {
case 1:
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) delitem getarg(@i),getarg(@i+1);
set Zeny,Zeny-getarg(@i);
for(set @i,@i+2; getarg(@i); set @i,@i+2) getitem getarg(@i),getarg(@i+1);
close;
case 2:
set @bottomview, getlook(3);
set @topview, getlook(4);
set @midview, getlook(5);
addtimer 1000, 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;
case 3:
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;
OnInit:
npcshopitem "quest_shop1",0,0;
set .BuildQuest,1;
set .i,1;
Quest_Setup:
switch(.i) {
default: set .BuildQuest,0; set .e,0; set .i,0; end;
case 1: callsub OnBuyItem,2286,1,2254,1,20000,"Zeny",5153,1,0;
case 2: callsub OnBuyItem,7198,200,7079,40,0,"Zeny",5270,1,0;
case 3: callsub OnBuyItem,7445,7,7446,7,7447,7,7448,7,945,300,975,1,733,5,7166,50,0,"Zeny",5174,1,0;
case 4: callsub OnBuyItem,5278,1,508,200,0,"Zeny",5277,1,0;
case 5: callsub OnBuyItem,2213,1,983,1,914,200,10000,"Zeny",5057,1,0;
case 6: callsub OnBuyItem,2227,1,7038,500,0,"Zeny",5076,1,0;
case 7: callsub OnBuyItem,2227,1,7038,500,978,1,0,"Zeny",5236,1,0;
case 8: callsub OnBuyItem,2227,1,7038,500,982,1,983,1,0,"Zeny",5235,1,0;
case 9: callsub OnBuyItem,2227,1,7038,500,975,1,982,1,0,"Zeny",5237,1,0;
case 10: callsub OnBuyItem,969,8,10016,2,5083,1,0,"Zeny",5382,1,0;
case 11: callsub OnBuyItem,624,1,959,300,544,50,1023,1,0,"Zeny",5065,1,0;
case 12: callsub OnBuyItem,2211,1,978,1,7003,300,0,"Zeny",5052,1,0;
case 13: callsub OnBuyItem,604,100,916,100,0,"Zeny",5129,1,0;
case 14: callsub OnBuyItem,7047,100,0,"Zeny",5040,1,0;
case 15: callsub OnBuyItem,1030,10,0,"Zeny",5016,1,0;
case 16: callsub OnBuyItem,2208,1,983,1,0,"Zeny",5191,1,0;
case 17: callsub OnBuyItem,2233,1,746,20,0,"Zeny",5034,1,0;
case 18: callsub OnBuyItem,5016,1,981,1,7317,20,0,"Zeny",5200,1,0;
case 19: callsub OnBuyItem,5120,5,995,50,983,1,720,50,0,"Zeny",5184,1,0;
case 20: callsub OnBuyItem,2284,1,5019,1,975,1,0,"Zeny",5359,1,0;
}
}