Jump to content
  • 0

Dynamic Quest NPC


Landb4Time

Question


  • Group:  Members
  • Topic Count:  32
  • Topics Per Day:  0.01
  • Content Count:  76
  • Reputation:   0
  • Joined:  01/16/12
  • Last Seen:  

I forgot who made this Script , but i deleted the SHOP 2 and SHOP 3 menu .

I wanted to add it back on Menu and functions.

http://pastebin.com/VVHw20Kr

Link to comment
Share on other sites

3 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  32
  • Topics Per Day:  0.01
  • Content Count:  76
  • Reputation:   0
  • Joined:  01/16/12
  • Last Seen:  

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;










   }
}

Edited by AnnieRuru
use [codebox] if the script > 10 lines
Link to comment
Share on other sites


  • Group:  Developer
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  2407
  • Reputation:   613
  • Joined:  07/05/12
  • Last Seen:  

/bo

Unoptimized :

prontera,150,137,3    script    Quest Shop    485,{
   mes "Choose your Quest";
   switch (select ("A - J Headgears", "blabla 2", "blabla 3")) {
       Case 1:    doevent "Shop1::OnShop";    end;
       Case 2:    doevent "Shop2::OnShop";    end;
       Case 3:    doevent "Shop3::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;
   }
}


// -- ***************************************** 2nd    S H O P **********************************************

-    shop    quest_shop2    -1,501:50
-    script    Shop2    -1,{
OnShop:
   set @i,0;
   mes "[shop Quest NPC]";
   mes "Which item do you wish to obtain?";
   mes "Select only one.";
   callshop "quest_shop2",1;
   npcshopattach "quest_shop2";
   end;

OnBuyItem:
   if(.BuildQuest) {
       for(set .e,0; !compare(getarg(.e+1)+"", "Zeny"); set .e,.e+2) {}
       npcshopadditem "quest_shop2",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_shop2",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;
   }
}


// -- ***************************************** 3rd   S H O P **********************************************

-    shop    quest_shop3    -1,501:50
-    script    Shop3    -1,{
OnShop:
   set @i,0;
   mes "[shop Quest NPC]";
   mes "Which item do you wish to obtain?";
   mes "Select only one.";
   callshop "quest_shop3",1;
   npcshopattach "quest_shop3";
   end;

OnBuyItem:
   if(.BuildQuest) {
       for(set .e,0; !compare(getarg(.e+1)+"", "Zeny"); set .e,.e+2) {}
       npcshopadditem "quest_shop3",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_shop3",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;
   }
}

I suggest you to use Euphy's Quest Shop which is based on Lunar's Shop (your shop), who is very simple and more optimized.

Euphy's script

http://pastebin.com/raw.php?i=G7pt6HR7

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  32
  • Topics Per Day:  0.01
  • Content Count:  76
  • Reputation:   0
  • Joined:  01/16/12
  • Last Seen:  

thx and sorry annie

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...