Advertisement
Guest User

Untitled

a guest
Aug 8th, 2012
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.07 KB | None | 0 0
  1. prontera,157,187,4 script Team Wars::teamwar 899,{
  2. if (getgmlevel() >= 99){
  3. menu "standard menu",-,"reset",lend;
  4. }
  5. getpartymember(getcharid(1));
  6. set @partymembercount,$@partymembercount;
  7. if ( $@start==1) {
  8. mes "The Sign Ups are currently unavailable because a match is in progress. Don't hesitate to try again in a few minutes!";
  9. close;
  10. }
  11. if ( @partymembercount==$@members) {
  12. if ($@TeamID1==getcharid(1)) { // here should be a check for the party leader ;O
  13. mes "Do you wish to sign out your team?";
  14. next;
  15. if (select("I Give up ~.","Never Say Quit !!")==2) close;
  16. announce "Team 1 : [ " + getpartyname($@TeamID1) + " ] has sign out. We need another Party to sign up now!",bc_yellow|bc_map;
  17. set $@TeamID1, 0;
  18. close;
  19. }
  20. if ($@TeamID2==getcharid(1)) { // here should be a check for the party leader ;O
  21. mes "Do you wish to sign out your team?";
  22. next;
  23. if (select("I Give up ~.","Never Say Quit !!")==2) close;
  24. announce "Team 2 : [ " + getpartyname($@TeamID2) + " ] has sign out. We need another Party to sign up now!",bc_yellow|bc_map;
  25. set $@TeamID2, 0;
  26. close;
  27. }
  28. mes "Hello "+strcharinfo(0)+" what do you want?";
  29. if ($@TeamID1 != 0 && $@TeamID2 != 0) {
  30. mes "The Sign Ups are currently unavailable because a match is in progress. Don't hesitate to try again in a few minutes!";
  31. close;
  32. }
  33. if ( getpartyleader(getcharid(1),2) != getcharid(0) ) {
  34. mes "Only party leader have the right to sign up / out from the game with me..";
  35. close;
  36. }
  37. mes "Choose your team to register.";
  38. switch(select("Red Team - [" + GetPartyName($@TeamID1) + "] :Blue Team - [" + GetPartyName($@TeamID2) + "]")) {
  39. case 1: mes "[ Red Team ]";
  40. if ($@TeamID1==0 || getpartyname($@TeamID1)=="null") {
  41. getpartymember(getcharid(1)),1;
  42. getpartymember(getcharid(1)),2;
  43. copyarray $@partymembercidt1[0],$@partymembercid[0],$@members;
  44. copyarray $@partymemberaid1[0],$@partymemberaid[0],$@members;
  45. for (set .@i,0; .@i<$@members; set .@i,.@i+1) {
  46. if(isloggedin($@partymemberaid1[.@i],$@partymembercidt1[.@i])) set .@count,.@count+1;
  47. }
  48. if(.@count < $@members) {
  49. mes "You need all your party members to be online to Register";
  50. close;
  51. }
  52. set $@TeamID1, getcharid(1);
  53. initnpctimer;
  54. mes "Your Party is now subscribed, good luck!";
  55. announce "Team 1 : [ " +getpartyname($@TeamID1)+ " ] has sign up For the Team War!",bc_blue|bc_map;
  56. doevent "teamwar::OnSubscriptionTeam";
  57. close;
  58. } else {
  59. mes "I'm sorry! Another Team has sign up before you...";
  60. close;
  61. }
  62. case 2: mes "[ Blue Team ]";
  63. if ($@TeamID2==0 || getpartyname($@TeamID2)=="null")
  64. {
  65. getpartymember(getcharid(1)),1;
  66. getpartymember(getcharid(1)),2;
  67. copyarray $@partymembercidt2[0],$@partymembercid[0],$@members;
  68. copyarray $@partymemberaid2[0],$@partymemberaid[0],$@members;
  69. for (set .@i,0; .@i<$@members; set .@i,.@i+1) {
  70. if(isloggedin($@partymemberaid2[.@i],$@partymembercidt2[.@i])) set .@count,.@count+1;
  71. }
  72. if(.@count < $@members) {
  73. mes "You need all your party members to be online to Register";
  74. close;
  75. }
  76. set $@TeamID2, getcharid(1);
  77. initnpctimer;
  78. mes "Your Party is now subscribed, good luck!";
  79. announce "Team 2 : [ " +getpartyname($@TeamID2)+ " ] has sign up For the Team War!",bc_blue|bc_map;
  80. doevent "teamwar::OnSubscriptionTeam";
  81. close;
  82. }
  83. else
  84. {
  85. mes "I'm sorry! Another Team has sign up before you...";
  86. close;
  87. }
  88. }
  89. } else {
  90. mes "[Event Handler]";
  91. mes "Please contact your party leader.";
  92. mes "Your team must have a party consisting of "+$@members+" members.";
  93. close;
  94. }
  95.  
  96. ////////////////////////////////////////////////////////////////////////////
  97. ////Checker Script//////////////////////////////////////////////////////////
  98. ////////////////////////////////////////////////////////////////////////////
  99. OnSubscriptionTeam:
  100. getpartymember($@TeamID2),1;
  101. getpartymember($@TeamID2),2;
  102. copyarray $@partymembercidtc2[0],$@partymembercid[0],$@members;
  103. copyarray $@partymemberaidc2[0],$@partymemberaid[0],$@members;
  104. for (set .@i,0; .@i<$@members; set .@i,.@i+1) {
  105. if(isloggedin($@partymemberaidc2[.@i],$@partymembercidtc2[.@i])) set .@countx,.@countx+1;
  106. }
  107. if(.@countx < $@members) {
  108. announce "Team War : "+getpartyname($@TeamID2)+"are not all online the match has been canceled",0;
  109. announce "Team War : registration for 2 new teams are now available",0;
  110. goto lend;
  111. }
  112. getpartymember($@TeamID1),1;
  113. getpartymember($@TeamID1),2;
  114. copyarray $@partymembercidtc1[0],$@partymembercid[0],$@members;
  115. copyarray $@partymemberaidc1[0],$@partymemberaid[0],$@members;
  116. for (set .@i,0; .@i<$@members; set .@i,.@i+1) {
  117. if(isloggedin($@partymemberaidc1[.@i],$@partymembercidtc1[.@i])) set .@countz,.@countz+1;
  118. }
  119. if(.@countz < $@members) {
  120. announce "Team War : "+getpartyname($@TeamID1)+"are not all online the match has been canceled",0;
  121. announce "Team War : registration for 2 new teams are now available",0;
  122. goto lend;
  123. }
  124. if($@TeamID1!=0 && $@TeamID2!=0){
  125. announce "Team War : We have 2 Teams signed up now : "+getpartyname($@TeamID1)+" and "+getpartyname($@TeamID2)+".",bc_blue|bc_map;
  126. set @win1, 0;
  127. set @win2, 0;
  128. warpparty "quiz_01",64,183,$@TeamID1;
  129. warpparty "quiz_01",229,368,$@TeamID2;
  130. goto onstart;
  131. end;
  132. }
  133. OnTimer50000:
  134. if (($@TeamID1!=0) && ($@TeamID2!=0)) {
  135. stopnpctimer;
  136. end;
  137. }
  138. stopnpctimer;
  139. set $@TeamID1, 0;
  140. set $@TeamID1, 0;
  141. announce "Team War : we lack teams to start registration for two teams are now available",0;
  142. end;
  143.  
  144.  
  145. ////////////////////////////////////////////////////////////////////////////
  146. ////On Start//////////////////////////////////////////////////////////////
  147. ////////////////////////////////////////////////////////////////////////////
  148.  
  149. onstart:
  150. set $@start,1;
  151. goto OnPub;
  152. end;
  153.  
  154. ////////////////////////////////////////////////////////////////////////////
  155. ////If Inside Pub Timer/////////////////////////////////////////////////////
  156. ////////////////////////////////////////////////////////////////////////////
  157. OnPub:
  158. announce "Team War : Please Enter the pub to warp inside the arena.",0;
  159. sleep2 10000;
  160. announce "Team War : [4 min.] Please Enter The Pub to warp inside the Arena.",0;
  161. sleep2 10000;
  162. announce "Team War : [3 min.] Please Enter The Pub to warp inside the Arena.",0;
  163. sleep2 10000;
  164. announce "Team War : [2 min.] Please Enter The Pub to warp inside the Arena.",0;
  165. sleep2 10000;
  166. announce "Team War : [1 min.] Checking Participants...",0;
  167. if(getmapusers("quiz_01") > 1) goto OnDQ;
  168. if(getmapusers("quiz_01") == 0) {
  169. sleep2 10000;
  170. announce "Team War: Lets Start in 5.",0;
  171. sleep2 5000;
  172. announce "Team War: 4",0;
  173. sleep2 4000;
  174. announce "Team War: 3",0;
  175. sleep2 3000;
  176. announce "Team War: 2",0;
  177. sleep2 2000;
  178. announce "Team War: 1",0;
  179. sleep2 1000;
  180. setcell "guild_vs3",80,55,80,44,cell_walkable,1;
  181. setcell "guild_vs3",19,55,19,44,cell_walkable,1;
  182. disablenpc "WALL#41";
  183. disablenpc "WALL#42";
  184. disablenpc "WALL#43";
  185. disablenpc "WALL#44";
  186. disablenpc "WALL#45";
  187. disablenpc "WALL#46";
  188. disablenpc "WALL#47";
  189. disablenpc "WALL#48";
  190. disablenpc "WALL#49";
  191. disablenpc "WALL#50";
  192. disablenpc "WALL#51";
  193. disablenpc "WALL#52";
  194. disablenpc "WALL#53";
  195. disablenpc "WALL#54";
  196. disablenpc "WALL#55";
  197. disablenpc "WALL#56";
  198. disablenpc "WALL#57";
  199. disablenpc "WALL#58";
  200. disablenpc "WALL#59";
  201. disablenpc "WALL#60";
  202. disablenpc "WALL#61";
  203. disablenpc "WALL#62";
  204. disablenpc "WALL#63";
  205. disablenpc "WALL#64";
  206. announce "Team War: Ready to Rumble",0;
  207. end;
  208. }
  209.  
  210. }
  211. ////////////////////////////////////////////////////////////////////////////
  212. ////Waiting Room Red Team///////////////////////////////////////////////////
  213. ////////////////////////////////////////////////////////////////////////////
  214. quiz_01,52,182,3 script Red Team#01 467,{
  215. end;
  216. OnInit:
  217. waitingroom "Waiting room 1",2,"Red Team#01::OnRoomFull",2; //Create a waitingroom
  218. enablewaitingroomevent; //Enable the event trigger for the waiting room
  219. end;
  220.  
  221. OnRoomFull:
  222. if(!getwaitingroomstate(32,"Blue Team#01")) end; //Check if the other waiting room is full, if not end the script.
  223. donpcevent "Blue Team#01::OnRoomWarp"; //Warp the second room
  224. callsub OnRoomWarp; //Warp this room.
  225. end;
  226.  
  227. OnRoomWarp:
  228. doevent "teamwar::OnSubscriptionTeam";
  229. warpwaitingpc "guild_vs3",14,51;
  230. end;
  231. }
  232.  
  233. ////////////////////////////////////////////////////////////////////////////
  234. ////Waiting Room Blue Team//////////////////////////////////////////////////
  235. ////////////////////////////////////////////////////////////////////////////
  236. quiz_01,220,368,3 script Blue Team#01 467,{
  237. end;
  238. OnInit:
  239. waitingroom "Waiting room 2",2,"Blue Team#01::OnRoomFull",2;
  240. enablewaitingroomevent;
  241. end;
  242.  
  243. OnRoomFull:
  244. if(!getwaitingroomstate(32,"Red Team#01")) end;
  245. donpcevent "Red Team#01::OnRoomWarp";
  246. callsub OnRoomWarp;
  247. end;
  248.  
  249. OnRoomWarp:
  250. doevent "teamwar::OnSubscriptionTeam";
  251. warpwaitingpc "guild_vs3",84,51;
  252. end;
  253.  
  254. ////////////////////////////////////////////////////////////////////////////
  255. ////If Disqualified/////////////////////////////////////////////////////////
  256. ////////////////////////////////////////////////////////////////////////////
  257. OnDQ:
  258. announce "Team War : No Party won due to player still not Entering the Waiting Room.!",0;
  259. mapwarp "quiz_01","prontera",156,191;
  260. mapwarp "guild_vs3","prontera",156,191;
  261. stopnpctimer;
  262. set $@members,7; // number of party members change this to your party size you want
  263. set $@TeamID1,0;
  264. set $@TeamID2,0;
  265. set $@start,0;
  266. set .@win1,0;
  267. set .@win2,0;
  268. setcell "guild_vs3",19,55,19,44,cell_walkable,0;
  269. setcell "guild_vs3",80,55,80,44,cell_walkable,0;
  270. enablenpc "WALL#41";
  271. enablenpc "WALL#42";
  272. enablenpc "WALL#43";
  273. enablenpc "WALL#44";
  274. enablenpc "WALL#45";
  275. enablenpc "WALL#46";
  276. enablenpc "WALL#47";
  277. enablenpc "WALL#48";
  278. enablenpc "WALL#49";
  279. enablenpc "WALL#50";
  280. enablenpc "WALL#51";
  281. enablenpc "WALL#52";
  282. enablenpc "WALL#53";
  283. enablenpc "WALL#54";
  284. enablenpc "WALL#55";
  285. enablenpc "WALL#56";
  286. enablenpc "WALL#57";
  287. enablenpc "WALL#58";
  288. enablenpc "WALL#59";
  289. enablenpc "WALL#60";
  290. enablenpc "WALL#61";
  291. enablenpc "WALL#62";
  292. enablenpc "WALL#63";
  293. enablenpc "WALL#64";
  294. end;
  295.  
  296.  
  297. ////////////////////////////////////////////////////////////////////////////
  298. ////Arena End Script////////////////////////////////////////////////////////
  299. ////////////////////////////////////////////////////////////////////////////
  300. lend:
  301. stopnpctimer;
  302. set $@members,2; // Number of Party Members Change This in your party size.. - don't forget to change also the pub number size..
  303. set $@TeamID1,0;
  304. set $@TeamID2,0;
  305. set $@start,0;
  306. set .@win1,0;
  307. set .@win2,0;
  308. setcell "guild_vs3",19,55,19,44,cell_walkable,0;
  309. setcell "guild_vs3",80,55,80,44,cell_walkable,0;
  310. enablenpc "WALL#41";
  311. enablenpc "WALL#42";
  312. enablenpc "WALL#43";
  313. enablenpc "WALL#44";
  314. enablenpc "WALL#45";
  315. enablenpc "WALL#46";
  316. enablenpc "WALL#47";
  317. enablenpc "WALL#48";
  318. enablenpc "WALL#49";
  319. enablenpc "WALL#50";
  320. enablenpc "WALL#51";
  321. enablenpc "WALL#52";
  322. enablenpc "WALL#53";
  323. enablenpc "WALL#54";
  324. enablenpc "WALL#55";
  325. enablenpc "WALL#56";
  326. enablenpc "WALL#57";
  327. enablenpc "WALL#58";
  328. enablenpc "WALL#59";
  329. enablenpc "WALL#60";
  330. enablenpc "WALL#61";
  331. enablenpc "WALL#62";
  332. enablenpc "WALL#63";
  333. enablenpc "WALL#64";
  334. announce "Thanks for playing",0;
  335. end;
  336.  
  337. ////////////////////////////////////////////////////////////////////////////
  338. ////Arena Timer Script//////////////////////////////////////////////////////
  339. ////////////////////////////////////////////////////////////////////////////
  340. OnTimer250000:
  341. Announce "Team War : No Party won due to time limit!",0;
  342. mapwarp "guild_vs3","prontera",156,191;
  343. goto lend;
  344.  
  345. OnPCKillEvent:
  346. getmapxy(.@map$,.@x,.@y,0);
  347. if(.@map$=="guild_vs3") {
  348. set .@guser, getmapguildusers("guild_vs3",getcharid(1));
  349. if ( getcharid(1) == $@TeamID2 ) {
  350. if (.@guser) end; // Checks if 0 guild member of teamid2 left
  351. warpparty "prt_in",284,132,$@TeamID2;
  352. announce "Team War :"+GetPartyName($@TeamID2)+" won",0;
  353. goto lend;
  354. }
  355. if ( getcharid(1) == $@TeamID1 ) {
  356. if (.@guser) end; // Checks if 0 guild member of teamid1 left
  357. warpparty "prt_in",284,132,$@TeamID1;
  358. announce "Team War :"+GetPartyName($@TeamID1)+" won",0;
  359. goto lend;
  360. }
  361. }
  362. end;
  363.  
  364. OnPCDieEvent:
  365. OnPCLogoutEvent:
  366. if(strcharinfo(3) != "guild_vs3") end;
  367. for(set .@i, 0; .@i < $@members; set .@i, .@i + 1) {
  368. if ( $@partymembercidt1[.@i] == getcharid(0)) {
  369. deletearray $@partymembercidt1[.@i], 1;
  370. if( getarraysize($@partymembercidt1) == 0 ) { // Team of Party 1 has been defeated
  371. goto T2Win;
  372. }
  373. }
  374. if ( $@partymembercidt2[.@i] == getcharid(0) ) {
  375. deletearray $@partymembercidt2[.@i], 1;
  376. if( getarraysize($@partymembercidt2) == 0 ) { // Team of Party 2 has been defeated
  377. goto T1Win;
  378. }
  379. }
  380. }
  381. end;
  382. }
  383. ////////////////////////////////////////////////////////////////////////////
  384. ////Arena Wall//////////////////////////////////////////////////////////////
  385. ////////////////////////////////////////////////////////////////////////////
  386. guild_vs3,19,55,0 script WALL#41 1905,{
  387.  
  388. ////////////////////////////////////////////////////////////////////////////
  389. ////Winner Script///////////////////////////////////////////////////////////
  390. ////////////////////////////////////////////////////////////////////////////
  391.  
  392. T2Win:
  393. warpparty "prt_in",284,132,$@TeamID2;
  394. warpparty "prontera",156,191,$@TeamID1;
  395. announce "Team War :"+GetPartyName($@TeamID2)+" won",0;
  396. goto lend;
  397.  
  398. T1Win:
  399. warpparty "prt_in",284,132,$@TeamID1;
  400. warpparty "prontera",156,191,$@TeamID2;
  401. announce "Team War :"+GetPartyName($@TeamID1)+" won",0;
  402. goto lend;
  403. }
  404.  
  405. guild_vs3,19,54,0 duplicate(WALL#41) WALL#42 1905
  406. guild_vs3,19,53,0 duplicate(WALL#41) WALL#43 1905
  407. guild_vs3,19,52,0 duplicate(WALL#41) WALL#44 1905
  408. guild_vs3,19,51,0 duplicate(WALL#41) WALL#45 1905
  409. guild_vs3,19,50,0 duplicate(WALL#41) WALL#46 1905
  410. guild_vs3,19,49,0 duplicate(WALL#41) WALL#47 1905
  411. guild_vs3,19,48,0 duplicate(WALL#41) WALL#48 1905
  412. guild_vs3,19,47,0 duplicate(WALL#41) WALL#49 1905
  413. guild_vs3,19,46,0 duplicate(WALL#41) WALL#50 1905
  414. guild_vs3,19,45,0 duplicate(WALL#41) WALL#51 1905
  415. guild_vs3,19,44,0 duplicate(WALL#41) WALL#52 1905
  416.  
  417. guild_vs3,80,55,0 duplicate(WALL#41) WALL#53 1905
  418. guild_vs3,80,54,0 duplicate(WALL#41) WALL#54 1905
  419. guild_vs3,80,53,0 duplicate(WALL#41) WALL#55 1905
  420. guild_vs3,80,52,0 duplicate(WALL#41) WALL#56 1905
  421. guild_vs3,80,51,0 duplicate(WALL#41) WALL#57 1905
  422. guild_vs3,80,50,0 duplicate(WALL#41) WALL#58 1905
  423. guild_vs3,80,49,0 duplicate(WALL#41) WALL#59 1905
  424. guild_vs3,80,48,0 duplicate(WALL#41) WALL#60 1905
  425. guild_vs3,80,47,0 duplicate(WALL#41) WALL#61 1905
  426. guild_vs3,80,46,0 duplicate(WALL#41) WALL#62 1905
  427. guild_vs3,80,45,0 duplicate(WALL#41) WALL#63 1905
  428. guild_vs3,80,44,0 duplicate(WALL#41) WALL#64 1905
  429.  
  430. ////////////////////////////////////////////////////////////////////////////
  431. ////Map Flag////////////////////////////////////////////////////////////////
  432. ////////////////////////////////////////////////////////////////////////////
  433. guild_vs3 mapflag nosave
  434. guild_vs3 mapflag nomemo
  435. guild_vs3 mapflag nobranch
  436. guild_vs3 mapflag pvp_noguild
  437. guild_vs3 mapflag nocommand 99
  438. guild_vs3 mapflag noicewall
  439. guild_vs3 mapflag pvp
  440. guild_vs3 mapflag nowarp 99
  441.  
  442. prt_in mapflag nosave
  443. prt_in mapflag nomemo
  444. prt_in mapflag nobranch
  445. prt_in mapflag pvp_noparty
  446. prt_in mapflag nocommand 99
  447. prt_in mapflag nowarp 99
  448.  
  449. quiz_01 mapflag nosave
  450. quiz_01 mapflag nomemo
  451. quiz_01 mapflag nocommand 99
  452. quiz_01 mapflag nowarp 99
  453.  
  454. ////////////////////////////////////////////////////////////////////////////
  455. ////Prize Giver/////////////////////////////////////////////////////////////
  456. ////////////////////////////////////////////////////////////////////////////
  457. prt_in,289,135,0 script #prizegiver 111,5,5,{
  458. //OnTouch2:
  459. OnTouch:
  460.  
  461. getitem 909,rand(1,2);
  462. warp "prontera",156,196;
  463. close;
  464. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement