Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- prontera,163,174,4 script PartyvParty 746,{
- mes "I am Party Match Manager.";
- mes "Party Leader may create a PVP Match here.";
- next;
- switch( select( ( .Created )?"Join Game[ ^FF0000"+.No+"vs"+.No+"^000000 ]":"Create Game",
- ( ( getgmlevel() >= .GMLevel || getcharid(0) == getpartyleader( getcharid(1),2 ) ) && .Created )?"^FF0000Remove Game^000000":"" )){
- Case 1:
- switch( .Created ){
- Case 0:
- getpartymember getcharid(1),1;
- if( getcharid(0) != getpartyleader( getcharid(1),2 ) || !getcharid(1) ){
- mes "Sorry, but only a ^FF0000Party Leader^000000 can register a game here.";
- }else{
- mes "How many Players for each Party Team ?";
- mes "Min = 1 Max = "+$@partymembercount;
- mes "Because you only have "+$@partymembercount+" member right now.";
- next;
- input .No,1,$@partymembercount;
- announce "[ "+.No+"vs"+.No+" Party Match ] created by "+strcharinfo(0)+", you may register to join.",0;
- set .Team[0],getcharid(1);
- set .Created,1;
- }
- close;
- Case 1:
- if( !.Team[1] && getcharid(1) == .Team[0] ){
- mes "Please wait for ^FF0000Team 2^000000 to Register.";
- }else{
- if( getcharid(0) != getpartyleader( getcharid(1),2 ) || !getcharid(1) ){
- mes "Sorry, but only a ^FF0000Party Leader^000000 can register a game here.";
- close;
- }
- getpartymember getcharid(1),1;
- if( $@partymembercount < .No ){
- mes "You didnt have enough of "+.No+" Member for the Game.";
- mes "You only have "+$@partymembercount+" Member.";
- }else{
- mes "Confirm Registration ?";
- if( select("Yes:No") == 1 ){
- set .Team[1],getcharid(1);
- set .Created,2;
- setarray .Members[0],.No,.No;
- for( set .@party,0; .@party < 2; set .@party,.@party + 1 ){
- getpartymember .Team[.@party],1;
- for( set .@i,0; .@i < .No; set .@i,.@i + 1 )
- warpchar .Map$,0,0,$@partymembercid[.@i];
- }
- end;
- }
- }
- }
- close;
- Case 2:
- mes "^FF0000The Game is in Progress.^000000";
- mes "[ A "+.No+" vs "+.No+" Game ]";
- mes "Team ^FF0000"+getpartyname( .Team[0] )+"^000000 vs Team ^FF0000"+getpartyname( .Team[1] )+"^000000 .";
- close;
- }
- close;
- Case 2:
- mes "Done, Match will be terminated right away.";
- mapannounce .Map$,"Match has been Cancelled by a GM.",0;
- close2;
- OnReset:
- deletearray .Team[0],getarraysize( .Team );
- deletearray .Members[0],getarraysize( .Members );
- if( .Winner ){
- getpartymember .Winner,2;
- for( set .@i,0; .@i < .No; set .@i,.@i + 1 ){
- getitem 7227,5,$@partymemberaid[.@i];
- getitem 14003,1,$@partymemberaid[.@i];
- }
- set .Winner,0;
- }
- sleep2 2000;
- set .Created,0;
- mapwarp .Map$,"prontera",155,181;
- end;
- }
- close;
- OnPCDieEvent:
- OnPCLogoutEvent:
- if( strcharinfo(3) == .Map$ && .Created ){
- for( set .@i,0; .@i < 2; set .@i,.@i + 1 )
- if( getcharid(1) == .Team[.@i] )
- set .Members[.@i],.Members[.@i] - 1;
- if( .Members[0] < 1 ) set .Winner,.Team[1];
- else if( .Members[1] < 1 ) set .Winner,.Team[0];
- if( .Winner ){
- mapannounce .Map$,"Team "+getpartyname( .Winner )+" Win the "+.No+"vs"+.No+" Game.",0;
- donpcevent strnpcinfo(0)+"::OnReset";
- }else{
- warp "prontera",156,180;
- }
- }
- end;
- OnInit:
- set .GMLevel,80;
- set .Map$,"pvp_n_2-3";
- end;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement