Jump to content
  • 0

Help me please


Dev Blaze

Question


  • Group:  Members
  • Topic Count:  68
  • Topics Per Day:  0.02
  • Content Count:  212
  • Reputation:   5
  • Joined:  01/24/12
  • Last Seen:  

poring_w02,167,176,4 script teamwar::teamwar 414,{
if (getgmlevel() >= 99){
menu "Standard Menu",standard,"Reset",lend;
}
standard:
set $@members,9; // 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 $@partymemberaidt1[0],$@partymemberaid[0],$@members;
for (set .@i,0; .@i<$@members; set .@i,.@i+1) {
if(isloggedin($@partymemberaidt1[.@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 $@partymemberaidt2[0],$@partymemberaid[0],$@members;
for (set .@i,0; .@i<$@members; set .@i,.@i+1) {
if(isloggedin($@partymemberaidt2[.@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;
}
if ( $@TeamID2 && $@partymembercount != $@members ) {
announce getpartyname($@TeamID2) +" has extra party members !", 0;
goto lend;
}
if ( callsub( L_checkjob ) ) goto lend;
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;
}
if ( $@TeamID1 &&  $@partymembercount != $@members ) {
announce getpartyname($@TeamID1) +" has extra party members !", 0;
goto lend;
}
if ( callsub( L_checkjob ) ) goto lend;
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;
L_checkjob:
while( .@i < $@partymembercount ) {
.@job$ = jobname( readparam( 19, $@partymembername$[.@i] ) );
if ( compare( .@concat_job$, .@job$ ) ) return 1;
.@concat_job$ = .@concat_job$ + .@job$ +"|";
.@i++;
}
return 0;

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 "rwc03",87,50,$@TeamID1;
warpparty "rwc03",12,50,$@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 "rwc03","prontera",156,191;
goto lend;
end;

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


onwin:
if (@win1==0) {
warpparty "prontera",155,170,$@TeamID1;
warpparty "prontera",155,170,$@TeamID2;
Announce "Team War :"+GetPartyName($@TeamID2)+" won",0;
for ( .@i = 0; .@i < @win2; .@i++ )
getitem 14003, rand(1,9), $@partymemberaidt2[.@i];
goto lend;
}
if (@win2==0) {
warpparty "prontera",155,170,$@TeamID1;
warpparty "prontera",155,191,$@TeamID2;
Announce "Team War :"+GetPartyName($@TeamID1)+" won",0;
for ( .@i = 0; .@i < @win1; .@i++ )
getitem 14003, rand(1,9), $@partymemberaidt1[.@i];
goto lend;
}
end;
}

rwc03 mapflag nosave SavePoint
rwc03 mapflag nomemo
rwc03 mapflag nobranch
rwc03 mapflag pvp_noguild
rwc03 mapflag nocommand 60
rwc03 mapflag noicewall
rwc03 mapflag pvp
rwc03 mapflag partylock 

How to add Set time the npc you can click every 24hrs? gettimetick or set time every 24hrs any idea??

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  61
  • Topics Per Day:  0.02
  • Content Count:  911
  • Reputation:   166
  • Joined:  11/27/14
  • Last Seen:  

use timetick i think

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  8
  • Topics Per Day:  0.00
  • Content Count:  38
  • Reputation:   6
  • Joined:  08/17/12
  • Last Seen:  

Blaze. Mark. Ace here.

I suggest that you put

OnInit:
E_Rehide:
disablenpc "teamwar::teamwar";
 
OnHour20: // Triggers at 8 PM every day(Server Time).
enablenpc "teamwar::teamwar";
Sleep 5000; //<- 5 seconds. Change this to how long the event will last or how long you want the NPC to appear for them to register
goto E_Rehide;
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...