Advertisement
hendra814

Equipment Trader

Jan 26th, 2018
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.82 KB | None | 0 0
  1. prontera,155,183,4 script Equipment Trader 90,{
  2. mes "[Equipment Trader]";
  3. mes "Hi, "+strcharinfo(0)+"!";
  4. mes "What can I do for you?";
  5. next;
  6. switch(select(" > Information: > Trade in Equipments: > Point shop (^0055FF"+getd(.Points$)+"^000000): > Leave")) {
  7. case 1:
  8. mes "[Equipment Trader]";
  9. mes "Do you find that you've got";
  10. mes "useless Equipments lying around?";
  11. mes "I'll be glad to take them off";
  12. mes "your hands!";
  13. next;
  14. mes "[Equipment Trader]";
  15. mes "I'll give you ^0055FF"+.Points[0]+" Point"+((.Points[0] == 1)?"":"s")+"^000000 for each";
  16. mes "Equipment you give me, and";
  17. mes "^0055FF"+.Points[1]+" Points^000000 for MVP Equipments.";
  18. mes "You can trade those points";
  19. mes "for items later on.";
  20. mes "How does that sound?";
  21. emotion ET_MONEY;
  22. close;
  23. case 2:
  24. mes "[Equipment Trader]";
  25. mes "Select the Equipments you";
  26. mes "want to trade in.";
  27. if (.Level) {
  28. mes " ";
  29. mes "They must be dropped";
  30. mes "by monsters of level";
  31. mes .Level+" and above.";
  32. }
  33. deletearray @sold_nameid[0],getarraysize(@sold_nameid);
  34. callshop "Equipment_shop",2;
  35. npcshopattach "Equipment_shop";
  36. end;
  37. case 3:
  38. mes "[Equipment Trader]";
  39. mes "You have ^0055FF"+getd(.Points$)+"^000000 Point"+((getd(.Points$) == 1)?".":"s.");
  40. callshop "Equipment_shop",1;
  41. npcshopattach "Equipment_shop";
  42. end;
  43. case 4:
  44. mes "[Equipment Trader]";
  45. mes "*yawn*";
  46. mes "See you later!";
  47. emotion ET_SLEEPY;
  48. close;
  49. }
  50.  
  51. OnSellItem:
  52. mes "Equipments to sell:";
  53. mes "-----------------------------------";
  54. for(set .@i,0; .@i<getarraysize(@sold_nameid); set .@i,.@i+1)
  55. if (@sold_nameid[.@i] > 2100 && @sold_nameid[.@i] < 4000 | @sold_nameid[.@i] > 4700 && @sold_nameid[.@i] < 32000) {
  56. if (.Level) {
  57. query_sql("SELECT `type` FROM `item_db_re` WHERE `ID` = "+@sold_nameid[.@i],.@lv);
  58. if (.@lv < .Level) {
  59. dispbottom getitemname(@sold_nameid[.@i])+" is under the minimum level.";
  60. continue;
  61. }
  62. }
  63. set .@Equipment_id[getarraysize(.@Equipment_id)], @sold_nameid[.@i];
  64. set .@Equipment_amt[getarraysize(.@Equipment_amt)], @sold_quantity[.@i];
  65. //set .@mvp, compare(.MVP$,""+@sold_nameid[.@i]);
  66. //mes ((.@mvp)?" ^FF0000":" ^777777")+@sold_quantity[.@i]+"x "+getitemname(@sold_nameid[.@i])+"^000000";
  67. set .@Equipment_total, .@Equipment_total+(@sold_quantity[.@i]*((.@mvp)?.Points[1]:.Points[0]));
  68. }
  69. deletearray @sold_nameid[0], getarraysize(@sold_nameid);
  70. deletearray @sold_quantity[0], getarraysize(@sold_quantity);
  71. if (!.@Equipment_id) {
  72. mes " ^777777(none)^000000";
  73. emotion ET_SWEAT;
  74. close;
  75. }
  76. mes " ";
  77. mes "---------- Total: ^0055FF"+.@Equipment_total+" pt.^000000 -------";
  78. next;
  79. if(select(" > ^0055FFComplete trade...^000000: > ^777777Cancel^000000") == 2) {
  80. mes "[Equipment Trader]";
  81. mes "Oh, okay...";
  82. emotion ET_SCRATCH;
  83. close;
  84. }
  85. for(set .@i,0; .@i<getarraysize(.@Equipment_id); set .@i,.@i+1)
  86. delitem .@Equipment_id[.@i],.@Equipment_amt[.@i];
  87. setd .Points$, getd(.Points$)+.@Equipment_total;
  88. mes "[Equipment Trader]";
  89. mes "All done!";
  90. emotion ET_DELIGHT;
  91. close;
  92.  
  93. OnBuyItem:
  94. for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1)
  95. for(set .@j,0; .@j<getarraysize(.Shop); set .@j,.@j+2)
  96. if (@bought_nameid[.@i] == .Shop[.@j]) {
  97. set .@cost, .@cost+(.Shop[.@j+1]*@bought_quantity[.@i]);
  98. break;
  99. }
  100. if (.@cost > getd(.Points$)) {
  101. mes "[Equipment Trader]";
  102. mes "You don't have enough Points.";
  103. emotion ET_HUK;
  104. }
  105. else {
  106. mes "Items purchased:";
  107. mes "-----------------------------------";
  108. for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1) {
  109. getitem @bought_nameid[.@i], @bought_quantity[.@i];
  110. mes " ^777777"+@bought_quantity[.@i]+"x "+getitemname(@bought_nameid[.@i])+"^000000";
  111. }
  112. mes " ";
  113. mes "---------- Total: ^0055FF"+.@cost+" pt.^000000 -------";
  114. setd .Points$, getd(.Points$)-.@cost;
  115. emotion ET_MONEY;
  116. }
  117. deletearray @bought_nameid[0], getarraysize(@bought_nameid);
  118. deletearray @bought_quantity[0], getarraysize(@bought_quantity);
  119. close;
  120.  
  121. OnInit:
  122. set .Level,0; // Minimum monster level to trade corresponding Equipments.
  123. set .Points$,"#Equipment_Points"; // Variable to store points.
  124. setarray .Shop[0], // Equipment Shop items: <ID>,<point cost>
  125. 985,1,12997,4,13889,8,7619,20,13610,90,12920,150,6241,5,16396,40;
  126. setarray .Points[0],1,100; // Points per <normal Equipment>,<MVP Equipment>
  127. set .MVP$, // List of MVP Equipments.
  128. "4121,4123,4128,4131,4132,4134,4135,4137,4142,4143,4144,4145,4146,4147,4148,4168,4236,"+
  129. "4241,4263,4276,4302,4305,4318,4324,4330,4342,4357,4359,4361,4363,4365,4399,4403,4407";
  130.  
  131. npcshopdelitem "Equipment_shop",909;
  132. for(set .@i,0; .@i<getarraysize(.Shop); set .@i,.@i+2)
  133. npcshopadditem "Equipment_shop",.Shop[.@i],.Shop[.@i+1];
  134. end;
  135. }
  136. - shop Equipment_shop -1,909:-1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement