hugel_bingo.txt 40 KB

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