Jump to content
  • 0

Party v.s. Party


GM Takumirai

Question


  • Group:  Members
  • Topic Count:  69
  • Topics Per Day:  0.02
  • Content Count:  592
  • Reputation:   31
  • Joined:  11/14/11
  • Last Seen:  

prt_in,51,140,4    script    Team    Wars::teamwar    899,{
if (getgmlevel() >= 99){
   menu "standard menu",standard,"reset",lend;
}
standard:
set $@members,5; // number of party members change this to your party size you want
set $@start,0;
   getpartymember(getcharid(1));
   set @partymembercount,$@partymembercount;
   if ( $@start==1) {
           mes "The Sign Ups are currently unavailable because a match is in progress. Don't hesitate to try again in a few minutes!";
           close;
   }

   if ( @partymembercount==$@members) {
   if ($@TeamID1==getcharid(1))
       {
           mes "Do you wish to sign out your team?";    
           next;    
           if (select("I Give up ~.","Never Say Quit !!")==2) close;    
           announce "Team 1 : [ " + getpartyname($@TeamID1) + " ] has sign out. We need another Party to sign up now!",bc_yellow|bc_map;    
           set $@TeamID1, 0;
           close;    
       }
   if ($@TeamID2==getcharid(1))
       {    
           mes "Do you wish to sign out your team?";    
           next;    
           if (select("I Give up ~.","Never Say Quit !!")==2) close;
           announce "Team 2 : [ " + getpartyname($@TeamID2) + " ] has sign out. We need another Party to sign up now!",bc_yellow|bc_map;    
           set $@TeamID2, 0;    
           close;    
       }
       mes "Hello "+strcharinfo(0)+" what do you want?";
       if (($@TeamID1!=0) && ($@TeamID2!=0))
       {
           mes "The Sign Ups are currently unavailable because a match is in progress. Don't hesitate to try again in a few minutes!";
           close;
       }
       if ( getpartyleader(getcharid(1),2) != getcharid(0) )
       {
           mes "Only party leader have the right to sign up / out from the game with me..";
           close;
       }
           mes "Choose your team to register.";
           switch(select("Red Team - [" + GetPartyName($@TeamID1) + "] :Blue Team - [" + GetPartyName($@TeamID2) + "]"))
               {
               case 1:    mes "[  Team War  ]";

                       if ($@TeamID1==0 || getpartyname($@TeamID1)=="null")
                       {
                           getpartymember(getcharid(1)),1;
                           getpartymember(getcharid(1)),2;
                           copyarray $@partymembercidt1[0],$@partymembercid[0],$@members;
                           copyarray $@partymemberaid1[0],$@partymemberaid[0],$@members;
                               for (set .@i,0; .@i<$@members; set .@i,.@i+1) {
                                   if(isloggedin($@partymemberaid1[.@i],$@partymembercidt1[.@i]))  set .@count,.@count+1;
                               }
                               if(.@count < $@members) {
                                   mes "You need all your party members to be online to Register";
                                   close;
                               }
                           set $@TeamID1, getcharid(1);    
                           initnpctimer;    
                           mes "Your Party is now subscribed, good luck!";    
                           announce "Team 1 : [ " +getpartyname($@TeamID1)+ " ] has sign up For the Team War!",bc_blue|bc_map;    
                           doevent "teamwar::OnSubscriptionTeam";    
                           close;    
                       } else {
                           mes "I'm sorry! Another Team has sign up before you...";    
                           close;    
                       }
               case 2:    mes "[  Team War  ]";
                   if ($@TeamID2==0 || getpartyname($@TeamID2)=="null")
                   {    
                       getpartymember(getcharid(1)),1;
                       getpartymember(getcharid(1)),2;
                       copyarray $@partymembercidt2[0],$@partymembercid[0],$@members;
                       copyarray $@partymemberaid2[0],$@partymemberaid[0],$@members;
                           for (set .@i,0; .@i<$@members; set .@i,.@i+1) {
                               if(isloggedin($@partymemberaid2[.@i],$@partymembercidt2[.@i])) set .@count,.@count+1;
                           }
                           if(.@count < $@members) {
                               mes "You need all your party members to be online to Register";
                               close;
                           }
                       set $@TeamID2, getcharid(1);    
                       initnpctimer;    
                       mes "Your Party is now subscribed, good luck!";    
                       announce "Team 2 : [ " +getpartyname($@TeamID2)+ " ] has sign up For the Team War!",bc_blue|bc_map;
                       doevent "teamwar::OnSubscriptionTeam";    
                       close;    
                   }
                   else
                   {    
                       mes "I'm sorry! Another Team has sign up before you...";    
                       close;
                   }
               }
   } else {
       mes "[Event Handler]";
       mes "Please contact your party leader.";
       mes "Your team must have a party consisting of "+$@members+" members.";
       close;
   }

OnSubscriptionTeam:
       getpartymember($@TeamID1);
           set @partymembercountx,$@partymembercount;
       getpartymember($@TeamID2);
           set @partymembercountz,$@partymembercount;
       if ( @partymembercountx!=$@members) || ( @partymembercountz!=$@members) {
              announce "Team War : "+getpartyname($@TeamID1)+"are lacking members or cheating the match has been canceled",0;
           announce "Team War : registration for 2 new teams are now available",0;
           goto lend;
       close;
       }
       getpartymember($@TeamID2),1;
       getpartymember($@TeamID2),2;
       copyarray $@partymembercidtc2[0],$@partymembercid[0],$@members;
       copyarray $@partymemberaidc2[0],$@partymemberaid[0],$@members;
       for (set .@i,0; .@i<$@members; set .@i,.@i+1) {
       if(isloggedin($@partymemberaidc2[.@i],$@partymembercidtc2[.@i])) set .@countx,.@countx+1;
       }
       if(.@countx < $@members) {
       announce "Team War : "+getpartyname($@TeamID2)+"are not all online the match has been canceled",0;
       announce "Team War : registration for 2 new teams are now available",0;
       goto lend;
       close;
       }
       getpartymember($@TeamID1),1;
       getpartymember($@TeamID1),2;
       copyarray $@partymembercidtc1[0],$@partymembercid[0],$@members;
       copyarray $@partymemberaidc1[0],$@partymemberaid[0],$@members;
       for (set .@i,0; .@i<$@members; set .@i,.@i+1) {
       if(isloggedin($@partymemberaidc1[.@i],$@partymembercidtc1[.@i])) set .@countz,.@countz+1;
       }
       if(.@countz < $@members) {
       announce "Team War : "+getpartyname($@TeamID1)+"are not all online the match has been canceled",0;
       announce "Team War : registration for 2 new teams are now available",0;
       goto lend;
       close;
       }
       if($@TeamID1!=0 && $@TeamID2!=0){
       announce "Team War : We have 2 Teams signed up now : "+getpartyname($@TeamID1)+" and "+getpartyname($@TeamID2)+".",bc_blue|bc_map;
       set @win1, 0;
       set @win2, 0;
       goto Onstart;
   }
   end;

OnTimer50000:
   if (($@TeamID1!=0) && ($@TeamID2!=0)) {
       stopnpctimer;
       end;
   }
   stopnpctimer;
   set $@TeamID1, 0;
   set $@TeamID1, 0;
   announce "Team War : we lack teams to start registration for two teams are now available",0;
   end;

OnStart:
   warpparty "guild_vs2",89,49,$@TeamID1;
   warpparty "guild_vs2",11,49,$@TeamID2;
   set $@start,1;
   end;

lend:
   stopnpctimer;
   set $@TeamID1,0;
   set $@TeamID2,0;
   set $@start,0;
   set @win1,0;
   set @win2,0;
   set @partymembercount,$@members;
   announce "Thanks for playing",0;
   end;

OnTimer250000:
   Announce "Team War : No Party won due to time limit!",0;
   mapwarp "guild_vs2","prontera",156,191;
   goto lend;
   end;

OnPCKillEvent:
/*
   Its party Vs party kind of script, then y checking for guilds on the map??

   getmapxy(.@map$,.@x,.@y,0);
   if(.@map$=="guild_vs2")
   {
   set .@guser, getmapguildusers("guild_vs2",getcharid(1));
       if ( getcharid(1) == $@TeamID2 )
       {
           if (.@guser) end;    // Checks if 0 guild member of teamid2 left
           warpparty "prt_in",46,132,$@TeamID2;
           set party_win,1;
           Announce "Team War :"+GetPartyName($@TeamID2)+" won",0;
           goto lend;
       }
       if ( getcharid(1) == $@TeamID1 )
       {
           if (.@guser) end; // Checks if 0 guild member of teamid1 left
           warpparty "prt_in",46,132,$@TeamID1;
           set party_win,1;
           Announce "Team War :"+GetPartyName($@TeamID1)+" won",0;
           goto lend;
       }
   }
*/
   end;

OnPCDieEvent:
OnPCLogoutEvent:
   if(strcharinfo(3) != "guild_vs2") end;
   warp "prontera",156,191;
       for(set .@i, 0; .@i < $@members; set .@i, .@i + 1) {
           if ( $@partymembercidt1[.@i] == getcharid(0)) {
               deletearray $@partymembercidt1[.@i], 1;
               if( getarraysize($@partymembercidt1) == 0 ) {
                   set @win2,$@partymembercount;
                   goto onwin;
               }
           }
           if ( $@partymembercidt2[.@i] == getcharid(0) ) {
               deletearray $@partymembercidt2[.@i], 1;
               if( getarraysize($@partymembercidt2)  == 0 ) {
                   set @win1,$@partymembercount;
                   goto onwin;
               }
           }
       }
   end;


onwin:
   if (@win1==0)
   {
       warpparty "prt_in",46,132,$@TeamID2;
       warpparty "prontera",156,191,$@TeamID1;
       Announce "Team War :"+GetPartyName($@TeamID2)+" won",0;
       goto lend;
       end;
   }
   if (@win2==0)
   {
       warpparty "prt_in",46,132,$@TeamID1;
       warpparty "prontera",156,191,$@TeamID2;
       Announce "Team War :"+GetPartyName($@TeamID1)+" won",0;
       goto lend;
       end;
   }
   end;
}

guild_vs2    mapflag    nosave
guild_vs2    mapflag    nomemo
guild_vs2    mapflag    nobranch
guild_vs2    mapflag    pvp_noguild
guild_vs2    mapflag    nocommand    90
guild_vs2    mapflag    noicewall
guild_vs2    mapflag    pvp


prt_in,46,132,0    script    Awarder    121{
if (party_win == 1) {
  mes "You win!";
  mes "You will be awarded a 1 or 2 Event Ticket!";
  next;
  set party_win,0;
  getitem 7711,rand(1,2);
  close;
} else {
  mes "Sorry.. We can't process your request!";
  close;
}

- i don't know what is the problem..

- some issue are said * if 5 vs 5

when team A is registered and team B is going to register - if his team is already 5 and he invite another player that he dont yet confirm the party.. when team B registered in the npc and the player invited by team B accept it the npc still warp the player.. so its become 5vs6

- the reward system is also have a problem i think.

- please configure this script thanks

Edited by Euphy
Codeboxed
Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...