Jump to content
  • 0

help me with this anyone?


blakbord

Question


  • Group:  Members
  • Topic Count:  30
  • Topics Per Day:  0.01
  • Content Count:  108
  • Reputation:   1
  • Joined:  02/10/12
  • Last Seen:  

 
bat_b01,390,10,0 script teamwarprize#1 -1,2,2,{
OnTouch:
getitem 30230,5; //edit the prize <item>,<amount>
warp "maintown",157,114;
    close;
}
 
bat_b01,88,75,0 script teamwarprize#2 -1,2,2,{
OnTouch:
getitem 30230,2; //edit the prize <item>,<amount>
warp "maintown",157,114;
    close;
}
 
turbo_room,100,120,4 script 3 vs 3::teamwar 796,{
if (getgmlevel() >= 99){
menu "standard menu",standard,"reset",lend1;
}
standard:
set $@members,1; // 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) {
  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($@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;
  }
    for (set .@i,0; .@i<$@members; set .@i,.@i+1) {
        if ( isloggedin( $@partymemberaidc2[.@i], $@partymembercidtc2[.@i] ) ) {
            attachrid $@partymemberaidc2[.@i];
            //set pvp3vs3_ori_look, getlook(7);
            //setlook 7, 521;
        }
    }
  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;
  }
    for (set .@i,0; .@i<$@members; set .@i,.@i+1) {
        if ( isloggedin( $@partymemberaidc1[.@i], $@partymembercidtc1[.@i] ) ) {
            attachrid $@partymemberaidc1[.@i];
            //set pvp3vs3_ori_look, getlook(7);
            //setlook 7, 520;
        }
    }
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)) {
  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:
sc_end sc_ALL;
warpparty "guild_vs4",7,49,$@TeamID1;
warpparty "guild_vs4",92,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;
end;
lend1:
stopnpctimer;
set $@TeamID1,0;
set $@TeamID2,0;
set $@start,0;
set @win1,0;
set @win2,0;
set @partymembercount,$@members;
announce "Team War has been reset, you may register your team now",0;
close;
end;
OnTimer250000:
Announce "Team War : No Party won due to time limit!",0;
mapwarp "guild_vs4","maintown",157,114;
goto lend;
end;
 
OnPCDieEvent:
OnPCLogoutEvent:
if(strcharinfo(3) != "guild_vs4") end;
//setlook 7, pvp3vs3_ori_look;
//pvp3vs3_ori_look = 0;
atcommand "@alive";
warp "turbo_room",100,99;
  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 "bat_b01",390,10,$@TeamID2;
  warpparty "bat_b01",88,75,$@TeamID1;
  Announce "Team War :"+GetPartyName($@TeamID2)+" won againts "+GetPartyName($@TeamID1)+"",0;
  goto lend;
  end;
}
if (@win2==0)
{
  warpparty "bat_b01",390,10,$@TeamID1;
  warpparty "bat_b01",88,75,$@TeamID2;
  Announce "Team War :"+GetPartyName($@TeamID1)+" won againts "+GetPartyName($@TeamID2)+"",0;
  goto lend;
  end;
}
end;
}
guild_vs4 mapflag nosave
guild_vs4 mapflag nomemo
guild_vs4 mapflag nobranch
guild_vs4 mapflag pvp_noguild
guild_vs4 mapflag noicewall
guild_vs4 mapflag pvp
 

I know that this script is working but there is a bug on the script..

 

ex.

 

I have 1 party, members of 3 (only my party) sample partyname is [ tryout1 ]

when I register at Team 1 and reregister again at Team 2 this is what happen

 

Team 1 = tryout1

Team 2 = tryout1   <<--------(again?)

 

players can abuse the prize, how to fixed this registration? thanks in advance

Link to comment
Share on other sites

1 answer to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  30
  • Topics Per Day:  0.01
  • Content Count:  108
  • Reputation:   1
  • Joined:  02/10/12
  • Last Seen:  

I have search the whole forum and I found this..

 

refer to post #20 by AnnieRuru

this works for me.. thanks..

 

 

Link to comment
Share on other sites

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...