Advertisement
Guest User

Untitled

a guest
Sep 25th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.24 KB | None | 0 0
  1. - shop game_ticket -1,501:50
  2. job3_war01,27,18,2 script Game Ticket Trader 959,{
  3. set @i,0;
  4. mes "[Game Ticket Trader]";
  5. mes "Which item do you wish to obtain?";
  6. mes "Select only one.";
  7. callshop "game_ticket",1;
  8. npcshopattach "game_ticket";
  9. end;
  10.  
  11. OnBuyItem:
  12. if(.BuildQuest) {
  13. for(set .e,0; !compare(getarg(.e+1),"Zeny"); set .e,.e+2) {}
  14. npcshopadditem "game_ticket",getarg(.e+2),getarg(.e)*compare(getarg(.e+1),"SZeny");
  15. setarray .Shop[.i],getarg(.e+2);
  16. set .i,.i+1;
  17. goto Quest_Setup;
  18. }
  19. 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; }
  20. for(set @i,1; !@e; set @i,@i+1) if(.Shop[@i]==@bought_nameid) { set @e,1; set .i,@i; callsub Quest_Setup; }
  21. mes "[Game Ticket Trader]";
  22. mes "I require the following:";
  23. 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) + "]";
  24. if(getarg(@i)) mes "^FF0000" + ((Zeny>=getarg(@i))? "^00FF00":"") + "" + getarg(@i) + " Zeny";
  25. mes "^000000In exchange, I will give you:^0000FF";
  26. for(set @i,@i+2; getarg(@i+1,0); set @i,@i+2) mes getarg(@i+1) + " " + getitemname(getarg(@i));
  27. switch(select("Exchange:" + (((((getiteminfo(@bought_nameid,5) & 1) || (getiteminfo(@bought_nameid,5) & 256) || (getiteminfo(@bought_nameid,5) & 512)) && @equip==0))? "Preview Item":"") + ":No thanks")) {
  28. case 1:
  29. for(set @i,0; !compare(getarg(@i+1),"Zeny"); set @i,@i+2) if(countitem(getarg(@i)) < getarg(@i+1)) {
  30. next;
  31. mes "You have " + countitem(getarg(@i)) + " " + getitemname(getarg(@i)) + ", while I require " + getarg(@i+1) + ".";
  32. mes "Please obtain ^FF0000" + (getarg(@i+1)-countitem(getarg(@i))) + " more " + getitemname(getarg(@i)) + "^000000.";
  33. close;
  34. }
  35. if(Zeny < getarg(@i)) {
  36. next;
  37. mes "You do not have enough Zeny.";
  38. mes "Please obtain ^FF0000" + (getarg(@i)-Zeny) + " more Zeny^000000.";
  39. close;
  40. }
  41. for(set @i,0; !compare(getarg(@i+1),"Zeny"); set @i,@i+2) delitem getarg(@i),getarg(@i+1);
  42. set Zeny,Zeny-getarg(@i);
  43. for(set @i,@i+2; getarg(@i+1,0); set @i,@i+2) getitem getarg(@i),getarg(@i+1);
  44. if (compare(getarg(@i,0),"announce")) announce strcharinfo(0) + " has just obtained " + getitemname(@bought_nameid) + "!",bc_all;
  45. close;
  46. case 2:
  47. set @bottomview, getlook(3);
  48. set @topview, getlook(4);
  49. set @midview, getlook(5);
  50. addtimer 1000, strnpcinfo(3)+"::On_Leave";
  51. set @equip,getiteminfo(@bought_nameid, 5);
  52. set @view, getiteminfo(@bought_nameid, 11);
  53. if(@equip != -1 && @view > 0) {
  54. if(@equip & 1) atcommand "@changelook 3 " + @view;
  55. if(@equip & 256) atcommand "@changelook 1 " + @view;
  56. if(@equip & 512) atcommand "@changelook 2 " + @view;
  57. }
  58. next;
  59. goto OnBuyItem;
  60. case 3:
  61. close;
  62. }
  63. On_Leave:
  64. atcommand "@changelook 1 " + @topview;
  65. atcommand "@changelook 2 " + @midview;
  66. atcommand "@changelook 3 " + @bottomview;
  67. set @equip,0;
  68. set @view,0;
  69. set @topview,0;
  70. set @midview,0;
  71. set @bottomview,0;
  72. end;
  73. OnInit:
  74. waitingroom "Game Ticket Trader",0; // Look on the configuration!
  75. npcshopitem "game_ticket",0,0;
  76. set .BuildQuest,1;
  77. set .i,1;
  78. Quest_Setup:
  79. switch(.i) {
  80. default: set .BuildQuest,0; set .e,0; set .i,0; end;
  81. case 1: callsub OnBuyItem,7086,5,7078,5,7830,5,6405,30,12736,100,6087,150,6088,150,1,"SZeny",5471,1;
  82. case 2: callsub OnBuyItem,7078,3,7831,5,7510,5,6023,200,6090,300,720,100,1059,100,1,"SZeny",5256,1;
  83. case 3: callsub OnBuyItem,7086,3,7833,5,7023,30,779,300,7315,100,7798,300,7511,300,1,"SZeny",5373,1;
  84. case 4: callsub OnBuyItem,7830,3,7087,5,969,50,6394,300,7507,300,7053,200,954,100,1,"SZeny",5179,1;
  85. case 5: callsub OnBuyItem,2269,1,748,100,905,150,7298,150,1,"SZeny",5548,1;
  86. case 6: callsub OnBuyItem,4007,50,4031,50,4161,50,2286,1,1,"SZeny",5358,1;
  87. case 7: callsub OnBuyItem,7163,300,4079,100,7020,10,7563,500,1,"SZeny",5567,1;
  88. case 8: callsub OnBuyItem,4138,200,5053,1,7152,500,7289,30,1,"SZeny",5490,1;
  89. case 9: callsub OnBuyItem,7017,50,7022,3,625,100,2259,1,935,500,999,30,1,"SZeny",5226,1;
  90. case 10: callsub OnBuyItem,7063,300,7442,300,710,100,7294,10,1,"SZeny",5225,1;
  91.  
  92.  
  93. }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement