cashmall.txt 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331
  1. //===== rAthena Script =======================================
  2. //= Cash Mall
  3. //===== Changelogs: ==========================================
  4. //= 1.0 Initial version from replays. [Lemongrass]
  5. //= 1.1 Cash Hair Stylist [Kisuka]
  6. //= 1.2 Updated Hair Stylist [Lemongrass]
  7. //============================================================
  8. prontera,137,125,4 script Cash Sales Guide#prontera::cashmall_warper 4_M_HUMAN_02,{
  9. mes "[Guide]";
  10. mes "Hello~";
  11. mes "This guide wants to be the one to take you to a special place.";
  12. mes "What kind of place is that?";
  13. next;
  14. mes "[Guide]";
  15. mes "It's a place full of mysterious items to collect and sell.";
  16. mes "To buy stuff there you need special money.";
  17. next;
  18. mes "[Guide]";
  19. mes "So, are you ready to go there?";
  20. next;
  21. if (select( "Yes", "No" ) == 2) {
  22. mes "[Guide]";
  23. mes "Okay~";
  24. mes "But don't get frustrated.";
  25. mes "There's always more chances~";
  26. close;
  27. }
  28. mes "[Guide]";
  29. mes "Yeah~ You're really ready.";
  30. mes "Well then, get some good stuff~";
  31. mes "Oops, I forgot. When you come out be sure to come back here.";
  32. mes "Rember this~";
  33. close2;
  34. setarray .@maparray$[0], "prontera", "morocc", "moc_ruins", "geffen", "payon", "lighthalzen", "rachel";
  35. .@return = inarray(.@maparray$[0], strcharinfo(3));
  36. if (.@return > 0)
  37. cashmall_return = .@return;
  38. else // Default to Prontera if not found
  39. cashmall_return = 0;
  40. warp "itemmall",22,43;
  41. end;
  42. }
  43. morocc,164,39,4 duplicate(cashmall_warper) Cash Sales Guide#morocc 4_M_HUMAN_02
  44. moc_ruins,115,143,4 duplicate(cashmall_warper) Cash Sales Guide#moc_ruins 4_M_HUMAN_02
  45. geffen,115,168,4 duplicate(cashmall_warper) Cash Sales Guide#geffen 4_M_HUMAN_02
  46. payon,164,157,4 duplicate(cashmall_warper) Cash Sales Guide#payon 4_M_HUMAN_02
  47. lighthalzen,206,144,4 duplicate(cashmall_warper) Cash Sales Guide#lighthalzen 4_M_HUMAN_02
  48. rachel,128,144,4 duplicate(cashmall_warper) Cash Sales Guide#rachel 4_M_HUMAN_02
  49. itemmall,21,45,4 script Exit Guide#cashmall_exit 4_M_HUMAN_02,{
  50. mes "[Guide]";
  51. mes "Have you had a good time?";
  52. mes "Thank you very much for using our item mall.";
  53. mes "We will continue to bring you valuable items.";
  54. next;
  55. mes "[Guide]";
  56. mes "Would you like to return from where you came from?";
  57. next;
  58. if (select( "Yes", "No" ) == 2) {
  59. mes "[Guide]";
  60. mes "There are still more things to see.";
  61. mes "Have a good time.";
  62. close;
  63. }
  64. mes "[Guide]";
  65. mes "Thank you for coming.";
  66. mes "I'll send you back from where you came from.";
  67. close2;
  68. switch(cashmall_return) {
  69. default:
  70. case 0:
  71. .@returnmap$ = "prontera";
  72. setarray .@xy[0],116,72;
  73. break;
  74. case 1:
  75. .@returnmap$ = "morocc";
  76. setarray .@xy[0],159,46;
  77. break;
  78. case 2:
  79. .@returnmap$ = "moc_ruins";
  80. setarray .@xy[0],109,137;
  81. break;
  82. case 3:
  83. .@returnmap$ = "geffen";
  84. setarray .@xy[0],120,38;
  85. break;
  86. case 4:
  87. .@returnmap$ = "payon";
  88. setarray .@xy[0],161,58;
  89. break;
  90. case 5:
  91. .@returnmap$ = "lighthalzen";
  92. setarray .@xy[0],159,95;
  93. break;
  94. case 6:
  95. .@returnmap$ = "rachel";
  96. setarray .@xy[0],115,125;
  97. break;
  98. }
  99. cashmall_return = 0;
  100. warp .@returnmap$,.@xy[0],.@xy[1];
  101. end;
  102. }
  103. itemmall,41,53,3 script Cat Hand Salesman Macaroon#cashmall 4_M_MERCAT1,{
  104. mes "[Macaroon]";
  105. mes "Welcome!";
  106. mes "Today doesn't come every day!";
  107. mes "Things to see today~ Voila!";
  108. mes "You can only exchange with <ITEM>[[Kachua] Mileage Coupon]<INFO>1000274</INFO></ITEM>!";
  109. mes "Feel free to choose!";
  110. next;
  111. switch( select( "3-1st Job Group Skill Shadow", "3-2nd Job Group Skill Shadow", "Extended Job Group Skill Shadow", "General Shadow by Occupation", "Shadow Cube", "Smelting, Modification, Useful Items", "Drop Box", "Spellbook" ) ){
  112. case 1:
  113. mes "[Macaroon]";
  114. mes "^FF00663-1st Job Group Skill Shadow^000000 you say!";
  115. mes "Here they are!";
  116. close2;
  117. callshop "CachuaCoupon01";
  118. end;
  119. case 2:
  120. mes "[Macaroon]";
  121. mes "^FF00663-2nd Job Group Skill Shadow^000000 you say!";
  122. mes "Here they are!";
  123. close2;
  124. callshop "CachuaCoupon02";
  125. end;
  126. case 3:
  127. mes "[Macaroon]";
  128. mes "^FF0066Extended Job Group Skill Shadow^000000 you say!";
  129. mes "Here they are!";
  130. close2;
  131. callshop "CachuaCoupon03";
  132. end;
  133. case 4:
  134. mes "[Macaroon]";
  135. mes "^FF0066General Shadow by Occupation^000000 you say!";
  136. mes "Here they are!";
  137. close2;
  138. callshop "CachuaCoupon04";
  139. end;
  140. case 5:
  141. mes "[Macaroon]";
  142. mes "^FF0066Shadow Cube^000000 you say!";
  143. mes "Here they are!";
  144. close2;
  145. callshop "CachuaCoupon05";
  146. end;
  147. case 6:
  148. mes "[Macaroon]";
  149. mes "^FF0066Smelting, Modification, Useful Items^000000 you say!";
  150. mes "Here they are!";
  151. close2;
  152. callshop "CachuaCoupon06";
  153. end;
  154. case 7:
  155. mes "[Macaroon]";
  156. mes "^FF0066Drop Box^000000 you say!";
  157. mes "Here they are!";
  158. close2;
  159. callshop "CachuaCoupon07";
  160. end;
  161. case 8:
  162. mes "[Macaroon]";
  163. mes "^FF0066Spellbook^000000 you say!";
  164. mes "Here they are!";
  165. close2;
  166. callshop "CachuaCoupon08";
  167. end;
  168. }
  169. }
  170. itemmall,24,77,4 script Blacksmith Basta#pr 4_M_DWARF,{
  171. if( !getbattleflag( "feature.refineui" ) ){
  172. end;
  173. }
  174. mes "[Blacksmith Basta]";
  175. mes "I have taken over the work of Mighty Hammer, Brock and the Shadow Blacksmith. I will be busy from now on.";
  176. close2;
  177. refineui();
  178. end;
  179. }
  180. itemmall,27,77,4 script Mighty Hammer#im 4_M_DWARF,{
  181. mes "[Blacksmith Mighty Hammer]";
  182. mes "If it is about refining, ask Basta. I am retired.";
  183. close;
  184. }
  185. itemmall,24,74,5 script Blacksmith Brock#im 4_M_HUMAN_01,{
  186. mes "[Blacksmith Brock]";
  187. mes "I am retired now. If it is about refining, make a request to Basta over there.";
  188. close;
  189. }
  190. itemmall,19,74,5 script Stylist#cash 91,{
  191. if( getbattleflag( "feature.stylist" ) ){
  192. mes "[Jeremy]";
  193. mes "Hello cutie~";
  194. mes "I would like you to call me Head Stylist Jeremy.";
  195. next;
  196. if( select( "Change style:End conversation" ) == 2 ){
  197. mes "[Jeremy]";
  198. mes "My shop is always open, so please come back anytime.";
  199. close;
  200. }
  201. close2;
  202. openstylist();
  203. end;
  204. }
  205. mes "[Stylist]";
  206. mes "Hey, I'm Kaniki.";
  207. mes "I'm here to start a new";
  208. mes "trend by introducing my";
  209. mes "special new hairstyles!";
  210. mes "Give me a ^FF0000New Style Coupon^000000,";
  211. mes "and I'll change your hair~";
  212. next;
  213. if (Sex == SEX_MALE) {
  214. mes "[Kaniki]";
  215. mes "I have two special";
  216. mes "hairstyles for men, the";
  217. mes "Emergency Heal Perm";
  218. mes "and the Aura Blade Cut.";
  219. mes "and aura blade cut.";
  220. next;
  221. cutin "hair_m_24.bmp",4;
  222. mes "[Kaniki]";
  223. mes "This is the Emergency";
  224. mes "Heal Perm. It's a brand";
  225. mes "new style I invented recently.";
  226. mes "What do you think? Cool, huh?";
  227. next;
  228. cutin "",255;
  229. cutin "hair_m_25.bmp",4;
  230. mes "[Kaniki]";
  231. mes "Now this is the Aura";
  232. mes "Blade Cut. You haven't";
  233. mes "seen anything like it";
  234. mes "before, haven't you?";
  235. next;
  236. cutin "",255;
  237. }else{
  238. mes "[Kaniki]";
  239. mes "I have two new hairstyles for";
  240. mes "women, the Assumptio Perm";
  241. mes "and the Soul Changer Cut.";
  242. mes "Do you want to see how";
  243. mes "these styles look?";
  244. next;
  245. cutin "hair_f_24.bmp",4;
  246. mes "[Kaniki]";
  247. mes "This is the Assumptio";
  248. mes "Perm. It'd really good";
  249. mes "on you, wouldn't it?";
  250. next;
  251. cutin "",255;
  252. cutin "hair_f_25.bmp",4;
  253. mes "[Kaniki]";
  254. mes "Next is the Soul";
  255. mes "Changer Cut. What do";
  256. mes "you think? Isn't it nice?";
  257. next;
  258. cutin "",255;
  259. }
  260. mes "[Kaniki]";
  261. mes "Have you decided";
  262. mes "if you'd like me to";
  263. mes "change your hairstyle?";
  264. next;
  265. if (select( "Change Hairstyle", "Don't Change" ) == 2) {
  266. mes "[Kaniki]";
  267. mes "Really? Oh, that's too bad.";
  268. mes "Well, if you ever change your";
  269. mes "mind about updating your";
  270. mes "hairstyle, come back";
  271. mes "and let me know, okay?";
  272. close;
  273. }
  274. if (countitem(7622) < 1) {
  275. mes "[Kaniki]";
  276. mes "I'm sorry, but I can";
  277. mes "only provide my hairstyling";
  278. mes "service if you bring a New";
  279. mes "Style Coupon. Please come";
  280. mes "back to me after you manage to";
  281. mes "get one of those coupons, okay?";
  282. close;
  283. }
  284. mes "[Kaniki]";
  285. mes "Great, you brought";
  286. mes "a New Style Coupon!";
  287. mes "Alright, which hairstyle";
  288. mes "did you want to have?";
  289. next;
  290. if (Sex == SEX_MALE) {
  291. if(select("Emergency Heal Perm", "Aura Blade Cut") == 1) {
  292. delitem 7622,1; // New_Style_Coupon
  293. setlook 1,24;
  294. }else{
  295. delitem 7622,1; // New_Style_Coupon
  296. setlook 1,25;
  297. }
  298. }else{
  299. if(select("Assumptio Perm", "Soul Changer Cut") == 1) {
  300. delitem 7622,1; // New_Style_Coupon
  301. setlook 1,24;
  302. }else{
  303. delitem 7622,1; // New_Style_Coupon
  304. setlook 1,25;
  305. }
  306. }
  307. mes "[Kaniki]";
  308. mes "There--! It's done!";
  309. mes "How do you like your";
  310. mes "new hair? Well, I hope";
  311. mes "to see you again. Take care!";
  312. close;
  313. }