hugel_bingo.txt 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970
  1. //===== rAthena Script =======================================
  2. //= Hugel Bingo script
  3. //===== By: ==================================================
  4. //= SinSloth
  5. //===== Current Version: =====================================
  6. //= 1.9
  7. //===== Compatible With: =====================================
  8. //= rAthena Project
  9. //===== Description: =========================================
  10. //= Hugel Bingo game
  11. //===== Additional Comments: =================================
  12. //= 1.0 First version. Please report bugs you find out. [SinSloth]
  13. //= 1.1 Fixed a minor bug. [SinSloth]
  14. //= 1.2 Added some Bingo Staff NPCs. [SinSloth]
  15. //= 1.3 Fixed a bug where an AFK-player wasn't warped out of the game,
  16. //= preventing players from launching another. [SinSloth]
  17. //= 1.4 Fixed a minor bug added in the last revision. [SinSloth]
  18. //= 1.5 Applied a fix to players locations which were not rotating properly. [SinSloth]
  19. //= 1.6 Removed nescesity to win to proceed with quest [Yommy]
  20. //= 1.7 Replaced effect numerics with constants. [Samuray22]
  21. //= 1.8 Updated 'waitingroom' to support required zeny/lvl. [Kisuka]
  22. //= 1.9 Some optimization/standardization. [Euphy]
  23. //============================================================
  24. que_bingo,48,84,5 script Bingo Waiting Room 124,{
  25. end;
  26. OnInit:
  27. waitingroom "Bingo Waiting Room - 5 People",50,"Bingo Waiting Room::OnWarp",5,1000;
  28. end;
  29. OnWarp:
  30. warpwaitingpc "que_bingo",46,141;
  31. donpcevent "start#bingo::OnStart";
  32. enablenpc "plate1#bingo";
  33. enablenpc "plate2#bingo";
  34. enablenpc "plate3#bingo";
  35. enablenpc "plate4#bingo";
  36. enablenpc "plate5#bingo";
  37. disablewaitingroomevent;
  38. end;
  39. OnStart:
  40. enablewaitingroomevent;
  41. end;
  42. }
  43. que_bingo,49,125,0 script plate1#bingo 139,1,1,{
  44. OnInit:
  45. disablenpc "plate1#bingo";
  46. disablenpc "plate2#bingo";
  47. disablenpc "plate3#bingo";
  48. disablenpc "plate4#bingo";
  49. disablenpc "plate5#bingo";
  50. end;
  51. OnTouch:
  52. set @bingo_a1$,0;
  53. set @bingo_a2$,0;
  54. set @bingo_a3$,0;
  55. set @bingo_a4$,0;
  56. set @bingo_a5$,0;
  57. set @bingo_b1$,0;
  58. set @bingo_b2$,0;
  59. set @bingo_b3$,0;
  60. set @bingo_b4$,0;
  61. set @bingo_b5$,0;
  62. set @bingo_c1$,0;
  63. set @bingo_c2$,0;
  64. set @bingo_c3$,0;
  65. set @bingo_c4$,0;
  66. set @bingo_c5$,0;
  67. set @bingo_d1$,0;
  68. set @bingo_d2$,0;
  69. set @bingo_d3$,0;
  70. set @bingo_d4$,0;
  71. set @bingo_d5$,0;
  72. set @bingo_e1$,0;
  73. set @bingo_e2$,0;
  74. set @bingo_e3$,0;
  75. set @bingo_e4$,0;
  76. set @bingo_e5$,0;
  77. set @bingo_case,1;
  78. L_Fill:
  79. set @bingo_fill,callfunc("Func_Bingo",@bingo_case);
  80. if (!@bingo_fill) {
  81. mes "The numbers you have entered";
  82. mes "exceed the limit, or you have";
  83. mes "already entered these numbers.";
  84. mes "Please enter your numbers again.";
  85. next;
  86. } else if (@bingo_fill) {
  87. if(@bingoplate[25] < 10) set @bingo_e5$,"0"+@bingoplate[25]+""; else set @bingo_e5$,@bingoplate[25];
  88. donpcevent "start#bingo::OnEnter";
  89. mes "["+@bingo_a1$+"] ["+@bingo_a2$+"] ["+@bingo_a3$+"] ["+@bingo_a4$+"] ["+@bingo_a5$+"]";
  90. mes "["+@bingo_b1$+"] ["+@bingo_b2$+"] ["+@bingo_b3$+"] ["+@bingo_b4$+"] ["+@bingo_b5$+"]";
  91. mes "["+@bingo_c1$+"] ["+@bingo_c2$+"] ["+@bingo_c3$+"] ["+@bingo_c4$+"] ["+@bingo_c5$+"]";
  92. mes "["+@bingo_d1$+"] ["+@bingo_d2$+"] ["+@bingo_d3$+"] ["+@bingo_d4$+"] ["+@bingo_d5$+"]";
  93. mes "["+@bingo_e1$+"] ["+@bingo_e2$+"] ["+@bingo_e3$+"] ["+@bingo_e4$+"] ["+@bingo_e5$+"]";
  94. close;
  95. }
  96. goto L_Fill;
  97. }
  98. que_bingo,53,121,0 duplicate(plate1#bingo) plate2#bingo 139,1,1
  99. que_bingo,51,116,0 duplicate(plate1#bingo) plate3#bingo 139,1,1
  100. que_bingo,46,116,0 duplicate(plate1#bingo) plate4#bingo 139,1,1
  101. que_bingo,45,121,0 duplicate(plate1#bingo) plate5#bingo 139,1,1
  102. que_bingo,51,51,0 script start#bingo 139,{
  103. OnStart:
  104. initnpctimer;
  105. end;
  106. OnEnter:
  107. if ($@hu_bingoa == 4) {
  108. set $@hu_bingoa,5;
  109. donpcevent "start2#bingo::OnStart";
  110. stopnpctimer;
  111. end;
  112. }
  113. set $@hu_bingoa,$@hu_bingoa +1;
  114. end;
  115. OnTimer1000:
  116. mapannounce "que_bingo","Eukran: Hello, everyone! I'm Eukran, your Bingo Guide~",1,0xFFAB54;
  117. end;
  118. OnTimer6000:
  119. mapannounce "que_bingo","Eukran: Game participants, please enter the Warp Portal at the bottom of your screen and choose a Bingo Plate by entering a number.",1,0xFFAB54;
  120. end;
  121. OnTimer11000:
  122. mapannounce "que_bingo","Eukran: All participants must choose their Bingo Plates within 3 minutes, or the game will be canceled.",1,0xFFAB54;
  123. end;
  124. OnTimer192000:
  125. mapannounce "que_bingo","Eukran: Please enter a number in 5 seconds, or the game will be canceled.",1,0xFFAB54;
  126. end;
  127. OnTimer200000:
  128. mapannounce "que_bingo","Eukran: I'm sorry, but the game has been canceled. Please come again and enjoy a game of Bingo with us!",1,0xFFAB54;
  129. end;
  130. OnTimer202000:
  131. disablenpc "plate1#bingo";
  132. disablenpc "plate2#bingo";
  133. disablenpc "plate3#bingo";
  134. disablenpc "plate4#bingo";
  135. disablenpc "plate5#bingo";
  136. end;
  137. OnTimer203000:
  138. areawarp "que_bingo",44,115,54,126,"que_bingo",40,124;
  139. enablenpc "out3#bingo";
  140. end;
  141. OnTimer204000:
  142. areawarp "que_bingo",44,115,54,126,"que_bingo",40,121;
  143. disablenpc "out3#bingo";
  144. set $@hu_bingoa,0;
  145. set $@hu_bingob,0;
  146. donpcevent "Bingo Waiting Room::OnStart";
  147. end;
  148. }
  149. que_bingo,52,52,0 script start2#bingo 139,{
  150. OnStop:
  151. stopnpctimer;
  152. end;
  153. OnStart:
  154. initnpctimer;
  155. end;
  156. OnTimer2000:
  157. mapannounce "que_bingo","Eukran: Great, everyone seems to be ready~",1,0xFFAB54;
  158. disablenpc "plate1#bingo";
  159. disablenpc "plate2#bingo";
  160. disablenpc "plate3#bingo";
  161. disablenpc "plate4#bingo";
  162. disablenpc "plate5#bingo";
  163. end;
  164. OnTimer5000:
  165. mapannounce "que_bingo","Eukran: Now, let the game begin!",1,0xFFAB54;
  166. setarray $@bingoarray[0],1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25;
  167. set .@max_index, 24;
  168. for(set .@i,0; .@i < 25; set .@i,.@i +1) {
  169. set $@bingo0,rand(0,.@max_index);
  170. set $bingo[.@i],$@bingoarray[$@bingo0];
  171. set $@bingoarray[$@bingo0], $@bingoarray[.@max_index];
  172. set .@max_index, .@max_index - 1;
  173. }
  174. end;
  175. OnTimer8000:
  176. mapannounce "que_bingo","Eukran: I'll announce the Bingo Numbers. If you get 5 lines by matching 5 Bingo Numbers in a straight line on your Bingo Plate, yell out ''Bingo'' to win~",1,0xFFAB54;
  177. end;
  178. OnTimer10000:
  179. set $@bingoresult,1;
  180. callfunc "Func_BingoResult",$@bingoresult;
  181. end;
  182. OnTimer15000:
  183. OnTimer25000:
  184. OnTimer35000:
  185. OnTimer45000:
  186. OnTimer55000:
  187. OnTimer65000:
  188. OnTimer75000:
  189. OnTimer85000:
  190. OnTimer95000:
  191. OnTimer105000:
  192. OnTimer115000:
  193. OnTimer125000:
  194. OnTimer135000:
  195. OnTimer145000:
  196. OnTimer155000:
  197. OnTimer179000:
  198. OnTimer199000:
  199. OnTimer219000:
  200. OnTimer239000:
  201. OnTimer259000:
  202. OnTimer279000:
  203. OnTimer299000:
  204. OnTimer319000:
  205. OnTimer339000:
  206. donpcevent "1a#bingo::OnInit";
  207. end;
  208. OnTimer20000:
  209. OnTimer30000:
  210. OnTimer40000:
  211. OnTimer50000:
  212. OnTimer60000:
  213. OnTimer70000:
  214. OnTimer80000:
  215. OnTimer90000:
  216. OnTimer100000:
  217. OnTimer110000:
  218. OnTimer120000:
  219. OnTimer130000:
  220. OnTimer140000:
  221. OnTimer150000:
  222. OnTimer160000:
  223. OnTimer180000:
  224. OnTimer200000:
  225. OnTimer220000:
  226. OnTimer240000:
  227. OnTimer260000:
  228. OnTimer280000:
  229. OnTimer300000:
  230. OnTimer320000:
  231. OnTimer340000:
  232. callfunc "Func_BingoResult",$@bingoresult;
  233. end;
  234. OnTimer440000:
  235. mapannounce "que_bingo","Eukran: I've announced all of the selected numbers, but I haven't heard anyone yell ''Bingo.''",1,0xFFAB54;
  236. end;
  237. OnTimer445000:
  238. mapannounce "que_bingo","Eukran: I'll give you all 10 seconds to check if any of you have won. If no one can yell ''Bingo'' in 10 seconds, this game will end without a winner.",1,0xFFAB54;
  239. end;
  240. OnTimer460000:
  241. mapannounce "que_bingo","Eukran: I'm sorry, but this game has ended without a winner. Thanks for playing, everyone~",1,0xFFAB54;
  242. donpcevent "1a#bingo::OnInit";
  243. areawarp "que_bingo",44,115,54,126,"que_bingo",40,121;
  244. set $@hu_bingoa,0;
  245. donpcevent "Bingo Waiting Room::OnStart";
  246. end;
  247. }
  248. que_bingo,49,125,0 script 1a#bingo 139,1,1,{
  249. end;
  250. OnInit:
  251. disablenpc "1a#bingo";
  252. disablenpc "2a#bingo";
  253. disablenpc "3a#bingo";
  254. disablenpc "4a#bingo";
  255. disablenpc "5a#bingo";
  256. disablenpc "6a#bingo";
  257. disablenpc "7a#bingo";
  258. disablenpc "8a#bingo";
  259. disablenpc "9a#bingo";
  260. disablenpc "10a#bingo";
  261. disablenpc "11a#bingo";
  262. disablenpc "12a#bingo";
  263. disablenpc "13a#bingo";
  264. disablenpc "14a#bingo";
  265. disablenpc "15a#bingo";
  266. disablenpc "16a#bingo";
  267. disablenpc "17a#bingo";
  268. disablenpc "18a#bingo";
  269. disablenpc "19a#bingo";
  270. disablenpc "20a#bingo";
  271. disablenpc "21a#bingo";
  272. disablenpc "22a#bingo";
  273. disablenpc "23a#bingo";
  274. disablenpc "24a#bingo";
  275. disablenpc "25a#bingo";
  276. disablenpc "1b#bingo";
  277. disablenpc "2b#bingo";
  278. disablenpc "3b#bingo";
  279. disablenpc "4b#bingo";
  280. disablenpc "5b#bingo";
  281. disablenpc "6b#bingo";
  282. disablenpc "7b#bingo";
  283. disablenpc "8b#bingo";
  284. disablenpc "9b#bingo";
  285. disablenpc "10b#bingo";
  286. disablenpc "11b#bingo";
  287. disablenpc "12b#bingo";
  288. disablenpc "13b#bingo";
  289. disablenpc "14b#bingo";
  290. disablenpc "15b#bingo";
  291. disablenpc "16b#bingo";
  292. disablenpc "17b#bingo";
  293. disablenpc "18b#bingo";
  294. disablenpc "19b#bingo";
  295. disablenpc "20b#bingo";
  296. disablenpc "21b#bingo";
  297. disablenpc "22b#bingo";
  298. disablenpc "23b#bingo";
  299. disablenpc "24b#bingo";
  300. disablenpc "25b#bingo";
  301. disablenpc "1c#bingo";
  302. disablenpc "2c#bingo";
  303. disablenpc "3c#bingo";
  304. disablenpc "4c#bingo";
  305. disablenpc "5c#bingo";
  306. disablenpc "6c#bingo";
  307. disablenpc "7c#bingo";
  308. disablenpc "8c#bingo";
  309. disablenpc "9c#bingo";
  310. disablenpc "10c#bingo";
  311. disablenpc "11c#bingo";
  312. disablenpc "12c#bingo";
  313. disablenpc "13c#bingo";
  314. disablenpc "14c#bingo";
  315. disablenpc "15c#bingo";
  316. disablenpc "16c#bingo";
  317. disablenpc "17c#bingo";
  318. disablenpc "18c#bingo";
  319. disablenpc "19c#bingo";
  320. disablenpc "20c#bingo";
  321. disablenpc "21c#bingo";
  322. disablenpc "22c#bingo";
  323. disablenpc "23c#bingo";
  324. disablenpc "24c#bingo";
  325. disablenpc "25c#bingo";
  326. disablenpc "1d#bingo";
  327. disablenpc "2d#bingo";
  328. disablenpc "3d#bingo";
  329. disablenpc "4d#bingo";
  330. disablenpc "5d#bingo";
  331. disablenpc "6d#bingo";
  332. disablenpc "7d#bingo";
  333. disablenpc "8d#bingo";
  334. disablenpc "9d#bingo";
  335. disablenpc "10d#bingo";
  336. disablenpc "11d#bingo";
  337. disablenpc "12d#bingo";
  338. disablenpc "13d#bingo";
  339. disablenpc "14d#bingo";
  340. disablenpc "15d#bingo";
  341. disablenpc "16d#bingo";
  342. disablenpc "17d#bingo";
  343. disablenpc "18d#bingo";
  344. disablenpc "19d#bingo";
  345. disablenpc "20d#bingo";
  346. disablenpc "21d#bingo";
  347. disablenpc "22d#bingo";
  348. disablenpc "23d#bingo";
  349. disablenpc "24d#bingo";
  350. disablenpc "25d#bingo";
  351. disablenpc "1e#bingo";
  352. disablenpc "2e#bingo";
  353. disablenpc "3e#bingo";
  354. disablenpc "4e#bingo";
  355. disablenpc "5e#bingo";
  356. disablenpc "6e#bingo";
  357. disablenpc "7e#bingo";
  358. disablenpc "8e#bingo";
  359. disablenpc "9e#bingo";
  360. disablenpc "10e#bingo";
  361. disablenpc "11e#bingo";
  362. disablenpc "12e#bingo";
  363. disablenpc "13e#bingo";
  364. disablenpc "14e#bingo";
  365. disablenpc "15e#bingo";
  366. disablenpc "16e#bingo";
  367. disablenpc "17e#bingo";
  368. disablenpc "18e#bingo";
  369. disablenpc "19e#bingo";
  370. disablenpc "20e#bingo";
  371. disablenpc "21e#bingo";
  372. disablenpc "22e#bingo";
  373. disablenpc "23e#bingo";
  374. disablenpc "24e#bingo";
  375. disablenpc "25e#bingo";
  376. end;
  377. OnTouch:
  378. if(@bingoplate[1] == $bingo[$@bingoresult -1]){ set @bingo_a1$,"^ff0000- -^000000"; setarray @bingoplate[1],99; }
  379. else if(@bingoplate[2] == $bingo[$@bingoresult -1]){ set @bingo_a2$,"^ff0000- -^000000"; setarray @bingoplate[2],99; }
  380. else if(@bingoplate[3] == $bingo[$@bingoresult -1]){ set @bingo_a3$,"^ff0000- -^000000"; setarray @bingoplate[3],99; }
  381. else if(@bingoplate[4] == $bingo[$@bingoresult -1]){ set @bingo_a4$,"^ff0000- -^000000"; setarray @bingoplate[4],99; }
  382. else if(@bingoplate[5] == $bingo[$@bingoresult -1]){ set @bingo_a5$,"^ff0000- -^000000"; setarray @bingoplate[5],99; }
  383. else if(@bingoplate[6] == $bingo[$@bingoresult -1]){ set @bingo_b1$,"^ff0000- -^000000"; setarray @bingoplate[6],99; }
  384. else if(@bingoplate[7] == $bingo[$@bingoresult -1]){ set @bingo_b2$,"^ff0000- -^000000"; setarray @bingoplate[7],99; }
  385. else if(@bingoplate[8] == $bingo[$@bingoresult -1]){ set @bingo_b3$,"^ff0000- -^000000"; setarray @bingoplate[8],99; }
  386. else if(@bingoplate[9] == $bingo[$@bingoresult -1]){ set @bingo_b4$,"^ff0000- -^000000"; setarray @bingoplate[9],99; }
  387. else if(@bingoplate[10] == $bingo[$@bingoresult -1]){ set @bingo_b5$,"^ff0000- -^000000"; setarray @bingoplate[10],99; }
  388. else if(@bingoplate[11] == $bingo[$@bingoresult -1]){ set @bingo_c1$,"^ff0000- -^000000"; setarray @bingoplate[11],99; }
  389. else if(@bingoplate[12] == $bingo[$@bingoresult -1]){ set @bingo_c2$,"^ff0000- -^000000"; setarray @bingoplate[12],99; }
  390. else if(@bingoplate[13] == $bingo[$@bingoresult -1]){ set @bingo_c3$,"^ff0000- -^000000"; setarray @bingoplate[13],99; }
  391. else if(@bingoplate[14] == $bingo[$@bingoresult -1]){ set @bingo_c4$,"^ff0000- -^000000"; setarray @bingoplate[14],99; }
  392. else if(@bingoplate[15] == $bingo[$@bingoresult -1]){ set @bingo_c5$,"^ff0000- -^000000"; setarray @bingoplate[15],99; }
  393. else if(@bingoplate[16] == $bingo[$@bingoresult -1]){ set @bingo_d1$,"^ff0000- -^000000"; setarray @bingoplate[16],99; }
  394. else if(@bingoplate[17] == $bingo[$@bingoresult -1]){ set @bingo_d2$,"^ff0000- -^000000"; setarray @bingoplate[17],99; }
  395. else if(@bingoplate[18] == $bingo[$@bingoresult -1]){ set @bingo_d3$,"^ff0000- -^000000"; setarray @bingoplate[18],99; }
  396. else if(@bingoplate[19] == $bingo[$@bingoresult -1]){ set @bingo_d4$,"^ff0000- -^000000"; setarray @bingoplate[19],99; }
  397. else if(@bingoplate[20] == $bingo[$@bingoresult -1]){ set @bingo_d5$,"^ff0000- -^000000"; setarray @bingoplate[20],99; }
  398. else if(@bingoplate[21] == $bingo[$@bingoresult -1]){ set @bingo_e1$,"^ff0000- -^000000"; setarray @bingoplate[21],99; }
  399. else if(@bingoplate[22] == $bingo[$@bingoresult -1]){ set @bingo_e2$,"^ff0000- -^000000"; setarray @bingoplate[22],99; }
  400. else if(@bingoplate[23] == $bingo[$@bingoresult -1]){ set @bingo_e3$,"^ff0000- -^000000"; setarray @bingoplate[23],99; }
  401. else if(@bingoplate[24] == $bingo[$@bingoresult -1]){ set @bingo_e4$,"^ff0000- -^000000"; setarray @bingoplate[24],99; }
  402. else if(@bingoplate[25] == $bingo[$@bingoresult -1]){ set @bingo_e5$,"^ff0000- -^000000"; setarray @bingoplate[25],99; }
  403. set @bingowin,0;
  404. if(@bingoplate[1] == @bingoplate[2] && @bingoplate[1] == @bingoplate[3] && @bingoplate[1] == @bingoplate[4] && @bingoplate[1] == @bingoplate[5]) set @bingowin,@bingowin +1;
  405. if(@bingoplate[6] == @bingoplate[7] && @bingoplate[6] == @bingoplate[8] && @bingoplate[6] == @bingoplate[9] && @bingoplate[6] == @bingoplate[10]) set @bingowin,@bingowin +1;
  406. if(@bingoplate[11] == @bingoplate[12] && @bingoplate[11] == @bingoplate[13] && @bingoplate[11] == @bingoplate[14] && @bingoplate[11] == @bingoplate[15]) set @bingowin,@bingowin +1;
  407. if(@bingoplate[16] == @bingoplate[17] && @bingoplate[16] == @bingoplate[18] && @bingoplate[16] == @bingoplate[19] && @bingoplate[16] == @bingoplate[20]) set @bingowin,@bingowin +1;
  408. if(@bingoplate[21] == @bingoplate[22] && @bingoplate[21] == @bingoplate[23] && @bingoplate[21] == @bingoplate[24] && @bingoplate[21] == @bingoplate[25]) set @bingowin,@bingowin +1;
  409. if(@bingoplate[1] == @bingoplate[6] && @bingoplate[1] == @bingoplate[11] && @bingoplate[1] == @bingoplate[16] && @bingoplate[1] == @bingoplate[21]) set @bingowin,@bingowin +1;
  410. if(@bingoplate[2] == @bingoplate[7] && @bingoplate[2] == @bingoplate[12] && @bingoplate[2] == @bingoplate[17] && @bingoplate[2] == @bingoplate[22]) set @bingowin,@bingowin +1;
  411. if(@bingoplate[3] == @bingoplate[8] && @bingoplate[3] == @bingoplate[13] && @bingoplate[3] == @bingoplate[18] && @bingoplate[3] == @bingoplate[23]) set @bingowin,@bingowin +1;
  412. if(@bingoplate[4] == @bingoplate[9] && @bingoplate[4] == @bingoplate[14] && @bingoplate[4] == @bingoplate[19] && @bingoplate[4] == @bingoplate[24]) set @bingowin,@bingowin +1;
  413. if(@bingoplate[5] == @bingoplate[10] && @bingoplate[5] == @bingoplate[15] && @bingoplate[5] == @bingoplate[20] && @bingoplate[5] == @bingoplate[25]) set @bingowin,@bingowin +1;
  414. if(@bingoplate[1] == @bingoplate[7] && @bingoplate[1] == @bingoplate[13] && @bingoplate[1] == @bingoplate[19] && @bingoplate[1] == @bingoplate[25]) set @bingowin,@bingowin +1;
  415. if(@bingoplate[5] == @bingoplate[9] && @bingoplate[5] == @bingoplate[13] && @bingoplate[5] == @bingoplate[17] && @bingoplate[5] == @bingoplate[21]) set @bingowin,@bingowin +1;
  416. if($@bingoresult == 1 || $@bingoresult == 21) mes "[ "+$@bingoresult+"st Number - "+$bingo[$@bingoresult -1]+" ]";
  417. else if($@bingoresult == 2 || $@bingoresult == 22) mes "[ "+$@bingoresult+"nd Number - "+$bingo[$@bingoresult -1]+" ]";
  418. else if($@bingoresult == 3 || $@bingoresult == 23) mes "[ "+$@bingoresult+"rd Number - "+$bingo[$@bingoresult -1]+" ]";
  419. else mes "[ "+$@bingoresult+"th Number - "+$bingo[$@bingoresult -1]+" ]";
  420. mes "["+@bingo_a1$+"] ["+@bingo_a2$+"] ["+@bingo_a3$+"] ["+@bingo_a4$+"] ["+@bingo_a5$+"]";
  421. mes "["+@bingo_b1$+"] ["+@bingo_b2$+"] ["+@bingo_b3$+"] ["+@bingo_b4$+"] ["+@bingo_b5$+"]";
  422. mes "["+@bingo_c1$+"] ["+@bingo_c2$+"] ["+@bingo_c3$+"] ["+@bingo_c4$+"] ["+@bingo_c5$+"]";
  423. mes "["+@bingo_d1$+"] ["+@bingo_d2$+"] ["+@bingo_d3$+"] ["+@bingo_d4$+"] ["+@bingo_d5$+"]";
  424. mes "["+@bingo_e1$+"] ["+@bingo_e2$+"] ["+@bingo_e3$+"] ["+@bingo_e4$+"] ["+@bingo_e5$+"]";
  425. mes "[Currently Finished Lines - "+@bingowin+" ]";
  426. if ($@bingoresult > 15) {
  427. if (@bingowin > 4) {
  428. next;
  429. mes "We just have made 5 lines!";
  430. mes "Say ^ff0000Bingo^000000!";
  431. mes "W-we just matched";
  432. mes "5 numbers in a row!";
  433. mes "Quickly, say ''^FF0000Bingo^000000!''";
  434. mes "Remember, you'll only";
  435. mes "have one chance to say it!";
  436. input @bingoyell$;
  437. if (@bingoyell$ == "Bingo") {
  438. if ($@hu_bingoa == 5) {
  439. set $@hu_bingoa,6;
  440. donpcevent "start2#bingo::OnStop";
  441. set $@bingowinner$,strcharinfo(0);
  442. donpcevent "win1a#bingo::OnWin";
  443. close;
  444. } else if ($@hu_bingoa == 6) {
  445. next;
  446. mes "Oh no! I'm sorry, but";
  447. mes "someone already yelled";
  448. mes "''bingo'' before you did.";
  449. mes "I'm sorry, but you missed";
  450. mes "your chance! Better luck,";
  451. mes "next time, alright?";
  452. close;
  453. }
  454. } else {
  455. next;
  456. mes "I'm sorry, but you";
  457. mes "said it wrong. Next time,";
  458. mes "make sure that you yell";
  459. mes "out the word, ''^FF0000Bingo^000000,'' okay?";
  460. close;
  461. }
  462. }
  463. close;
  464. }
  465. close;
  466. }
  467. que_bingo,49,125,0 duplicate(1a#bingo) 2a#bingo 139,1,1
  468. que_bingo,49,125,0 duplicate(1a#bingo) 3a#bingo 139,1,1
  469. que_bingo,49,125,0 duplicate(1a#bingo) 4a#bingo 139,1,1
  470. que_bingo,49,125,0 duplicate(1a#bingo) 5a#bingo 139,1,1
  471. que_bingo,49,125,0 duplicate(1a#bingo) 6a#bingo 139,1,1
  472. que_bingo,49,125,0 duplicate(1a#bingo) 7a#bingo 139,1,1
  473. que_bingo,49,125,0 duplicate(1a#bingo) 8a#bingo 139,1,1
  474. que_bingo,49,125,0 duplicate(1a#bingo) 9a#bingo 139,1,1
  475. que_bingo,49,125,0 duplicate(1a#bingo) 10a#bingo 139,1,1
  476. que_bingo,49,125,0 duplicate(1a#bingo) 11a#bingo 139,1,1
  477. que_bingo,49,125,0 duplicate(1a#bingo) 12a#bingo 139,1,1
  478. que_bingo,49,125,0 duplicate(1a#bingo) 13a#bingo 139,1,1
  479. que_bingo,49,125,0 duplicate(1a#bingo) 14a#bingo 139,1,1
  480. que_bingo,49,125,0 duplicate(1a#bingo) 15a#bingo 139,1,1
  481. que_bingo,49,125,0 duplicate(1a#bingo) 16a#bingo 139,1,1
  482. que_bingo,49,125,0 duplicate(1a#bingo) 17a#bingo 139,1,1
  483. que_bingo,49,125,0 duplicate(1a#bingo) 18a#bingo 139,1,1
  484. que_bingo,49,125,0 duplicate(1a#bingo) 19a#bingo 139,1,1
  485. que_bingo,49,125,0 duplicate(1a#bingo) 20a#bingo 139,1,1
  486. que_bingo,49,125,0 duplicate(1a#bingo) 21a#bingo 139,1,1
  487. que_bingo,49,125,0 duplicate(1a#bingo) 22a#bingo 139,1,1
  488. que_bingo,49,125,0 duplicate(1a#bingo) 23a#bingo 139,1,1
  489. que_bingo,49,125,0 duplicate(1a#bingo) 24a#bingo 139,1,1
  490. que_bingo,49,125,0 duplicate(1a#bingo) 25a#bingo 139,1,1
  491. que_bingo,53,121,0 duplicate(1a#bingo) 1b#bingo 139,1,1
  492. que_bingo,53,121,0 duplicate(1a#bingo) 2b#bingo 139,1,1
  493. que_bingo,53,121,0 duplicate(1a#bingo) 3b#bingo 139,1,1
  494. que_bingo,53,121,0 duplicate(1a#bingo) 4b#bingo 139,1,1
  495. que_bingo,53,121,0 duplicate(1a#bingo) 5b#bingo 139,1,1
  496. que_bingo,53,121,0 duplicate(1a#bingo) 6b#bingo 139,1,1
  497. que_bingo,53,121,0 duplicate(1a#bingo) 7b#bingo 139,1,1
  498. que_bingo,53,121,0 duplicate(1a#bingo) 8b#bingo 139,1,1
  499. que_bingo,53,121,0 duplicate(1a#bingo) 9b#bingo 139,1,1
  500. que_bingo,53,121,0 duplicate(1a#bingo) 10b#bingo 139,1,1
  501. que_bingo,53,121,0 duplicate(1a#bingo) 11b#bingo 139,1,1
  502. que_bingo,53,121,0 duplicate(1a#bingo) 12b#bingo 139,1,1
  503. que_bingo,53,121,0 duplicate(1a#bingo) 13b#bingo 139,1,1
  504. que_bingo,53,121,0 duplicate(1a#bingo) 14b#bingo 139,1,1
  505. que_bingo,53,121,0 duplicate(1a#bingo) 15b#bingo 139,1,1
  506. que_bingo,53,121,0 duplicate(1a#bingo) 16b#bingo 139,1,1
  507. que_bingo,53,121,0 duplicate(1a#bingo) 17b#bingo 139,1,1
  508. que_bingo,53,121,0 duplicate(1a#bingo) 18b#bingo 139,1,1
  509. que_bingo,53,121,0 duplicate(1a#bingo) 19b#bingo 139,1,1
  510. que_bingo,53,121,0 duplicate(1a#bingo) 20b#bingo 139,1,1
  511. que_bingo,53,121,0 duplicate(1a#bingo) 21b#bingo 139,1,1
  512. que_bingo,53,121,0 duplicate(1a#bingo) 22b#bingo 139,1,1
  513. que_bingo,53,121,0 duplicate(1a#bingo) 23b#bingo 139,1,1
  514. que_bingo,53,121,0 duplicate(1a#bingo) 24b#bingo 139,1,1
  515. que_bingo,53,121,0 duplicate(1a#bingo) 25b#bingo 139,1,1
  516. que_bingo,51,116,0 duplicate(1a#bingo) 1c#bingo 139,1,1
  517. que_bingo,51,116,0 duplicate(1a#bingo) 2c#bingo 139,1,1
  518. que_bingo,51,116,0 duplicate(1a#bingo) 3c#bingo 139,1,1
  519. que_bingo,51,116,0 duplicate(1a#bingo) 4c#bingo 139,1,1
  520. que_bingo,51,116,0 duplicate(1a#bingo) 5c#bingo 139,1,1
  521. que_bingo,51,116,0 duplicate(1a#bingo) 6c#bingo 139,1,1
  522. que_bingo,51,116,0 duplicate(1a#bingo) 7c#bingo 139,1,1
  523. que_bingo,51,116,0 duplicate(1a#bingo) 8c#bingo 139,1,1
  524. que_bingo,51,116,0 duplicate(1a#bingo) 9c#bingo 139,1,1
  525. que_bingo,51,116,0 duplicate(1a#bingo) 10c#bingo 139,1,1
  526. que_bingo,51,116,0 duplicate(1a#bingo) 11c#bingo 139,1,1
  527. que_bingo,51,116,0 duplicate(1a#bingo) 12c#bingo 139,1,1
  528. que_bingo,51,116,0 duplicate(1a#bingo) 13c#bingo 139,1,1
  529. que_bingo,51,116,0 duplicate(1a#bingo) 14c#bingo 139,1,1
  530. que_bingo,51,116,0 duplicate(1a#bingo) 15c#bingo 139,1,1
  531. que_bingo,51,116,0 duplicate(1a#bingo) 16c#bingo 139,1,1
  532. que_bingo,51,116,0 duplicate(1a#bingo) 17c#bingo 139,1,1
  533. que_bingo,51,116,0 duplicate(1a#bingo) 18c#bingo 139,1,1
  534. que_bingo,51,116,0 duplicate(1a#bingo) 19c#bingo 139,1,1
  535. que_bingo,51,116,0 duplicate(1a#bingo) 20c#bingo 139,1,1
  536. que_bingo,51,116,0 duplicate(1a#bingo) 21c#bingo 139,1,1
  537. que_bingo,51,116,0 duplicate(1a#bingo) 22c#bingo 139,1,1
  538. que_bingo,51,116,0 duplicate(1a#bingo) 23c#bingo 139,1,1
  539. que_bingo,51,116,0 duplicate(1a#bingo) 24c#bingo 139,1,1
  540. que_bingo,51,116,0 duplicate(1a#bingo) 25c#bingo 139,1,1
  541. que_bingo,46,116,0 duplicate(1a#bingo) 1d#bingo 139,1,1
  542. que_bingo,46,116,0 duplicate(1a#bingo) 2d#bingo 139,1,1
  543. que_bingo,46,116,0 duplicate(1a#bingo) 3d#bingo 139,1,1
  544. que_bingo,46,116,0 duplicate(1a#bingo) 4d#bingo 139,1,1
  545. que_bingo,46,116,0 duplicate(1a#bingo) 5d#bingo 139,1,1
  546. que_bingo,46,116,0 duplicate(1a#bingo) 6d#bingo 139,1,1
  547. que_bingo,46,116,0 duplicate(1a#bingo) 7d#bingo 139,1,1
  548. que_bingo,46,116,0 duplicate(1a#bingo) 8d#bingo 139,1,1
  549. que_bingo,46,116,0 duplicate(1a#bingo) 9d#bingo 139,1,1
  550. que_bingo,46,116,0 duplicate(1a#bingo) 10d#bingo 139,1,1
  551. que_bingo,46,116,0 duplicate(1a#bingo) 11d#bingo 139,1,1
  552. que_bingo,46,116,0 duplicate(1a#bingo) 12d#bingo 139,1,1
  553. que_bingo,46,116,0 duplicate(1a#bingo) 13d#bingo 139,1,1
  554. que_bingo,46,116,0 duplicate(1a#bingo) 14d#bingo 139,1,1
  555. que_bingo,46,116,0 duplicate(1a#bingo) 15d#bingo 139,1,1
  556. que_bingo,46,116,0 duplicate(1a#bingo) 16d#bingo 139,1,1
  557. que_bingo,46,116,0 duplicate(1a#bingo) 17d#bingo 139,1,1
  558. que_bingo,46,116,0 duplicate(1a#bingo) 18d#bingo 139,1,1
  559. que_bingo,46,116,0 duplicate(1a#bingo) 19d#bingo 139,1,1
  560. que_bingo,46,116,0 duplicate(1a#bingo) 20d#bingo 139,1,1
  561. que_bingo,46,116,0 duplicate(1a#bingo) 21d#bingo 139,1,1
  562. que_bingo,46,116,0 duplicate(1a#bingo) 22d#bingo 139,1,1
  563. que_bingo,46,116,0 duplicate(1a#bingo) 23d#bingo 139,1,1
  564. que_bingo,46,116,0 duplicate(1a#bingo) 24d#bingo 139,1,1
  565. que_bingo,46,116,0 duplicate(1a#bingo) 25d#bingo 139,1,1
  566. que_bingo,45,121,0 duplicate(1a#bingo) 1e#bingo 139,1,1
  567. que_bingo,45,121,0 duplicate(1a#bingo) 2e#bingo 139,1,1
  568. que_bingo,45,121,0 duplicate(1a#bingo) 3e#bingo 139,1,1
  569. que_bingo,45,121,0 duplicate(1a#bingo) 4e#bingo 139,1,1
  570. que_bingo,45,121,0 duplicate(1a#bingo) 5e#bingo 139,1,1
  571. que_bingo,45,121,0 duplicate(1a#bingo) 6e#bingo 139,1,1
  572. que_bingo,45,121,0 duplicate(1a#bingo) 7e#bingo 139,1,1
  573. que_bingo,45,121,0 duplicate(1a#bingo) 8e#bingo 139,1,1
  574. que_bingo,45,121,0 duplicate(1a#bingo) 9e#bingo 139,1,1
  575. que_bingo,45,121,0 duplicate(1a#bingo) 10e#bingo 139,1,1
  576. que_bingo,45,121,0 duplicate(1a#bingo) 11e#bingo 139,1,1
  577. que_bingo,45,121,0 duplicate(1a#bingo) 12e#bingo 139,1,1
  578. que_bingo,45,121,0 duplicate(1a#bingo) 13e#bingo 139,1,1
  579. que_bingo,45,121,0 duplicate(1a#bingo) 14e#bingo 139,1,1
  580. que_bingo,45,121,0 duplicate(1a#bingo) 15e#bingo 139,1,1
  581. que_bingo,45,121,0 duplicate(1a#bingo) 16e#bingo 139,1,1
  582. que_bingo,45,121,0 duplicate(1a#bingo) 17e#bingo 139,1,1
  583. que_bingo,45,121,0 duplicate(1a#bingo) 18e#bingo 139,1,1
  584. que_bingo,45,121,0 duplicate(1a#bingo) 19e#bingo 139,1,1
  585. que_bingo,45,121,0 duplicate(1a#bingo) 20e#bingo 139,1,1
  586. que_bingo,45,121,0 duplicate(1a#bingo) 21e#bingo 139,1,1
  587. que_bingo,45,121,0 duplicate(1a#bingo) 22e#bingo 139,1,1
  588. que_bingo,45,121,0 duplicate(1a#bingo) 23e#bingo 139,1,1
  589. que_bingo,45,121,0 duplicate(1a#bingo) 24e#bingo 139,1,1
  590. que_bingo,45,121,0 duplicate(1a#bingo) 25e#bingo 139,1,1
  591. que_bingo,79,19,0 script win1a#bingo 139,4,4,{
  592. end;
  593. OnWin:
  594. initnpctimer;
  595. end;
  596. OnTimer1000:
  597. donpcevent "1a#bingo::OnInit";
  598. enablenpc "win2a#bingo";
  599. enablenpc "win2b#bingo";
  600. enablenpc "win2c#bingo";
  601. enablenpc "win2d#bingo";
  602. enablenpc "win2e#bingo";
  603. end;
  604. }
  605. que_bingo,49,125,0 script win2a#bingo 139,1,1,{
  606. end;
  607. OnInit:
  608. disablenpc "win2a#bingo";
  609. disablenpc "win2b#bingo";
  610. disablenpc "win2c#bingo";
  611. disablenpc "win2d#bingo";
  612. disablenpc "win2e#bingo";
  613. end;
  614. OnTouch:
  615. if ($@bingowinner$ != strcharinfo(0)) end;
  616. specialeffect EF_SUI_EXPLOSION;
  617. soundeffect "tming_success.wav",1;
  618. if ($@bingoresult == 16) getitem 7515,50;
  619. else getitem 7515,1;
  620. initnpctimer;
  621. end;
  622. OnTimer1000:
  623. mapannounce "que_bingo","Eukran: Wow, Bingo! It's Bingo!",1,0xFFAB54;
  624. end;
  625. OnTimer5000:
  626. mapannounce "que_bingo","Eukran: "+$@bingowinner$+" has said Bingo!",1,0xFFAB54;
  627. end;
  628. OnTimer10000:
  629. if ($@bingoresult == 16)
  630. mapannounce "que_bingo","Eukran: Congratulations, "+$@bingowinner$+"! You will be rewarded with 50 Marvelous Medals.",1,0xFFAB54;
  631. else
  632. mapannounce "que_bingo","Eukran: Congratulations, "+$@bingowinner$+"! You will be rewarded with 1 Marvelous Medal.",1,0xFFAB54;
  633. end;
  634. OnTimer15000:
  635. mapannounce "que_bingo","Eukran: Thank you all for participating in the game. See you next time!",1,0xFFAB54;
  636. end;
  637. OnTimer20000:
  638. donpcevent "end#bingo::OnEnd";
  639. donpcevent "win2a#bingo::OnInit";
  640. end;
  641. }
  642. que_bingo,53,121,0 duplicate(win2a#bingo) win2b#bingo 139,1,1
  643. que_bingo,51,116,0 duplicate(win2a#bingo) win2c#bingo 139,1,1
  644. que_bingo,46,116,0 duplicate(win2a#bingo) win2d#bingo 139,1,1
  645. que_bingo,45,121,0 duplicate(win2a#bingo) win2e#bingo 139,1,1
  646. que_bingo,89,59,0 script end#bingo 139,4,4,{
  647. end;
  648. OnEnd:
  649. initnpctimer;
  650. end;
  651. OnTimer1000:
  652. enablenpc "end1a#bingo";
  653. enablenpc "end1b#bingo";
  654. enablenpc "end1c#bingo";
  655. enablenpc "end1d#bingo";
  656. enablenpc "end1e#bingo";
  657. end;
  658. OnTimer5000:
  659. disablenpc "end1a#bingo";
  660. disablenpc "end1b#bingo";
  661. disablenpc "end1c#bingo";
  662. disablenpc "end1d#bingo";
  663. disablenpc "end1e#bingo";
  664. areawarp "que_bingo",44,115,54,126,"que_bingo",40,121;
  665. set $@hu_bingoa,0;
  666. donpcevent "Bingo Waiting Room::OnStart";
  667. end;
  668. }
  669. que_bingo,49,125,0 script end1a#bingo 139,1,1,{
  670. OnInit:
  671. disablenpc "end1a#bingo";
  672. disablenpc "end1b#bingo";
  673. disablenpc "end1c#bingo";
  674. disablenpc "end1d#bingo";
  675. disablenpc "end1e#bingo";
  676. end;
  677. OnTouch:
  678. if(hg_ma1 == 6) warp "que_bingo",45,186;
  679. else warp "que_bingo",40,121;
  680. end;
  681. }
  682. que_bingo,53,121,0 duplicate(end1a#bingo) end1b#bingo 139,1,1
  683. que_bingo,51,116,0 duplicate(end1a#bingo) end1c#bingo 139,1,1
  684. que_bingo,46,116,0 duplicate(end1a#bingo) end1d#bingo 139,1,1
  685. que_bingo,45,121,0 duplicate(end1a#bingo) end1e#bingo 139,1,1
  686. que_bingo,50,138,1 script out3#bingo 139,5,8,{
  687. OnInit:
  688. disablenpc "out3#bingo";
  689. end;
  690. OnTouch_:
  691. warp "que_bingo",40,121;
  692. end;
  693. }
  694. que_bingo,49,136,0 script go3#bingo 45,1,1,{
  695. OnTouch_:
  696. switch($@hu_bingob) {
  697. case 0: warp "que_bingo",49,125; break;
  698. case 1: warp "que_bingo",53,121; break;
  699. case 2: warp "que_bingo",51,116; break;
  700. case 3: warp "que_bingo",46,116; break;
  701. case 4: warp "que_bingo",45,121; break;
  702. }
  703. set $@hu_bingob,$@hu_bingob +1;
  704. if ($@hu_bingob == 5) set $@hu_bingob,0;
  705. end;
  706. }
  707. function script Func_Bingo {
  708. for(set .@i,getarg(0); .@i < 26; set .@i,.@i +1) {
  709. if(@bingoplate[1] < 10) set @bingo_a1$,"0"+@bingoplate[1]+""; else set @bingo_a1$,@bingoplate[1];
  710. if(@bingoplate[2] < 10) set @bingo_a2$,"0"+@bingoplate[2]+""; else set @bingo_a2$,@bingoplate[2];
  711. if(@bingoplate[3] < 10) set @bingo_a3$,"0"+@bingoplate[3]+""; else set @bingo_a3$,@bingoplate[3];
  712. if(@bingoplate[4] < 10) set @bingo_a4$,"0"+@bingoplate[4]+""; else set @bingo_a4$,@bingoplate[4];
  713. if(@bingoplate[5] < 10) set @bingo_a5$,"0"+@bingoplate[5]+""; else set @bingo_a5$,@bingoplate[5];
  714. if(.@i > 5) mes "["+@bingo_a1$+"] ["+@bingo_a2$+"] ["+@bingo_a3$+"] ["+@bingo_a4$+"] ["+@bingo_a5$+"]";
  715. else {
  716. switch(.@i) {
  717. case 1: mes "^ff0000[__]^000000 [ ] [ ] [ ] [ ]"; break;
  718. case 2: mes "["+@bingo_a1$+"] ^ff0000[__]^000000 [ ] [ ] [ ]"; break;
  719. case 3: mes "["+@bingo_a1$+"] ["+@bingo_a2$+"] ^ff0000[__]^000000 [ ] [ ]"; break;
  720. case 4: mes "["+@bingo_a1$+"] ["+@bingo_a2$+"] ["+@bingo_a3$+"] ^ff0000[__]^000000 [ ]"; break;
  721. case 5: mes "["+@bingo_a1$+"] ["+@bingo_a2$+"] ["+@bingo_a3$+"] ["+@bingo_a4$+"] ^ff0000[__]^000000"; break;
  722. }
  723. }
  724. if(@bingoplate[6] < 10) set @bingo_b1$,"0"+@bingoplate[6]+""; else set @bingo_b1$,@bingoplate[6];
  725. if(@bingoplate[7] < 10) set @bingo_b2$,"0"+@bingoplate[7]+""; else set @bingo_b2$,@bingoplate[7];
  726. if(@bingoplate[8] < 10) set @bingo_b3$,"0"+@bingoplate[8]+""; else set @bingo_b3$,@bingoplate[8];
  727. if(@bingoplate[9] < 10) set @bingo_b4$,"0"+@bingoplate[9]+""; else set @bingo_b4$,@bingoplate[9];
  728. if(@bingoplate[10] < 10) set @bingo_b5$,"0"+@bingoplate[10]+""; else set @bingo_b5$,@bingoplate[10];
  729. if(.@i > 10) mes "["+@bingo_b1$+"] ["+@bingo_b2$+"] ["+@bingo_b3$+"] ["+@bingo_b4$+"] ["+@bingo_b5$+"]";
  730. else if(.@i < 6) mes "[ ] [ ] [ ] [ ] [ ]";
  731. else {
  732. switch(.@i) {
  733. case 6: mes "^ff0000[__]^000000 [ ] [ ] [ ] [ ]"; break;
  734. case 7: mes "["+@bingo_b1$+"] ^ff0000[__]^000000 [ ] [ ] [ ]"; break;
  735. case 8: mes "["+@bingo_b1$+"] ["+@bingo_b2$+"] ^ff0000[__]^000000 [ ] [ ]"; break;
  736. case 9: mes "["+@bingo_b1$+"] ["+@bingo_b2$+"] ["+@bingo_b3$+"] ^ff0000[__]^000000 [ ]"; break;
  737. case 10: mes "["+@bingo_b1$+"] ["+@bingo_b2$+"] ["+@bingo_b3$+"] ["+@bingo_b4$+"] ^ff0000[__]^000000"; break;
  738. }
  739. }
  740. if(@bingoplate[11] < 10) set @bingo_c1$,"0"+@bingoplate[11]+""; else set @bingo_c1$,@bingoplate[11];
  741. if(@bingoplate[12] < 10) set @bingo_c2$,"0"+@bingoplate[12]+""; else set @bingo_c2$,@bingoplate[12];
  742. if(@bingoplate[13] < 10) set @bingo_c3$,"0"+@bingoplate[13]+""; else set @bingo_c3$,@bingoplate[13];
  743. if(@bingoplate[14] < 10) set @bingo_c4$,"0"+@bingoplate[14]+""; else set @bingo_c4$,@bingoplate[14];
  744. if(@bingoplate[15] < 10) set @bingo_c5$,"0"+@bingoplate[15]+""; else set @bingo_c5$,@bingoplate[15];
  745. if(.@i > 15) mes "["+@bingo_c1$+"] ["+@bingo_c2$+"] ["+@bingo_c3$+"] ["+@bingo_c4$+"] ["+@bingo_c5$+"]";
  746. else if(.@i < 11) mes "[ ] [ ] [ ] [ ] [ ]";
  747. else {
  748. switch(.@i) {
  749. case 11: mes "^ff0000[__]^000000 [ ] [ ] [ ] [ ]"; break;
  750. case 12: mes "["+@bingo_c1$+"] ^ff0000[__]^000000 [ ] [ ] [ ]"; break;
  751. case 13: mes "["+@bingo_c1$+"] ["+@bingo_c2$+"] ^ff0000[__]^000000 [ ] [ ]"; break;
  752. case 14: mes "["+@bingo_c1$+"] ["+@bingo_c2$+"] ["+@bingo_c3$+"] ^ff0000[__]^000000 [ ]"; break;
  753. case 15: mes "["+@bingo_c1$+"] ["+@bingo_c2$+"] ["+@bingo_c3$+"] ["+@bingo_c4$+"] ^ff0000[__]^000000"; break;
  754. }
  755. }
  756. if(@bingoplate[16] < 10) set @bingo_d1$,"0"+@bingoplate[16]+""; else set @bingo_d1$,@bingoplate[16];
  757. if(@bingoplate[17] < 10) set @bingo_d2$,"0"+@bingoplate[17]+""; else set @bingo_d2$,@bingoplate[17];
  758. if(@bingoplate[18] < 10) set @bingo_d3$,"0"+@bingoplate[18]+""; else set @bingo_d3$,@bingoplate[18];
  759. if(@bingoplate[19] < 10) set @bingo_d4$,"0"+@bingoplate[19]+""; else set @bingo_d4$,@bingoplate[19];
  760. if(@bingoplate[20] < 10) set @bingo_d5$,"0"+@bingoplate[20]+""; else set @bingo_d5$,@bingoplate[20];
  761. if(.@i > 20) mes "["+@bingo_d1$+"] ["+@bingo_d2$+"] ["+@bingo_d3$+"] ["+@bingo_d4$+"] ["+@bingo_d5$+"]";
  762. else if(.@i < 16) mes "[ ] [ ] [ ] [ ] [ ]";
  763. else {
  764. switch(.@i) {
  765. case 16: mes "^ff0000[__]^000000 [ ] [ ] [ ] [ ]"; break;
  766. case 17: mes "["+@bingo_d1$+"] ^ff0000[__]^000000 [ ] [ ] [ ]"; break;
  767. case 18: mes "["+@bingo_d1$+"] ["+@bingo_d2$+"] ^ff0000[__]^000000 [ ] [ ]"; break;
  768. case 19: mes "["+@bingo_d1$+"] ["+@bingo_d2$+"] ["+@bingo_d3$+"] ^ff0000[__]^000000 [ ]"; break;
  769. case 20: mes "["+@bingo_d1$+"] ["+@bingo_d2$+"] ["+@bingo_d3$+"] ["+@bingo_d4$+"] ^ff0000[__]^000000"; break;
  770. }
  771. }
  772. if(@bingoplate[21] < 10) set @bingo_e1$,"0"+@bingoplate[21]+""; else set @bingo_e1$,@bingoplate[21];
  773. if(@bingoplate[22] < 10) set @bingo_e2$,"0"+@bingoplate[22]+""; else set @bingo_e2$,@bingoplate[22];
  774. if(@bingoplate[23] < 10) set @bingo_e3$,"0"+@bingoplate[23]+""; else set @bingo_e3$,@bingoplate[23];
  775. if(@bingoplate[24] < 10) set @bingo_e4$,"0"+@bingoplate[24]+""; else set @bingo_e4$,@bingoplate[24];
  776. if(.@i < 21) mes "[ ] [ ] [ ] [ ] [ ]";
  777. else {
  778. switch(.@i) {
  779. case 21: mes "^ff0000[__]^000000 [ ] [ ] [ ] [ ]"; break;
  780. case 22: mes "["+@bingo_e1$+"] ^ff0000[__]^000000 [ ] [ ] [ ]"; break;
  781. case 23: mes "["+@bingo_e1$+"] ["+@bingo_e2$+"] ^ff0000[__]^000000 [ ] [ ]"; break;
  782. case 24: mes "["+@bingo_e1$+"] ["+@bingo_e2$+"] ["+@bingo_e3$+"] ^ff0000[__]^000000 [ ]"; break;
  783. case 25: mes "["+@bingo_e1$+"] ["+@bingo_e2$+"] ["+@bingo_e3$+"] ["+@bingo_e4$+"] ^ff0000[__]^000000"; break;
  784. }
  785. }
  786. next;
  787. input .@bingoinput;
  788. if(.@bingoinput < 1 || .@bingoinput > 25) { set @bingo_case,.@i; return 0; }
  789. if(.@i > 1) {
  790. for(set .@j,.@i; .@j > 0; set .@j,.@j -1) {
  791. if(.@bingoinput == @bingoplate[.@j -1]) { set @bingo_case,.@i; return 0; }
  792. }
  793. }
  794. setarray @bingoplate[.@i],.@bingoinput;
  795. }
  796. return 1;
  797. }
  798. function script Func_BingoResult {
  799. .@num = getarg(0);
  800. mapannounce "que_bingo","Eukran: The "+ callfunc("F_GetNumSuffix",.@num) +" number is "+ $bingo[.@num - 1] +". Please check your Bingo Plate.",4,0xFFAB54;
  801. enablenpc .@num +"a#bingo";
  802. enablenpc .@num +"b#bingo";
  803. enablenpc .@num +"c#bingo";
  804. enablenpc .@num +"d#bingo";
  805. enablenpc .@num +"e#bingo";
  806. set $@bingoresult, $@bingoresult + 1;
  807. end;
  808. }
  809. que_bingo,49,31,4 script Arcade Helper#1 47,{
  810. mes "[Helper]";
  811. mes "If you'd like to play";
  812. mes "a game of bingo, then";
  813. mes "please proceed this way.";
  814. close;
  815. }
  816. que_bingo,42,31,4 duplicate(Arcade Helper#1) Arcade Helper#2 66
  817. que_bingo,54,17,5 script Arcade Owner 712,{
  818. mes "[Arcade Owner]";
  819. mes "Welcome to the";
  820. mes "Bingo Game Arcade.";
  821. mes "Care to play a game of";
  822. mes "bingo? If you have any";
  823. mes "questions, feel free to ask.";
  824. next;
  825. switch(select("Rules for Bingo:Bingo Room:Marvelous Medals")) {
  826. case 1:
  827. mes "[Arcade Owner]";
  828. mes "The rules for playing bingo";
  829. mes "are simple. First, take a board";
  830. mes "with 25 boxes organized so that";
  831. mes "there are five rows and five";
  832. mes "columns. Then, number the";
  833. mes "boxes in any order you like.";
  834. next;
  835. mes "[Arcade Owner]";
  836. mes "Of course, you must use";
  837. mes "the numbers 1 through 25.";
  838. mes "When everyone's bingo board";
  839. mes "is ready, the game will begin.";
  840. mes "Our game coordinator will call out a number from 1 to 25 at random.";
  841. next;
  842. mes "[Arcade Owner]";
  843. mes "Each time the coordinator";
  844. mes "calls out a number, make sure";
  845. mes "that you mark the corresponding";
  846. mes "numbered square on your bingo";
  847. mes "board. Now, these are the";
  848. mes "conditions for winning...";
  849. next;
  850. mes "[Arcade Owner]";
  851. mes "If you can make a line of";
  852. mes "5 squares in a row, horizontally, vertically, or diagonally, using";
  853. mes "the numbers called out by the";
  854. mes "coordinator, you quickly yell";
  855. mes "the word, ''Bingo.''";
  856. next;
  857. mes "[Arcade Owner]";
  858. mes "If you are the first to yell";
  859. mes "the word, ''Bingo,'' you'll";
  860. mes "win! But if someone beats you";
  861. mes "to it, then it can't be helped.";
  862. mes "Anyway, it costs 1,000 zeny";
  863. mes "to play each bingo game~";
  864. close;
  865. case 2:
  866. mes "[Arcade Owner]";
  867. mes "Ah, if you want to join a";
  868. mes "bingo game, enter the right";
  869. mes "door. There must be at least";
  870. mes "5 people to play a game, so";
  871. mes "you may need to wait until";
  872. mes "that requirement is fulfilled.";
  873. next;
  874. mes "[Arcade Owner]";
  875. mes "If you just want to";
  876. mes "watch the bingo game,";
  877. mes "then you may enter the";
  878. mes "left door as a spectator";
  879. mes "in the Bingo Room.";
  880. close;
  881. case 3:
  882. mes "[Arcade Owner]";
  883. mes "When you win a bingo";
  884. mes "game, you will be rewarded";
  885. mes "with ''Marvelous Medals,''";
  886. mes "which can only be used within";
  887. mes "this arcade. You also can't trade medals with other players.";
  888. next;
  889. mes "[Arcade Owner]";
  890. mes "You usually get 1 Marvelous";
  891. mes "Medal for winning a bingo game,";
  892. mes "but you can win 50 at one time";
  893. mes "under special conditions. You";
  894. mes "can also play Monster Racing";
  895. mes "games to win more medals.";
  896. next;
  897. mes "[Arcade Owner]";
  898. mes "Collect as many Marvelous";
  899. mes "Medals as you can, and trade";
  900. mes "them for products in the Monster Racing Arena. I hear there's also";
  901. mes "a place in Einbroch where you can use them, but I wouldn't know.";
  902. close;
  903. }
  904. }