Advertisement
Guest User

Untitled

a guest
Nov 5th, 2012
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.26 KB | None | 0 0
  1.  
  2. prontera,163,174,4 script PartyvParty 746,{
  3. mes "I am Party Match Manager.";
  4. mes "Party Leader may create a PVP Match here.";
  5. next;
  6. switch( select( ( .Created )?"Join Game[ ^FF0000"+.No+"vs"+.No+"^000000 ]":"Create Game",
  7. ( ( getgmlevel() >= .GMLevel || getcharid(0) == getpartyleader( getcharid(1),2 ) ) && .Created )?"^FF0000Remove Game^000000":"" )){
  8.  
  9. Case 1:
  10. switch( .Created ){
  11. Case 0:
  12. getpartymember getcharid(1),1;
  13. if( getcharid(0) != getpartyleader( getcharid(1),2 ) || !getcharid(1) ){
  14. mes "Sorry, but only a ^FF0000Party Leader^000000 can register a game here.";
  15. }else{
  16. mes "How many Players for each Party Team ?";
  17. mes "Min = 1 Max = "+$@partymembercount;
  18. mes "Because you only have "+$@partymembercount+" member right now.";
  19. next;
  20. input .No,1,$@partymembercount;
  21. announce "[ "+.No+"vs"+.No+" Party Match ] created by "+strcharinfo(0)+", you may register to join.",0;
  22. set .Team[0],getcharid(1);
  23. set .Created,1;
  24. }
  25. close;
  26. Case 1:
  27. if( !.Team[1] && getcharid(1) == .Team[0] ){
  28. mes "Please wait for ^FF0000Team 2^000000 to Register.";
  29. }else{
  30. if( getcharid(0) != getpartyleader( getcharid(1),2 ) || !getcharid(1) ){
  31. mes "Sorry, but only a ^FF0000Party Leader^000000 can register a game here.";
  32. close;
  33. }
  34. getpartymember getcharid(1),1;
  35. if( $@partymembercount < .No ){
  36. mes "You didnt have enough of "+.No+" Member for the Game.";
  37. mes "You only have "+$@partymembercount+" Member.";
  38. }else{
  39. mes "Confirm Registration ?";
  40. if( select("Yes:No") == 1 ){
  41. set .Team[1],getcharid(1);
  42. set .Created,2;
  43. setarray .Members[0],.No,.No;
  44. for( set .@party,0; .@party < 2; set .@party,.@party + 1 ){
  45. getpartymember .Team[.@party],1;
  46. for( set .@i,0; .@i < .No; set .@i,.@i + 1 )
  47. warpchar .Map$,0,0,$@partymembercid[.@i];
  48. }
  49. end;
  50. }
  51. }
  52. }
  53. close;
  54. Case 2:
  55. mes "^FF0000The Game is in Progress.^000000";
  56. mes "[ A "+.No+" vs "+.No+" Game ]";
  57. mes "Team ^FF0000"+getpartyname( .Team[0] )+"^000000 vs Team ^FF0000"+getpartyname( .Team[1] )+"^000000 .";
  58. close;
  59. }
  60. close;
  61. Case 2:
  62. mes "Done, Match will be terminated right away.";
  63. mapannounce .Map$,"Match has been Cancelled by a GM.",0;
  64. close2;
  65. OnReset:
  66. deletearray .Team[0],getarraysize( .Team );
  67. deletearray .Members[0],getarraysize( .Members );
  68. if( .Winner ){
  69. getpartymember .Winner,2;
  70. for( set .@i,0; .@i < .No; set .@i,.@i + 1 ){
  71. getitem 7227,5,$@partymemberaid[.@i];
  72. getitem 14003,1,$@partymemberaid[.@i];
  73. }
  74. set .Winner,0;
  75. }
  76. sleep2 2000;
  77. set .Created,0;
  78. mapwarp .Map$,"prontera",155,181;
  79. end;
  80. }
  81. close;
  82.  
  83. OnPCDieEvent:
  84. OnPCLogoutEvent:
  85. if( strcharinfo(3) == .Map$ && .Created ){
  86. for( set .@i,0; .@i < 2; set .@i,.@i + 1 )
  87. if( getcharid(1) == .Team[.@i] )
  88. set .Members[.@i],.Members[.@i] - 1;
  89.  
  90. if( .Members[0] < 1 ) set .Winner,.Team[1];
  91. else if( .Members[1] < 1 ) set .Winner,.Team[0];
  92.  
  93. if( .Winner ){
  94. mapannounce .Map$,"Team "+getpartyname( .Winner )+" Win the "+.No+"vs"+.No+" Game.",0;
  95. donpcevent strnpcinfo(0)+"::OnReset";
  96. }else{
  97. warp "prontera",156,180;
  98. }
  99. }
  100. end;
  101.  
  102. OnInit:
  103. set .GMLevel,80;
  104. set .Map$,"pvp_n_2-3";
  105. end;
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement