Jump to content
  • 0
Sign in to follow this  
Zalbahis

Auto Team Balance

Question

Can Anyone take a look of this, is there a way for this to be, Auto Team Balance upon Joining BG?.. or in Registration?..
Here's the script.. Originally from eAthena and seem to work on Hercules..

 

Original Script..

http://www.eathena.ws/board/index.php?showtopic=255789

 

My Current Script, this is on Team Deathmatch Battleground..

// ==============================================================================// BattleGround System - Flavius TD - Flavius Team Deathmatch// ==============================================================================// By Suke / s4zuk3// ==============================================================================// Registration NPC's// *********************************************************************jupe_ele,39,57,4	script	Registration::Fl1R_Guillaume	418,{	end;OnInit:	waitingroom "Team Battle",4,"Flavius_BG1::OnGuillaumeJoin",1;	end;OnEnterBG:	set $@FlaviusBG1_id1, waitingroom2bg("bat_b01",390,10,"Flavius_BG1::OnGuillaumeQuit","");	end;}jupe_ele,46,57,4	script	Registration::Fl1R_Croix	414,{	end;OnInit:	waitingroom "Team Battle",4,"Flavius_BG1::OnCroixJoin",1;	end;OnEnterBG:	set $@FlaviusBG1_id2, waitingroom2bg("bat_b01",10,290,"Flavius_BG1::OnCroixQuit","");	end;}// Battleground Engine// *********************************************************************-	script	Flavius_BG1	-1,{	end;OnInit:	disablenpc "Guillaume Vintenar#fl1";	disablenpc "Croix Vintenar#fl1";	disablenpc "Therapist in battle#fl11";	disablenpc "Therapist in battle#fl12";	end;OnGuillaumeQuit:OnCroixQuit:    if($@FlaviusBG1 != 1) {end;}    if(Bat_Team == 2) {    for(set .@i,0; .@i < getarraysize($@bg_red$); set .@i,.@i+1){    if($@bg_red$[.@i] == strcharinfo(0)) {break;}    }    deletearray $@bg_red$[.@i],1;    set $@td_a,$@td_a-1;    end;    } else if(Bat_Team == 1) {    for(set .@i,0; .@i < getarraysize($@bg_blue$); set .@i,.@i+1){    if($@bg_blue$[.@i] == strcharinfo(0)) {break;}    }    deletearray $@bg_blue$[.@i],1;    set $@td_b,$@td_b-1;    end;    }    else { end; }	end;	OnGuillaumeJoin:OnCroixJoin:		if( $@FlaviusBG1 == 1 ){	if( $@Guill < 30 && $@Croi < 30){	set .@Guillaume, getwaitingroomstate(0,"Fl1R_Guillaume");	set .@Croix, getwaitingroomstate(0,"Fl1R_Croix");	if (.@Guillaume!=0 && .@Croix!=0){	set $@Guill, ($@Guill + 1);	set $@Croi, ($@Croi + 1);	waitingroom2bg_single($@FlaviusBG1_id1,"bat_b01",311,224,"Fl1R_Guillaume");	waitingroom2bg_single($@FlaviusBG1_id2,"bat_b01",87,75,"Fl1R_Croix");	mapannounce "jupe_ele","Battleground -- Team Deathmatch [80-99] G: " + $@Guill + "/30, C: " + $@Croi + "/30 in Progress!!",1,0x006400;		end;	}	}	}	if( $@FlaviusBG1 == 0 ){		donpcevent "Flavius_BG1::OnReadyCheck";		end;	}OnReadyCheck:	if( $@FlaviusBG1 )		end;	set .@Guillaume, getwaitingroomstate(0,"Fl1R_Guillaume");	set .@Croix, getwaitingroomstate(0,"Fl1R_Croix");	    	if( .@Guillaume < 3 || .@Croix < 3 ){		if( .@Guillaume >=4  && .@Croix >=4 && !agitcheck() && $@FLTD_Flood < gettimetick(2) )     {    announce "Battleground -- Team Deathmatch [ B ]: " + .@Guillaume + "/3, [ R ]: " + .@Croix + "/3",bc_all,0x006400;    set $@FLTD_Flood, gettimetick(2) + 15;     end;    }		mapannounce "jupe_ele","Battleground -- Team Deathmatch [ B ]: " + .@Guillaume + "/3, [ R ]: " + .@Croix + "/3",1,0x006400;		end;	}	//			// BG Variables	set $@FlaviusBG1, 1;	set $@FlaviusBG1_Victory, 0;	set .Guillaume_Score, 1;	set .Croix_Score, 1;	// Prepare NPC	donpcevent "#gfl1_respawn::OnBGStart";	donpcevent "#cfl1_respawn::OnBGStart";	enablenpc "Therapist in battle#fl11";	enablenpc "Therapist in battle#fl12";	disablenpc "Guillaume Vintenar#fl1";	disablenpc "Croix Vintenar#fl1";	// Build and Warp Teams	donpcevent "Fl1R_Guillaume::OnEnterBG";	donpcevent "Fl1R_Croix::OnEnterBG";	// Vamos contando :3	set $@Guill, 10;	set $@Croi, 10;	announce "Battleground -- Team Deathmatch has started!",0,0x006400;	initnpctimer;	// Death!!OnRoundStart:	if( $@FlaviusBG1 != 1 ) end;	bg_updatescore "bat_b01",.Guillaume_Score,.Croix_Score;	areapercentheal "bat_b01",382,2,397,17,100,100;	areapercentheal "bat_b01",2,282,17,297,100,100;	bg_warp $@FlaviusBG1_id1,"bat_b01",311,224;	bg_warp $@FlaviusBG1_id2,"bat_b01",87,75;	sleep 2000;	if( $@FlaviusBG1 != 1 ) end;	mapannounce "bat_b01","Team Deathmatch has begun!!",1,0x006400;	bg_updatescore "bat_b01",.Guillaume_Score,.Croix_Score;	end;OnPCDieEvent:	if( $@FlaviusBG1 == 1 )	{	    getmapxy (mapname$,.@mapx,.@mapy,0,strcharinfo(0));	    if ( mapname$ != "bat_b01") end;	     if( Bat_Team == 1) {	     set .Croix_Score, .Croix_Score -1;	     bg_updatescore "bat_b01",.Guillaume_Score,.Croix_Score;	     if (.Croix_Score < 1) donpcevent "Flavius_BG1::OnCroixTDWin";	     end;	     }	     if ( Bat_Team == 2) {         set .Guillaume_Score, .Guillaume_Score -1;         bg_updatescore "bat_b01",.Guillaume_Score,.Croix_Score;         if (.Guillaume_Score < 1) donpcevent "Flavius_BG1::OnGuillaumeTDWin";         end;         }    }end;OnGuillaumeTDWin:	set $@FlaviusBG1, 2;	set $@FlaviusBG1_Victory, 1;	mapannounce "bat_b01","The Blue Team has won the Team Deathmatch",1,0x0000FF;	stopnpctimer;	sleep 2000;	donpcevent "Flavius_BG1::OnMatchEnd";	end;	OnCroixTDWin:	set $@FlaviusBG1, 2;	set $@FlaviusBG1_Victory, 2;	mapannounce "bat_b01","The Red Team has won the Team Deathmatch",1,0xFF0000;	stopnpctimer;	sleep 2000;	donpcevent "Flavius_BG1::OnMatchEnd";	end;	OnTimer900000:    if ($@FlaviusBG1 != 1) end;	mapannounce "bat_b01","Team Deathmatch will ends in 5 minutes",1,0x006400;	end;OnTimer1140000:    if ($@FlaviusBG1 != 1) end;	mapannounce "bat_b01","Team Deathmatch will ends in 1 minute",1,0x006400;	end;OnTimer1200000:    if ($@FlaviusBG1 != 1) end;  	if( .Croix_Score > .Guillaume_Score )	{		mapannounce "bat_b01","The Croix army has won the Battle of Flavius Team Deathmatch!",1,0xFF0000;		donpcevent "Flavius_BG1::OnCroixTDWin";	}	else if( .Croix_Score < .Guillaume_Score )	{		mapannounce "bat_b01","The Guillaume army has won the Battle of Flavius Team Deathmatch!",1,0x0000FF;		donpcevent "Flavius_BG1::OnGuillaumeTDWin";	}	else	{		mapannounce "bat_b01","The Battle of Flavius Team Deathmatch is over. The time is out, this is a Tie",1,0x006400;		set $@FlaviusBG1, 2;		set $@FlaviusBG1_Victory, 3;		stopnpctimer;		sleep 2000;	}	OnMatchEnd:		donpcevent "#gfl1_respawn::OnBGStop";	donpcevent "#cfl1_respawn::OnBGStop";	disablenpc "Therapist in battle#fl11";	disablenpc "Therapist in battle#fl12";	enablenpc "Guillaume Vintenar#fl1";	enablenpc "Croix Vintenar#fl1";	bg_warp $@FlaviusBG1_id1,"bat_b01",390,10;	bg_warp $@FlaviusBG1_id2,"bat_b01",10,290;	deletearray $@bg_red$;    deletearray $@bg_blue$;    set $@td_a,0;    set $@td_b,0;	sleep 3000;	mapannounce "bat_b01","Battle of Flavius Team Deathmatch will close in 1 minute!",1,0x006400;	initnpctimer;	end;OnTimer30000:	if( $@FlaviusBG1 == 2 )		mapannounce "bat_b01","Battle of Flavius Team Deathmatch will close in 30 seconds!",1,0x006400;	end;OnTimer50000:	if( $@FlaviusBG1 == 2 )		mapannounce "bat_b01","Battle of Flavius Team Deathmatch will close in 10 seconds!",1,0x006400;	end;OnTimer60000:	if( $@FlaviusBG1 != 2 ) end;OnReset:	stopnpctimer;	set .Guillaume_Score, 99;	set .Croix_Score, 99;	set $@FlaviusBG1_Victory, 0;	// NPC's	disablenpc "Guillaume Vintenar#fl1";	disablenpc "Croix Vintenar#fl1";	disablenpc "Therapist in battle#fl11";	disablenpc "Therapist in battle#fl12";	if( $@FlaviusBG1_id1 ) { bg_destroy $@FlaviusBG1_id1; set $@FlaviusBG1_id1, 0; }	if( $@FlaviusBG1_id2 ) { bg_destroy $@FlaviusBG1_id2; set $@FlaviusBG1_id2, 0; }	sleep 1000;	mapwarp "bat_b01","bat_room",155,150;	sleep 2000;	bg_updatescore "bat_b01",.Guillaume_Score,.Croix_Score;	set $@FlaviusBG1, 0;	donpcevent "Flavius_BG1::OnReadyCheck";	end;}// View oponentes en el mapa <3-	script	viewtd	-,{end;OnPCLoadMapEvent:    if($@FlaviusBG1 != 1) {end;}    if(Bat_Team == 2) {    getmapxy .@MAPNAME$,.@X,.@Y,0,strcharinfo(0);    while(.@MAPNAME$ == "bat_b01"){    if($@FlaviusBG1 != 1) {end;}    getmapxy .@MAPNAME$,.@X,.@Y,0,strcharinfo(0);    if(.@MAPNAME$ != "bat_b01") { end;}    for(set .@i,0; .@i < getarraysize($@bg_red$); set .@i,.@i+1){    if($@bg_red$[.@i] == strcharinfo(0)) { set .@ontd,1; break;}    }    if(.@ontd != 1) {    setarray $@bg_red$[$@td_a],strcharinfo(0);    set $@td_a,$@td_a+1; }    set .@j,0;    for (set .@i,0; .@i < getarraysize($@bg_blue$); set .@i,.@i+1){        set .@j,.@j+1;        getmapxy(.mapES$, .xI, .yI,0,$@bg_blue$[.@i]);        viewpoint 1,.xI,.yI,.@j,0x0000ff;    } // cierre for    sleep2 1000;    } // cierre while    } else if(Bat_Team == 1) {    getmapxy .@MAPNAME$,.@X,.@Y,0,strcharinfo(0);    while(.@MAPNAME$ == "bat_b01"){    if($@FlaviusBG1 != 1) {end;}    getmapxy .@MAPNAME$,.@X,.@Y,0,strcharinfo(0);    if(.@MAPNAME$ != "bat_b01") { end;}    for(set .@i,0; .@i < getarraysize($@bg_blue$); set .@i,.@i+1){    if($@bg_blue$[.@i] == strcharinfo(0)) { set .@ontd,1; break;}    }    if(.@ontd != 1) {    setarray $@bg_blue$[$@td_b],strcharinfo(0);    set $@td_b,$@td_b+1; }    set .@j,0;    for (set .@i,0; .@i < getarraysize($@bg_red$); set .@i,.@i+1){        set .@j,.@j+1;        getmapxy(.mapES$, .xE, .yE,0,$@bg_red$[.@i]);        viewpoint 1,.xE,.yE,.@j,0xff0000;    } // cierre for    sleep2 1000;    } // cierre while    }    else { end; }    }// Battleground rewards// *********************************************************************bat_b01,390,13,5	script	Guillaume Vintenar#fl1	419,{	if( $@FlaviusBG1_Victory )	{		if( $@FlaviusBG1_Victory == Bat_Team )		{ // Victory			mes "[Swandery]";			mes "Blessed Guillaume!!";			mes "Let's enjoy our glorious victory!";			mes "" + strcharinfo(0) + ", its a sign reflecting victory";			close2;			set .@Reward,18;		}		else		{ // Derrota			mes "[Swandery]";			mes "You lost, but you're dedicated to this battle.";			mes "This is a reward for your great dedication by Guillaume Marollo!";			mes "Just take this defeat a lesson, and later you would definitely learn.";			close2;			set .@Reward,6;		}		set Flavius_BG_Tick, gettimetick(2) + 300;  //setquest 2070;		getitem 7829, .@Reward;		set .@ontd,0;		bg_leave;		warp "bat_room",155,150;		end;	}	end;}bat_b01,10,293,5	script	Croix Vintenar#fl1	415,{	if( $@FlaviusBG1_Victory )	{		if( $@FlaviusBG1_Victory == Bat_Team )		{ // Victory			mes "[Swandery]";			mes "Blessed Croax!!";			mes "Let's enjoy our glorious victory!";			mes "" + strcharinfo(0) + ", its a sign reflecting victory";			close2;			set .@Reward, 18;		}		else		{ // Derrota			mes "[Swandery]";			mes "Oh, " + strcharinfo(0) + ". Don't be sad.";			mes "Even though we didn't win, we did our best.";			mes "This is a Royal gift from Croix, and please don't forget this battle. We can win the next.";			close2;			set .@Reward, 6;		}		set Flavius_BG_Tick, gettimetick(2) + 300; //setquest 2070;		getitem 7829, .@Reward;		set .@ontd,0;		bg_leave;		warp "bat_room",155,150;		end;	}	end;}// Battleground Therapist// *********************************************************************bat_b01,390,13,5	script	Therapist in battle#fl12	95,{	OnHeal:	if((@h_last) && (getnpctimer(1))) end;		set @h_last,1;	percentheal 100,100;	repair 1101;	skilleffect 34,0; sc_start SC_BLESSING,240000,5;	skilleffect 29,0; sc_start SC_INC_AGI,240000,5;	dispbottom "HP/SP fully restored.";	if(!getnpctimer(1)){setnpctimer 0; attachnpctimer(strcharinfo(1)); startnpctimer;}	while(getbrokenid(1)){	repair(1);{		set .@i, .@i +1;    }	if (.@i) dispbottom .@i + " Item(s) Repaired.";}	end;	OnTimer5000:	set @h_last,0;	stopnpctimer;	end;		OnInit:	defpattern 1, "heal","OnHeal";	activatepset 1;	end;}bat_b01,10,293,5	script	Therapist in battle#fl11	95,{			OnHeal:	if((@h_last) && (getnpctimer(1))) end;		set @h_last,1;	percentheal 100,100;	repair 1101;	skilleffect 34,0; sc_start SC_BLESSING,240000,5;	skilleffect 29,0; sc_start SC_INC_AGI,240000,5;	dispbottom "HP/SP fully restored.";	if(!getnpctimer(1)){setnpctimer 0; attachnpctimer(strcharinfo(0)); startnpctimer;}	while(getbrokenid(1)){	repair(1);{		set .@i, .@i +1;    }	if (.@i) dispbottom .@i + " Item(s) Repaired.";}	end;	OnTimer5000:	set @h_last,0;	stopnpctimer;	end;		OnInit:	defpattern 1, "heal","OnHeal";	activatepset 1;	end;}// Battleground Respawn and Regroup// *********************************************************************bat_b01,390,10,0	script	#gfl1_respawn	139,{	end;OnBGStart:	initnpctimer;	end;OnBGStop:	stopnpctimer;	end;OnTimer9000:	misceffect 83;	end;OnTimer10000:	areapercentheal "bat_b01",382,2,397,17,100,100;	set .@mapx,rand(309,327);	set .@mapy,rand(141,159);	areawarp "bat_b01",382,2,397,17,"bat_b01",.@mapx,.@mapy;	initnpctimer;	end;}bat_b01,10,290,0	script	#cfl1_respawn	139,{	end;OnBGStart:	initnpctimer;	end;OnBGStop:	stopnpctimer;	end;OnTimer9000:	misceffect 83;	end;OnTimer10000:	areapercentheal "bat_b01",2,282,17,297,100,100;	set .@mapx,rand(72,91);	set .@mapy,rand(141,159);	areawarp "bat_b01",2,282,17,297,"bat_b01",.@mapx,.@mapy;	initnpctimer;	end;}// MapFlags// *********************************************************************bat_b01	mapflag	battleground	2bat_b01	mapflag	nomemobat_b01	mapflag	nosave	SavePointbat_b01	mapflag	noteleportbat_b01	mapflag	nowarpbat_b01	mapflag	nowarptobat_b01	mapflag	noreturnbat_b01	mapflag	nobranchbat_b01	mapflag	nopenaltybat_b01	mapflag	loadevent// ***********************************************************************

 

Thank you in advance <3

 

Kindly Move this Post, I accidentally posted it here, and it supposed to be on "Script Support Section" Thanks..

Edited by Zalbahis

Share this post


Link to post
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.   Restore formatting

  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.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.