Advertisement
Guest User

Untitled

a guest
Apr 9th, 2012
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.36 KB | None | 0 0
  1. //(¯`º¤ø,¸¸,ø¤° ================================================ º¤ø,¸¸,ø¤º´¯)
  2. //==========================================================================||
  3. //===== eAthena Script ====================================================||
  4. //===== eAthena EmpBrk by [JinBlack] =======================================||
  5. //===== Compiled by [JinBlack] =============================================||
  6. //(¯`º¤ø,¸¸,ø¤° ================================================ º¤ø,¸¸,ø¤º´¯)
  7.  
  8. //(¯`º¤ø,¸¸,ø¤° ================================================ º¤ø,¸¸,ø¤º´¯)
  9. //============== Features ==================================================||
  10. //===== Version [1.0] EmpBrk 4 Rooms =======================================||
  11. //==========================================================================||
  12. //============== Info ======================================================||
  13. //===== Map used: 'pvp_n_4-5' ==============================================||
  14. //(¯`º¤ø,¸¸,ø¤° ================================================ º¤ø,¸¸,ø¤º´¯)
  15.  
  16. pvp_n_4-5 mapflag restricted 7
  17.  
  18. prontera,168,228,0 script Emperium Breaker Test 1288,{
  19.  
  20. set @time, $empbrk_record;
  21. set @m, @time / 60000;
  22. set @time, @time - (@m * 60000);
  23. set @s, @time /1000;
  24. set @time, @time - (@s * 1000);
  25.  
  26. mes "[Emperium Breaker Test]";
  27. mes "Official Record by ^5050A0"+$empbrk_record$+"^000000";
  28. mes " ^000080"+@m+"^000000m ^000080"+@s+"^000000s ^000080"+@time+"^000000ms";
  29.  
  30. set @time, empbrk_record;
  31. set @m, @time / 60000;
  32. set @time, @time - (@m * 60000);
  33. set @s, @time /1000;
  34. set @time, @time - (@s * 1000);
  35. mes "Your Own Record:";
  36. mes " ^000080"+@m+"^000000m ^000080"+@s+"^000000s ^000080"+@time+"^000000ms";
  37.  
  38. mes "Would you like to try a new record?";
  39. next;
  40. if (getgmlevel()==99) { menu "Standard Menu",-,"Reset",L_reset,"Reset Rooms",L_emptyrooms,"Exit",L_exit;}
  41. menu "Yes",-,"No",L_exit,"Reset",L_resc;
  42. cleararray .arena$[0],"",4;
  43. mes "[Emperium Breaker Test]";
  44. if (getareausers("pvp_n_4-5",94,128,105,139)) mes "Emp n° ^0000DF1 ^FF0000 Busy^000000";
  45. else{ mes "Emp n° ^0000DF1 ^00A000 Free^000000"; set .arena$[0],"^0000DFEmperium^000000";}
  46. if (getareausers("pvp_n_4-5",60,94,71,105)) mes "Emp n° ^B05D002 ^FF0000 Busy^000000";
  47. else{ mes "Emp n° ^B05D002 ^00A000 Free^000000"; set .arena$[1],"^B05D00Emperium^000000";}
  48. if (getareausers("pvp_n_4-5",94,60,105,71)) mes "Emp n° ^B00FB03 ^FF0000 Busy^000000";
  49. else{ mes "Emp n° ^90AF003 ^00A000 Free^000000"; set .arena$[2],"^90AF00Emperium^000000";}
  50. if (getareausers("pvp_n_4-5",128,94,139,105)) mes "Emp n° ^50AF004 ^FF0000 Busy^000000";
  51. else{ mes "Emp n° ^500F004 ^00A000 Free^000000"; set .arena$[3],"^500F00Emperium^000000";}
  52. next;
  53. getmapxy(@mpempbrk$,@empbrkx,@empbrky,0,strcharinfo(0));
  54. switch (select(.arena$[0],.arena$[1],.arena$[2],.arena$[3],"Esci")){
  55.  
  56. case 1:
  57. if (getareausers("pvp_n_4-5",60,94,71,105) == 0){
  58. if($@someonegotin1 > 0){ mes "Room is now BUSY"; close;}
  59. set $@someonegotin1, 1;
  60. warp "pvp_n_4-5",99,128;
  61. killmonster "pvp_n_4-5","EmpBrk#1::OnThisMobDeath";
  62. initnpctimer "EmpBrk#1";}
  63. break;
  64.  
  65. case 2:
  66. if (getareausers("pvp_n_4-5",60,94,71,105) == 0){
  67. if($@someonegotin2 > 0){ mes "Room is now BUSY"; close;}
  68. set $@someonegotin2, 1;
  69. warp "pvp_n_4-5",68,99;
  70. killmonster "pvp_n_4-5","EmpBrk#2::OnThisMobDeath";
  71. initnpctimer "EmpBrk#2";}
  72. break;
  73.  
  74. case 3:
  75. if (getareausers("pvp_n_4-5",94,60,105,71) == 0){
  76. if($@someonegotin3 > 0){ mes "Room is now BUSY"; close;}
  77. set $@someonegotin3, 1;
  78. warp "pvp_n_4-5",100,68;
  79. killmonster "pvp_n_4-5","EmpBrk#3::OnThisMobDeath";
  80. initnpctimer "EmpBrk#3";}
  81. break;
  82.  
  83. case 4:
  84. if (getareausers("pvp_n_4-5",128,94,139,105) == 0){
  85. if($@someonegotin4 > 0){ mes "Room is now BUSY"; close;}
  86. set $@someonegotin4, 1;
  87. warp "pvp_n_4-5",130,99;
  88. killmonster "pvp_n_4-5","EmpBrk#4::OnThisMobDeath";
  89. initnpctimer "EmpBrk#4";}
  90. break;
  91.  
  92. default:
  93. close;
  94.  
  95. }
  96. sc_end SC_ALL;
  97. close;
  98.  
  99. L_reset:
  100. mes "[Emperium Breaker Test]";
  101. mes "Are you sure to reset official record ?";
  102. menu "Yes",-,"No",L_exit;
  103. set $empbrk_record, 0;
  104. set $empbrk_record$, "";
  105. close;
  106. L_resc:
  107. mes "[Emperium Breaker Test]";
  108. mes "Are you suere to rest your record?";
  109. menu "Yes",-,"No",L_exit;
  110. set empbrk_record, 0;
  111.  
  112. L_emptyrooms:
  113. set $@someonegotin1, 0;
  114. set $@someonegotin2, 0;
  115. set $@someonegotin3, 0;
  116. set $@someonegotin4, 0;
  117. close;
  118. L_exit:
  119. close;
  120.  
  121. }
  122.  
  123. - script EmpBrk#1 -1,{
  124.  
  125. OnTimer3000:
  126. if (.end == 1) { warpchar "prontera",150,172,.charid;
  127. stopnpctimer;
  128. set .end, 0;
  129. }
  130. end;
  131.  
  132. OnTimer5000:
  133. set .x1,94;
  134. set .y1,128;
  135. set .x2,105;
  136. set .y2,139;
  137. set .xe,100;
  138. set .ye,134;
  139.  
  140. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Let's ready to break the Emperium",0;
  141. set $@someonegotin1, 0;
  142. end;
  143.  
  144. OnTimer7000:
  145. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0;
  146. end;
  147.  
  148. OnTimer8000:
  149. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0;
  150. end;
  151.  
  152. OnTimer9000:
  153. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0;
  154. end;
  155.  
  156. OnTimer10000:
  157. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0;
  158. end;
  159.  
  160. OnTimer11000:
  161. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0;
  162. end;
  163.  
  164. OnTimer12000:
  165. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"GO!!!",0;
  166. monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#1::OnThisMobDeath";
  167. end;
  168.  
  169. OnTimer1200000:
  170. warpchar "prontera",150,172,.charid;
  171. stopnpctimer;
  172. set .end, 1;
  173. end;
  174.  
  175. OnThisMobDeath:
  176. stopnpctimer "EmpBrk#1";
  177. set .time, getnpctimer(0,"EmpBrk#1");
  178. set .time, .time - 12000;
  179. if (.time < empbrk_record || empbrk_record == 0)
  180. {
  181. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Own Record!!!",0;
  182. set empbrk_record, .time;
  183.  
  184. }
  185. if (.time < $empbrk_record || $empbrk_record == 0)
  186. {
  187. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Official Record!!!",0;
  188. announce strcharinfo(0)+" is now the NO. 1 Emperium Breaker!!",0;
  189. set $empbrk_record, .time;
  190. set $empbrk_record$,strcharinfo(0);
  191. }
  192. set .m, .time / 60000;
  193. set .time, .time - (.m * 60000);
  194. set .s, .time /1000;
  195. set .time, .time - (.s * 1000);
  196. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Your time is "+.m+"m "+.s+"s "+.time+"ms",0;
  197. set .end,1;
  198. set .charid,getcharid(0);
  199. initnpctimer;
  200. end;
  201. }
  202. pvp_n_4-5,99,125,0 script EmpBrk#1_touch -1,2,1,{
  203.  
  204. OnTouch:
  205. killmonster "pvp_n_4-5","EmpBrk#1::OnThisMobDeath";
  206. mes "[Emperium Breaker Test]";
  207. mes "You cannot exit from small sqare.";
  208. close2;
  209. set $@someonegotin1, 0;
  210. warp @mpempbrk$,@empbrkx,@empbrky;
  211.  
  212. close;
  213.  
  214. }
  215.  
  216. - script EmpBrk#2 -1,{
  217.  
  218.  
  219. OnTimer3000:
  220. if (.end == 1) { warpchar "prontera",150,172,.charid;
  221. stopnpctimer;
  222. set .end, 0;
  223. }
  224. end;
  225.  
  226. OnTimer5000:
  227. set .x1,60;
  228. set .y1,94;
  229. set .x2,71;
  230. set .y2,105;
  231. set .xe,65;
  232. set .ye,99;
  233.  
  234. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Let's ready to break the Emperium",0;
  235. set $@someonegotin2, 0;
  236. end;
  237.  
  238. OnTimer7000:
  239. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0;
  240. end;
  241.  
  242. OnTimer8000:
  243. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0;
  244. end;
  245.  
  246. OnTimer9000:
  247. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0;
  248. end;
  249.  
  250. OnTimer10000:
  251. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0;
  252. end;
  253.  
  254. OnTimer11000:
  255. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0;
  256. end;
  257.  
  258. OnTimer12000:
  259. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"GO!!!",0;
  260. monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#2::OnThisMobDeath";
  261. end;
  262.  
  263. OnTimer1200000:
  264. warpchar "prontera",150,172,.charid;
  265. stopnpctimer;
  266. set .end, 1;
  267. end;
  268.  
  269. OnThisMobDeath:
  270. stopnpctimer "EmpBrk#2";
  271. set .time, getnpctimer(0,"EmpBrk#2");
  272. set .time, .time - 12000;
  273. if (.time < empbrk_record || empbrk_record == 0)
  274. {
  275. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Own Record!!!",0;
  276. set empbrk_record, .time;
  277.  
  278. }
  279. if (.time < $empbrk_record || $empbrk_record == 0)
  280. {
  281. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Official Record!!!",0;
  282. announce strcharinfo(0)+" is now the NO. 1 Emperium Breaker!!",0;
  283. set $empbrk_record, .time;
  284. set $empbrk_record$,strcharinfo(0);
  285. }
  286. set .m, .time / 60000;
  287. set .time, .time - (.m * 60000);
  288. set .s, .time /1000;
  289. set .time, .time - (.s * 1000);
  290. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Your time is "+.m+"m "+.s+"s "+.time+"ms",0;
  291. set .end,1;
  292. set .charid,getcharid(0);
  293. initnpctimer;
  294. end;
  295. }
  296. pvp_n_4-5,74,99,0 script EmpBrk#2_touch -1,1,2,{
  297.  
  298. OnTouch:
  299. killmonster "pvp_n_4-5","EmpBrk#2::OnThisMobDeath";
  300. mes "[Emperium Breaker Test]";
  301. mes "You cannot exit from small sqare.";
  302. close2;
  303. set $@someonegotin2, 0;
  304. warp @mpempbrk$,@empbrkx,@empbrky;
  305. close;
  306.  
  307. }
  308.  
  309. - script EmpBrk#3 -1,{
  310.  
  311. OnTimer3000:
  312. if (.end == 1) { warpchar "prontera",150,172,.charid;
  313. stopnpctimer;
  314. set .end, 0;
  315. }
  316. end;
  317.  
  318. OnTimer5000:
  319. set .x1,94;
  320. set .y1,60;
  321. set .x2,105;
  322. set .y2,71;
  323. set .xe,99;
  324. set .ye,65;
  325.  
  326. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Let's ready to break the Emperium",0;
  327. set $@someonegotin3, 0;
  328. end;
  329.  
  330. OnTimer7000:
  331. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0;
  332. end;
  333.  
  334. OnTimer8000:
  335. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0;
  336. end;
  337.  
  338. OnTimer9000:
  339. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0;
  340. end;
  341.  
  342. OnTimer10000:
  343. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0;
  344. end;
  345.  
  346. OnTimer11000:
  347. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0;
  348. end;
  349.  
  350. OnTimer12000:
  351. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"GO!!!",0;
  352. monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#3::OnThisMobDeath";
  353. end;
  354.  
  355. OnTimer1200000:
  356. warpchar "prontera",150,172,.charid;
  357. stopnpctimer;
  358. set .end, 1;
  359. end;
  360.  
  361. OnThisMobDeath:
  362. stopnpctimer "EmpBrk#3";
  363. set .time, getnpctimer(0,"EmpBrk#3");
  364. set .time, .time - 12000;
  365. if (.time < empbrk_record || empbrk_record == 0)
  366. {
  367. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Own Record!!!",0;
  368. set empbrk_record, .time;
  369.  
  370. }
  371. if (.time < $empbrk_record || $empbrk_record == 0)
  372. {
  373. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Official Record!!!",0;
  374. announce strcharinfo(0)+" is now the NO. 1 Emperium Breaker!!",0;
  375. set $empbrk_record, .time;
  376. set $empbrk_record$,strcharinfo(0);
  377. }
  378. set .m, .time / 60000;
  379. set .time, .time - (.m * 60000);
  380. set .s, .time /1000;
  381. set .time, .time - (.s * 1000);
  382. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Your time is "+.m+"m "+.s+"s "+.time+"ms",0;
  383. set .end,1;
  384. set .charid,getcharid(0);
  385. initnpctimer;
  386. end;
  387. }
  388. pvp_n_4-5,100,74,0 script EmpBrk#3_touch -1,2,1,{
  389.  
  390. OnTouch:
  391. killmonster "pvp_n_4-5","EmpBrk#3::OnThisMobDeath";
  392. mes "[Emperium Breaker Test]";
  393. mes "You cannot exit from small sqare.";
  394. close2;
  395. set $@someonegotin3, 0;
  396. warp @mpempbrk$,@empbrkx,@empbrky;
  397. close;
  398.  
  399. }
  400.  
  401.  
  402. - script EmpBrk#4 -1,{
  403.  
  404. OnTimer3000:
  405. if (.end == 1) { warpchar "prontera",150,172,.charid;
  406. stopnpctimer;
  407. set .end, 0;
  408. }
  409. end;
  410.  
  411. OnTimer5000:
  412. set .x1,128;
  413. set .y1,94;
  414. set .x2,139;
  415. set .y2,105;
  416. set .xe,134;
  417. set .ye,99;
  418.  
  419. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Let's ready to break the Emperium",0;
  420. set $@someonegotin4, 0;
  421. end;
  422.  
  423. OnTimer7000:
  424. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0;
  425. end;
  426.  
  427. OnTimer8000:
  428. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0;
  429. end;
  430.  
  431. OnTimer9000:
  432. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0;
  433. end;
  434.  
  435. OnTimer10000:
  436. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0;
  437. end;
  438.  
  439. OnTimer11000:
  440. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0;
  441. end;
  442.  
  443. OnTimer12000:
  444. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"GO!!!",0;
  445. monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#4::OnThisMobDeath";
  446. end;
  447.  
  448. OnTimer1200000:
  449. warpchar "prontera",150,172,.charid;
  450. stopnpctimer;
  451. set .end, 1;
  452. end;
  453.  
  454. OnThisMobDeath:
  455. stopnpctimer "EmpBrk#4";
  456. set .time, getnpctimer(0,"EmpBrk#4");
  457. set .time, .time - 12000;
  458. if (.time < empbrk_record || empbrk_record == 0)
  459. {
  460. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Own Record!!!",0;
  461. set empbrk_record, .time;
  462.  
  463. }
  464. if (.time < $empbrk_record || $empbrk_record == 0)
  465. {
  466. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"New Official Record!!!",0;
  467. announce strcharinfo(0)+" is now the NO. 1 Emperium Breaker!!",0;
  468. set $empbrk_record, .time;
  469. set $empbrk_record$,strcharinfo(0);
  470. }
  471. set .m, .time / 60000;
  472. set .time, .time - (.m * 60000);
  473. set .s, .time /1000;
  474. set .time, .time - (.s * 1000);
  475. areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Your time is "+.m+"m "+.s+"s "+.time+"ms",0;
  476. set .end,1;
  477. set .charid,getcharid(0);
  478. initnpctimer;
  479. end;
  480. }
  481. pvp_n_4-5,125,100,0 script EmpBrk#4_touch -1,1,2,{
  482.  
  483. OnTouch:
  484. killmonster "pvp_n_4-5","EmpBrk#4::OnThisMobDeath";
  485. mes "[Emperium Breaker Test]";
  486. mes "You cannot exit from small sqare.";
  487. close2;
  488. set $@someonegotin4, 0;
  489. warp @mpempbrk$,@empbrkx,@empbrky;
  490. close;
  491.  
  492. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement