Guest User

flavius

a guest
Dec 8th, 2013
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.28 KB | None | 0 0
  1. //===== Hercules Script ======================================
  2. // BattleGround System - Flavius
  3. //===== By: ==================================================
  4. //= L0ne_W0lf
  5. //===== Current Version: =====================================
  6. //= 1.5b
  7. //===== Description: =========================================
  8. //= [AEGIS Conversion]
  9. //= Flavius Battleground.
  10. //= - Winning Team: 9 badges
  11. //= - Losing Team: 3 badge
  12. //===== Additional Comments: =================================
  13. //= 1.0 First Version.
  14. //= 1.1 Fixed pink crystal spawning as blue. [L0ne_W0lf]
  15. //= 1.2 Updated 'waitingroom' to support required zeny/lvl. [Kisuka]
  16. //= 1.3 Removed MaxLvl check in waitingrooms. Replaced setwall with setcell.
  17. //= 1.4 Attempt at implementing BG Queue [Ind/Hercules]
  18. //= 1.5 Attempt at implementing BG Queue team-algorithm [jaBote]
  19. //= 1.5b Adjustments to the team-splitting algorithm [Haruna]
  20. //============================================================
  21.  
  22.  
  23. //Tacham, while the script is under testings the original will remain, meaning if you wanna test this you need to disable the other, or they'll conflict.
  24. bat_b01,15,15,3 script start#bat_b01 CLEAR_NPC,{
  25. OnInit:
  26. mapwarp "bat_b01","bat_room",154,150;
  27. end;
  28.  
  29. //$@bg_queue_id is cleared after this event ends
  30. OnPlayerListReady:
  31.  
  32. set $@FlaviusBG1_id1, bg_create_team("bat_b01",10,290);
  33. set $@FlaviusBG1_id2, bg_create_team("bat_b01",390,10);
  34.  
  35. set $@Croix_QueueBG1, queue();
  36. set $@Guill_QueueBG1, queue();
  37.  
  38. queueopt($@Guill_QueueBG1,HQO_OnLogout,"start#bat_b01::OnGuillaumeQuit");
  39. queueopt($@Croix_QueueBG1,HQO_OnLogout,"start#bat_b01::OnCroixQuit");
  40. queueopt($@Guill_QueueBG1,HQO_OnDeath,"start#bat_b01::OnGuillaumeDie");
  41. queueopt($@Croix_QueueBG1,HQO_OnDeath,"start#bat_b01::OnCroixDie");
  42.  
  43. set .@i, 0;
  44.  
  45. copyarray .@bg_member[0],$@bg_member[0],$@bg_member_size;
  46. copyarray .@bg_member_group[0],$@bg_member_group[0],$@bg_member_size;
  47. copyarray .@bg_member_type[0],$@bg_member_type[0],$@bg_member_size;
  48.  
  49. freeloop(1);
  50. // Counting all participants and determining sizes, condensing .@bg_member_group
  51. set .@nogroupcount, 0;
  52. for (set .@i, 0; .@i < getarraysize(.@bg_member); set .@i, .@i + 1) {
  53. if (.@bg_member_group[.@i] == 0) { // Just count them
  54. set .@nogroupcount, .@nogroupcount + 1;
  55. continue;
  56. }
  57. // check if .@bg_member_group and .@bg_member_type already exists on these groups.
  58. for (set .@j, 0; .@j < getarraysize(.@bg_groups); set .@j, .@j + 1) { // <= since it has to start working even if the array is still blank
  59. if ( (.@bg_member_group[.@i] == .@bg_groups[.@j]) && (.@bg_member_type[.@i] == .@bg_types[.@j]) ) {
  60. set .@bg_count[.@j], .@bg_count[.@j] + 1;
  61. break;
  62. }
  63. // Else keep running the loop until we find there's a group already made or make a new one
  64. }
  65. if (.@j == (getarraysize(.@bg_groups)) ) { // It isn't there, insert a new entry at j
  66. set .@bg_groups[.@j], .@bg_member_group[.@i];
  67. set .@bg_types[.@j], .@bg_member_type[.@i];
  68. set .@bg_count[.@j], 1;
  69. }
  70. }
  71.  
  72. // Now, sorting the group arrays from amount of population descending! Bubble sort powers, I call upon thee!
  73. // Type doesn't matter here for precedence checks, but also needs to be sorted the same way along with groups
  74. for (set .@i, 0; .@i < getarraysize(.@bg_groups); set .@i, .@i + 1) {
  75. for (set .@j, 0; .@j < (getarraysize(.@bg_groups) - .@i); set .@j, .@j + 1) {
  76. if (.@bg_count[.@j] < .@bg_count[.@j+1]){
  77. set .@temp1, .@bg_groups[.@j];
  78. set .@temp2, .@bg_types[.@j];
  79. set .@temp3, .@bg_count[.@j];
  80. set .@bg_groups[.@j], .@bg_groups[.@j+1];
  81. set .@bg_types[.@j], .@bg_types[.@j+1];
  82. set .@bg_count[.@j], .@bg_count[.@j+1];
  83. set .@bg_groups[.@j+1], .@temp1;
  84. set .@bg_types[.@j+1], .@temp2;
  85. set .@bg_count[.@j+1], .@temp3;
  86. }
  87. }
  88. }
  89.  
  90. // Add the groups to the queues! :D
  91. for (set .@i, 0; .@i < getarraysize(.@bg_groups); set .@i, .@i + 1){
  92. if (queuesize($@Croix_QueueBG1) <= queuesize($@Guill_QueueBG1)){ // Catch'em all and add to the queue!
  93. for (set .@j, 0; .@j < getarraysize(.@bg_member); set .@j, .@j + 1) {
  94. if ( (.@bg_groups[.@i] == .@bg_member_group[.@j]) && (.@bg_types[.@i] == .@bg_member_type[.@j]) ) {
  95. bg_join_team($@FlaviusBG1_id1,.@bg_member[.@j]);
  96. queueadd($@Croix_QueueBG1, .@bg_member[.@j]);
  97. }
  98. }
  99. }
  100. else {
  101. for (set .@j, 0; .@j < getarraysize(.@bg_member); set .@j, .@j + 1) {
  102. if ( (.@bg_groups[.@i] == .@bg_member_group[.@j]) && (.@bg_types[.@i] == .@bg_member_type[.@j]) ) {
  103. bg_join_team($@FlaviusBG1_id2,.@bg_member[.@j]);
  104. queueadd($@Guill_QueueBG1, .@bg_member[.@j]);
  105. }
  106. }
  107. }
  108. }
  109. // Don't forget the people that go on their own!
  110. for (set .@i, 0; .@i <= getarraysize(.@bg_member); set .@i, .@i+1) {
  111. if (.@bg_member_group[.@i] == 0) { // Get alone people only
  112. if (queuesize($@Croix_QueueBG1) <= queuesize($@Guill_QueueBG1)) {
  113. bg_join_team($@FlaviusBG1_id1,.@bg_member[.@i]);
  114. queueadd($@Croix_QueueBG1, .@bg_member[.@i]);
  115. }
  116. else {
  117. bg_join_team($@FlaviusBG1_id2,.@bg_member[.@i]);
  118. queueadd($@Guill_QueueBG1, .@bg_member[.@i]);
  119. }
  120. }
  121. }
  122. freeloop(0);
  123.  
  124. set $@FlaviusBG1, 1;
  125. set $@FlaviusBG1_Victory, 0;
  126. set $@Croix_ScoreBG1, 0;
  127. set $@Guill_ScoreBG1, 0;
  128.  
  129. bg_updatescore "bat_b01",$@Guill_ScoreBG1,$@Croix_ScoreBG1;
  130.  
  131. donpcevent "OBJ#bat_b01_a::OnKill";
  132. donpcevent "OBJ#bat_b01_b::OnKill";
  133. donpcevent "guardian#bat_b01_a::OnKill";
  134. donpcevent "guardian#bat_b01_b::OnKill";
  135. donpcevent "guardian#bat_b01_a::OnEnable";
  136. donpcevent "guardian#bat_b01_b::OnEnable";
  137. donpcevent "time#bat_b01::OnEnable";
  138. disablenpc "Guillaume Vintenar#b01";
  139. disablenpc "Croix Vintenar#b01";
  140. bg_warp $@FlaviusBG1_id1,"bat_b01",87,75;
  141. bg_warp $@FlaviusBG1_id2,"bat_b01",311,224;
  142.  
  143. /* after warp */
  144. queueopt($@Guill_QueueBG1,HQO_OnMapChange,"start#bat_b01::OnGuillaumeQuit");
  145. queueopt($@Croix_QueueBG1,HQO_OnMapChange,"start#bat_b01::OnCroixQuit");
  146.  
  147. donpcevent "countdown#bat_b01::OnEnable";
  148. end;
  149.  
  150. OnReset:
  151. donpcevent "OBJ#bat_b01_a::OnKill";
  152. donpcevent "OBJ#bat_b01_b::OnKill";
  153. donpcevent "guardian#bat_b01_a::OnKill";
  154. donpcevent "guardian#bat_b01_b::OnKill";
  155. donpcevent "guardian#bat_b01_a::OnEnable";
  156. donpcevent "guardian#bat_b01_b::OnEnable";
  157. donpcevent "time#bat_b01::OnEnable";
  158. disablenpc "Guillaume Vintenar#b01";
  159. disablenpc "Croix Vintenar#b01";
  160. bg_warp $@FlaviusBG1_id1,"bat_b01",87,75;
  161. bg_warp $@FlaviusBG1_id2,"bat_b01",311,224;
  162. end;
  163.  
  164. OnCroixDie:
  165. warp "bat_b01",10,290;
  166. end;
  167.  
  168. OnGuillaumeDie:
  169. warp "bat_b01",390,10;
  170. end;
  171.  
  172. OnCroixQuit:
  173. queueremove($@Croix_QueueBG1,getcharid(3));
  174. callsub L_OnPlayerQuit;
  175. end;
  176.  
  177. OnGuillaumeQuit:
  178. queueremove($@Guill_QueueBG1,getcharid(3));
  179. callsub L_OnPlayerQuit;
  180. end;
  181.  
  182. L_OnPlayerQuit:
  183. bg_leave;
  184. setd $@bg_delay_var$,gettimetick(2);
  185. if( queuesize($@Guill_QueueBG1) == 0 )
  186. {
  187. set $@Guill_ScoreBG1,2;
  188. set $@Croix_ScoreBG1,0;
  189. bg_warp $@FlaviusBG1_id1,"bat_b01",10,290;
  190. bg_warp $@FlaviusBG1_id2,"bat_b01",390,10;
  191. enablenpc "Guillaume Vintenar#b01";
  192. enablenpc "Croix Vintenar#b01";
  193. callsub OnMatchOver;
  194. }
  195. if( queuesize($@Croix_QueueBG1) == 0 )
  196. {
  197. set $@Guill_ScoreBG1,0;
  198. set $@Croix_ScoreBG1,2;
  199. bg_warp $@FlaviusBG1_id1,"bat_b01",10,290;
  200. bg_warp $@FlaviusBG1_id2,"bat_b01",390,10;
  201. enablenpc "Guillaume Vintenar#b01";
  202. enablenpc "Croix Vintenar#b01";
  203. callsub OnMatchOver;
  204. }
  205. end;
  206.  
  207. OnMatchOver:
  208. if( $@FlaviusBG1_id1 || $@FlaviusBG1_id2 ) {
  209. queuedel($@Croix_QueueBG1);
  210. queuedel($@Guill_QueueBG1);
  211. }
  212. if( $@FlaviusBG1_id1 ) { bg_destroy $@FlaviusBG1_id1; set $@FlaviusBG1_id1, 0; }
  213. if( $@FlaviusBG1_id2 ) { bg_destroy $@FlaviusBG1_id2; set $@FlaviusBG1_id2, 0; }
  214. end;
  215. }
  216.  
  217. bat_b01,1,1,3 script OBJ#bat_b01_a CLEAR_NPC,{
  218. OnEnable:
  219. bg_monster $@FlaviusBG1_id1,"bat_b01",61,150,"Pink Crystal",1915,"OBJ#bat_b01_a::OnMyMobDead";
  220. end;
  221.  
  222. OnKill:
  223. killmonster "bat_b01","OBJ#bat_b01_a::OnMyMobDead";
  224. end;
  225.  
  226. OnMyMobDead:
  227. if (mobcount("bat_b01","OBJ#bat_b01_a::OnMyMobDead") < 1) {
  228. mapannounce "bat_b01", "Le cristal de Guillaume est tombé !",bc_map,"0xFFCE00";
  229. bg_warp $@FlaviusBG1_id1,"bat_b01",10,290;
  230. bg_warp $@FlaviusBG1_id2,"bat_b01",390,10;
  231. if ($@Croix_ScoreBG1 > 0) {
  232. set $@FlaviusBG1_Victory,2;
  233. set $@Croix_ScoreBG1,$@Croix_ScoreBG1+1;
  234. enablenpc "Guillaume Vintenar#b01";
  235. enablenpc "Croix Vintenar#b01";
  236. donpcevent "time#bat_b01::OnStop";
  237. donpcevent "start#bat_b01::OnMatchOver";
  238. }
  239. else {
  240. set $@Croix_ScoreBG1,1;
  241. donpcevent "time#bat_b01::OnEnable";
  242. donpcevent "start#bat_b01::onReset";
  243. }
  244. bg_updatescore "bat_b01",$@Guill_ScoreBG1,$@Croix_ScoreBG1;
  245. }
  246. end;
  247. }
  248. bat_b01,1,2,3 script OBJ#bat_b01_b CLEAR_NPC,{
  249. OnEnable:
  250. bg_monster $@FlaviusBG1_id2,"bat_b01",328,150,"Blue Crystal",1914,"OBJ#bat_b01_b::OnMyMobDead";
  251. end;
  252.  
  253. OnKill:
  254. killmonster "bat_b01","OBJ#bat_b01_b::OnMyMobDead";
  255. end;
  256.  
  257. OnMyMobDead:
  258. if (mobcount("bat_b01","OBJ#bat_b01_b::OnMyMobDead") < 1) {
  259. mapannounce "bat_b01", "Le cristal de Croix est tombé !",bc_map,"0xFFCE00";
  260. bg_warp $@FlaviusBG1_id1,"bat_b01",10,290;
  261. bg_warp $@FlaviusBG1_id2,"bat_b01",390,10;
  262. if ($@Guill_ScoreBG1 > 0) {
  263. set $@FlaviusBG1_Victory,1;
  264. set $@Guill_ScoreBG1,$@Guill_ScoreBG1+1;
  265.  
  266. enablenpc "Guillaume Vintenar#b01";
  267. enablenpc "Croix Vintenar#b01";
  268.  
  269.  
  270. donpcevent "time#bat_b01::OnStop";
  271. donpcevent "start#bat_b01::OnMatchOver";
  272. }
  273. else {
  274. set $@Guill_ScoreBG1,1;
  275. donpcevent "time#bat_b01::OnEnable";
  276. donpcevent "start#bat_b01::onReset";
  277. }
  278. bg_updatescore "bat_b01",$@Guill_ScoreBG1,$@Croix_ScoreBG1;
  279. }
  280. end;
  281. }
  282.  
  283. bat_b01,1,3,3 script guardian#bat_b01_a CLEAR_NPC,{
  284. OnEnable:
  285. bg_monster $@FlaviusBG1_id1,"bat_b01",108,159,"Guillaume Camp Guardian",1949,"guardian#bat_b01_a::OnMyMobDead";
  286. bg_monster $@FlaviusBG1_id1,"bat_b01",108,141,"Guillaume Camp Guardian",1949,"guardian#bat_b01_a::OnMyMobDead";
  287. end;
  288.  
  289. OnKill:
  290. killmonster "bat_b01","guardian#bat_b01_a::OnMyMobDead";
  291. end;
  292.  
  293. OnMyMobDead:
  294. if (mobcount("bat_b01","guardian#bat_b01_a::OnMyMobDead") < 1) {
  295. mapannounce "bat_b01", "Les gardiens de Guillaume sont tombés ! Le cristal va apparaitre !",bc_map,"0xFFCE00";
  296. donpcevent "OBJ#bat_b01_a::OnEnable";
  297. }
  298. end;
  299. }
  300.  
  301. bat_b01,1,3,3 script guardian#bat_b01_b CLEAR_NPC,{
  302. OnEnable:
  303. bg_monster $@FlaviusBG1_id2,"bat_b01",307,160,"Croix Camp Guardian",1949,"guardian#bat_b01_b::OnMyMobDead";
  304. bg_monster $@FlaviusBG1_id2,"bat_b01",307,138,"Croix Camp Guardian",1949,"guardian#bat_b01_b::OnMyMobDead";
  305. end;
  306.  
  307. OnKill:
  308. killmonster "bat_b01","guardian#bat_b01_b::OnMyMobDead";
  309. end;
  310.  
  311. OnMyMobDead:
  312. if (mobcount("bat_b01","guardian#bat_b01_b::OnMyMobDead") < 1) {
  313. mapannounce "bat_b01", "Les gardiens de Croix sont tombés ! Le cristal va apparaitre !",bc_map,"0xFFCE00";
  314. donpcevent "OBJ#bat_b01_b::OnEnable";
  315. }
  316. end;
  317. }
  318.  
  319.  
  320. bat_b01,1,6,1 script time#bat_b01 CLEAR_NPC,{
  321. OnEnable:
  322. donpcevent "Battle Therapist#b01_a::OnEnable";
  323. donpcevent "Battle Therapist#b01_b::OnEnable";
  324. end;
  325.  
  326. OnStop:
  327. donpcevent "Battle Therapist#b01_a::OnStop";
  328. donpcevent "Battle Therapist#b01_b::OnStop";
  329. end;
  330. }
  331.  
  332. bat_b01,10,294,3 script Battle Therapist#b01_a 4_F_SISTER,{
  333. specialeffect2 EF_HEAL;
  334. percentheal 100,100;
  335. repairall;
  336. end;
  337.  
  338. OnTimer25000:
  339. specialeffect EF_SANCTUARY;
  340. enablenpc "bat_b01_rp1_a_warp";
  341. end;
  342.  
  343. OnTimer26000:
  344. disablenpc "bat_b01_rp1_a_warp";
  345. end;
  346.  
  347. OnTimer26500:
  348. stopnpctimer;
  349. donpcevent "Battle Therapist#b01_a::onEnable";
  350. end;
  351.  
  352. OnEnable:
  353. initnpctimer;
  354. enablenpc "Battle Therapist#b01_a";
  355. end;
  356.  
  357. OnStop:
  358. disablenpc "bat_b01_rp1_a_warp";
  359. disablenpc "Battle Therapist#b01_a";
  360. stopnpctimer;
  361. end;
  362. }
  363.  
  364. bat_b01,10,290,0 script bat_b01_rp1_a_warp WARPNPC,10,10,{
  365. OnInit:
  366. disablenpc "bat_b01_rp1_a_warp";
  367. end;
  368.  
  369. OnTouch:
  370. percentheal 100,100;
  371. warp "bat_b01",87,73;
  372. end;
  373. }
  374.  
  375. bat_b01,389,14,3 script Battle Therapist#b01_b 4_F_SISTER,{
  376. specialeffect2 EF_HEAL;
  377. percentheal 100,100;
  378. repairall;
  379. end;
  380.  
  381. OnTimer25000:
  382. specialeffect EF_SANCTUARY;
  383. enablenpc "bat_b01_rp1_b_warp";
  384. end;
  385.  
  386. OnTimer26000:
  387. disablenpc "bat_b01_rp1_b_warp";
  388. end;
  389.  
  390. OnTimer26500:
  391. stopnpctimer;
  392. donpcevent "Battle Therapist#b01_b::OnEnable";
  393. end;
  394.  
  395. OnEnable:
  396. initnpctimer;
  397. enablenpc "Battle Therapist#b01_b";
  398. end;
  399.  
  400. OnStop:
  401. disablenpc "bat_b01_rp1_b_warp";
  402. disablenpc "Battle Therapist#b01_b";
  403. stopnpctimer;
  404. end;
  405. }
  406.  
  407. bat_b01,389,10,0 script bat_b01_rp1_b_warp WARPNPC,9,9,{
  408. OnInit:
  409. disablenpc "bat_b01_rp1_a_warp";
  410. end;
  411.  
  412. OnTouch:
  413. percentheal 100,100;
  414. warp "bat_b01",312,225;
  415. end;
  416. }
  417.  
  418. bat_b01,87,76,0 script A_CODE#bat_b01 -1,5,5,{
  419. OnTouch:
  420. if (checkquest(2070) < 0)
  421. setquest 2070;
  422. end;
  423. }
  424.  
  425. bat_b01,312,224,0 script B_CODE#bat_b01 -1,5,5,{
  426. OnTouch:
  427. if (checkquest(2070) < 0)
  428. setquest 2070;
  429. end;
  430. }
  431.  
  432. bat_b01,1,5,3 script countdown#bat_b01 CLEAR_NPC,{
  433. OnInit:
  434. stopnpctimer;
  435. end;
  436.  
  437. OnEnable:
  438. stopnpctimer;
  439. initnpctimer;
  440. end;
  441.  
  442. OnStop:
  443. stopnpctimer;
  444. end;
  445.  
  446. OnTimer7000:
  447. mapannounce "bat_b01", "Guillaume Vintenar Axl Rose : Allez affronter les gardiens de Croix et le cristal apparaitra!",bc_map,"0xFF9900";
  448. end;
  449.  
  450. OnTimer8000:
  451. mapannounce "bat_b01", "Guillaume Vintenar Axl Rose : Une fois le cristal détruit, la victoire sera à nous!",bc_map,"0xFF9900";
  452. end;
  453.  
  454. OnTimer9000:
  455. mapannounce "bat_b01", "Croix Vintenar Swandery : Ne vous laissez pas faire ! Rien n'est encore joué!",bc_map,"0xFF99CC";
  456. end;
  457.  
  458. OnTimer10000:
  459. mapannounce "bat_b01", "Croix Vintenar Swandery : Nous pouvons encore riposter et détruire le cristal adverse avant que le notre tombe!",bc_map,"0xFF99CC";
  460. end;
  461.  
  462. OnTimer1830000:
  463. donpcevent "time#bat_b01::OnStop";
  464. bg_warp $@FlaviusBG1_id1,"bat_b01",10,290;
  465. bg_warp $@FlaviusBG1_id2,"bat_b01",390,10;
  466. enablenpc "Guillaume Vintenar#b01";
  467. enablenpc "Croix Vintenar#b01";
  468. end;
  469.  
  470. OnTimer1900000:
  471. mapwarp "bat_b01","bat_room",154,150;
  472. donpcevent "countdown#bat_b01::OnStop";
  473. donpcevent "start#bat_b01::OnMatchOver";
  474. end;
  475. }
  476.  
  477. bat_b01,81,83,3 script Guillaume Camp#flag21 1_FLAG_LION,{ end; }
  478. bat_b01,94,83,3 script Guillaume Camp#flag22 1_FLAG_LION,{ end; }
  479. bat_b01,81,66,3 script Guillaume Camp#flag23 1_FLAG_LION,{ end; }
  480. bat_b01,94,66,3 script Guillaume Camp#flag24 1_FLAG_LION,{ end; }
  481. bat_b01,139,142,3 script Guillaume Camp#flag25 1_FLAG_LION,{ end; }
  482. bat_b01,139,158,3 script Guillaume Camp#flag26 1_FLAG_LION,{ end; }
  483. bat_b01,110,161,3 script Guillaume Camp#flag27 1_FLAG_LION,{ end; }
  484. bat_b01,110,137,3 script Guillaume Camp#flag28 1_FLAG_LION,{ end; }
  485. bat_b01,63,135,3 script Guillaume Camp#flag29 1_FLAG_LION,{ end; }
  486. bat_b01,63,165,3 script Guillaume Camp#flag30 1_FLAG_LION,{ end; }
  487. bat_b01,10,296,3 script Guillaume Camp#flag31 1_FLAG_LION,{ end; }
  488.  
  489. bat_b01,306,233,3 script Croix Camp#flag21 1_FLAG_EAGLE,{ end; }
  490. bat_b01,317,233,3 script Croix Camp#flag22 1_FLAG_EAGLE,{ end; }
  491. bat_b01,306,216,3 script Croix Camp#flag23 1_FLAG_EAGLE,{ end; }
  492. bat_b01,317,216,3 script Croix Camp#flag24 1_FLAG_EAGLE,{ end; }
  493. bat_b01,257,158,3 script Croix Camp#flag25 1_FLAG_EAGLE,{ end; }
  494. bat_b01,257,141,3 script Croix Camp#flag26 1_FLAG_EAGLE,{ end; }
  495. bat_b01,297,164,3 script Croix Camp#flag27 1_FLAG_EAGLE,{ end; }
  496. bat_b01,297,136,3 script Croix Camp#flag28 1_FLAG_EAGLE,{ end; }
  497. bat_b01,336,161,3 script Croix Camp#flag29 1_FLAG_EAGLE,{ end; }
  498. bat_b01,336,139,3 script Croix Camp#flag30 1_FLAG_EAGLE,{ end; }
  499. bat_b01,389,16,3 script Croix Camp#flag31 1_FLAG_EAGLE,{ end; }
  500.  
  501. bat_b01,10,294,3 script Guillaume Vintenar#b01 4_M_KY_HEAD,14,14,{
  502. OnTouch:
  503. set .@A_B_gap,$@Guill_ScoreBG1 - $@Croix_ScoreBG1;
  504. if ($@FlaviusBG1_id1 == getcharid(4)) {
  505. if (.@A_B_gap > 0) {
  506. getitem 7829,25; //BF_Badge2
  507. atcommand "@cash 10";
  508. }
  509. else {
  510. getitem 7829,10; //BF_Badge2
  511. atcommand "@cash 10";
  512. }
  513. }
  514. bg_leave;
  515. warp "bat_room",154,150;
  516. if(getmapusers ("bat_b01")==0)
  517. {
  518. sleep2 5000;
  519. bg_match_over("Flavius");
  520. bg_match_over("Tierra Gorge");
  521. }
  522. end;
  523. }
  524.  
  525. bat_b01,389,14,3 script Croix Vintenar#b01 4_M_CRU_HEAD,14,14,{
  526. OnTouch:
  527. set .@A_B_gap,$@Guill_ScoreBG1 - $@Croix_ScoreBG1;
  528. if ($@FlaviusBG1_id1 == getcharid(4)) {
  529. if (.@A_B_gap > 0) {
  530. getitem 7829,10; //BF_Badge2
  531. atcommand "@cash 10";
  532. }
  533. else {
  534. getitem 7829,25; //BF_Badge2
  535. atcommand "@cash 10";
  536. }
  537. }
  538. bg_leave;
  539. warp "bat_room",154,150;
  540. if(getmapusers ("bat_b01")==0)
  541. {
  542. sleep2 5000;
  543. bg_match_over("Flavius");
  544. bg_match_over("Tierra Gorge");
  545. }
  546. end;
  547. }
Advertisement
Add Comment
Please, Sign In to add comment