Archetype Saber Posted January 13, 2014 Group: Members Topic Count: 90 Topics Per Day: 0.02 Content Count: 361 Reputation: 19 Joined: 01/09/13 Last Seen: January 19 Share Posted January 13, 2014 Here's the Script - script custom_bg#control -1,{ OnInit: set .minplayer2start, 2; // minimum player to start ... please do not set to 1 setarray .rewarditem, 501, 10, // reward to the winning team 501, 3; // reward to the losing team set .startingscore, 15; // score at start set .eventlasting, 20*60; // event last 20 minutes or the system abort itself set .red_cloth, 1; // color value from red clothing set .blue_cloth, 2; // color value from blue clothing set .grey_cloth, 3; // color value from grey clothing end; OnStart: if ( getwaitingroomstate( 0, .rednpcname$ ) < .minplayer2start || getwaitingroomstate( 0, .bluenpcname$ ) < .minplayer2start ) end; .red = waitingroom2bg( "guild_vs3", 13,50, strnpcinfo(0)+"::OnredQuit", strnpcinfo(0)+"::OnredDead", .rednpcname$ ); copyarray .team1aid, $@arenamembers, $@arenamembersnum; .team1count = .minplayer2start; .blue = waitingroom2bg( "guild_vs3", 86,50, strnpcinfo(0)+"::OnblueQuit", strnpcinfo(0)+"::OnblueDead", .bluenpcname$ ); copyarray .team2aid, $@arenamembers, $@arenamembersnum; .team2count = .minplayer2start; delwaitingroom .rednpcname$; delwaitingroom .bluenpcname$; bg_warp .red, "guild_vs3", 13,50; bg_warp .blue, "guild_vs3", 86,50; .score[1] = .score[2] =.startingscore; bg_updatescore "guild_vs3", .score[1], .score[2]; callsub L_setleader, 1; callsub L_setleader, 2; for ( .@i = 0; .@i < .minplayer2start; .@i++ ) { attachrid .team1aid[.@i]; @clotes_color = getlook( look_clothes_color ); setlook look_clothes_color, ( .leader_aid[1] == getcharid(3) )? .grey_cloth : .red_cloth; } for ( .@i = 0; .@i < .minplayer2start; .@i++ ) { attachrid .team2aid[.@i]; @clotes_color = getlook( look_clothes_color ); setlook look_clothes_color, ( .leader_aid[2] == getcharid(3) )? .grey_cloth : .blue_cloth; } sleep .eventlasting * 1000; if ( .score[1] > .score[2] ) { mapannounce "guild_vs3", "red side wins !", 0; callsub L_reward, 1, 0; callsub L_reward, 2, 2; } else if ( .score[1] < .score[2] ) { mapannounce "guild_vs3", "blue side wins !", 0; callsub L_reward, 2, 0; callsub L_reward, 1, 2; } else { mapannounce "guild_vs3", "Draw !", 0; callsub L_reward, 1, 2; callsub L_reward, 2, 2; } bg_warp .red, "prontera",152,178; bg_warp .blue, "prontera",154,178; bg_destroy .red; bg_destroy .blue; donpcevent .rednpcname$ +"::OnStart"; donpcevent .bluenpcname$ +"::OnStart"; .leader_aid[1] = .leader_aid[2] = 0; for ( .@i = 0; .@i < .team1count; .@i++ ) { attachrid .team1aid[.@i]; setlook look_clothes_color, @clotes_color; @clotes_color = 0; } for ( .@i = 0; .@i < .team2count; .@i++ ) { attachrid .team2aid[.@i]; setlook look_clothes_color, @clotes_color; @clotes_color = 0; } end; L_reward: for ( .@i = 0; .@i < getd(".team"+ getarg(0) +"count"); .@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: if ( .leader_aid[ getarg(0) ] != getcharid(3) ) .score[ getarg(0) ]--; else { callsub L_setleader, getarg(0); .score[ getarg(0) ] -= 2; } bg_updatescore "guild_vs3", .score[1], .score[2]; if ( .score[ getarg(0) ] <= 0 ) awake strnpcinfo(0); sleep2 1250; percentheal 100,100; end; OnredQuit: callsub L_quit, 1, .red; OnblueQuit: callsub L_quit, 2, .blue; L_quit: percentheal 100, 100; while ( getd( ".team"+ getarg(0) +"aid["+ .@i +"]" ) != getcharid(3) && .@i < getd(".team"+ getarg(0) +"count") ) .@i++; deletearray getd( ".team"+ getarg(0) +"aid["+ .@i +"]" ), 1; setd ".team"+ getarg(0) +"count", getd(".team"+ getarg(0) +"count") -1; if ( .leader_aid[ getarg(0) ] == getcharid(3) ) callsub L_setleader, getarg(0); setlook look_clothes_color, @clotes_color; @clotes_color = 0; if ( bg_get_data( getarg(1), 0 ) > 1 ) end; .score[ getarg(0) ] = 0; awake strnpcinfo(0); end; L_setleader: while ( ( .@tmp = getd( ".team"+ getarg(0) +"aid["+ rand( getd(".team"+ getarg(0) +"count") ) +"]" ) ) == playerattached() ); .leader_aid[ getarg(0) ] = .@tmp; .@origin = playerattached(); attachrid .leader_aid[ getarg(0) ]; addtimer 1, strnpcinfo(0) +"::Onteam"+ getarg(0) +"leader"; attachrid .@origin; return; Onteam1leader: callsub L_lead, 1, 548; Onteam2leader: callsub L_lead, 2, 549; L_lead: while ( .leader_aid[ getarg(0) ] == getcharid(3) ) { specialeffect2 getarg(1); sleep2 1000; } end; } prontera,152,178,5 script red side 733,{ end; OnInit: set getvariableofnpc( .rednpcname$, "custom_bg#control" ), strnpcinfo(0); OnStart: waitingroom "Red Team", getvariableofnpc( .minplayer2start, "custom_bg#control" ) +1, "custom_bg#control::OnStart", getvariableofnpc( .minplayer2start, "custom_bg#control" ); end; } prontera,154,178,5 script blue side 734,{ end; OnInit: set getvariableofnpc( .bluenpcname$, "custom_bg#control" ), strnpcinfo(0); OnStart: waitingroom "Blue Team", getvariableofnpc( .minplayer2start, "custom_bg#control" ) +1, "custom_bg#control::OnStart", getvariableofnpc( .minplayer2start, "custom_bg#control" ); end; } guild_vs3 mapflag battleground 2 guild_vs3 mapflag nosave SavePoint guild_vs3 mapflag nowarp guild_vs3 mapflag nowarpto guild_vs3 mapflag noteleport guild_vs3 mapflag nomemo guild_vs3 mapflag nopenalty guild_vs3 mapflag nobranch guild_vs3 mapflag noicewall Quote Link to comment Share on other sites More sharing options...
AnnieRuru Posted January 14, 2014 Group: Members Topic Count: 18 Topics Per Day: 0.00 Content Count: 2044 Reputation: 682 Joined: 10/09/12 Last Seen: December 20, 2020 Share Posted January 14, 2014 (edited) The Error occurs when I kill a opponent. I set the bg to 1 vs 1oh !this script has the leader option enabled the script will always loop the the team index to search for a player that is currently not a leader L_setleader: while ( ( .@tmp = getd( ".team"+ getarg(0) +"aid["+ rand( getd(".team"+ getarg(0) +"count") ) +"]" ) ) == playerattached() );if you set to 1, it will caused an infinite loopand it is supposed to be work in this way because .... didn't I already said DO NOT set to 1 ? set .minplayer2start, 2; // minimum player to start ... please do not set to 1 Edited January 14, 2014 by AnnieRuru Quote Link to comment Share on other sites More sharing options...
AnnieRuru Posted January 13, 2014 Group: Members Topic Count: 18 Topics Per Day: 0.00 Content Count: 2044 Reputation: 682 Joined: 10/09/12 Last Seen: December 20, 2020 Share Posted January 13, 2014 original topic http://rathena.org/board/topic/75477-custom-bg/?p=176806 fix the OnredDead into OnRedDead [paste=1ta6tj3irboh] though, I don't think this script can occur an infinite loop 3*20*2 = 120 loops maximum even if you set your team to 20 players to start when and how does it occur an infinite loop ? 1 Quote Link to comment Share on other sites More sharing options...
Archetype Saber Posted January 14, 2014 Group: Members Topic Count: 90 Topics Per Day: 0.02 Content Count: 361 Reputation: 19 Joined: 01/09/13 Last Seen: January 19 Author Share Posted January 14, 2014 (edited) original topic http://rathena.org/board/topic/75477-custom-bg/?p=176806 fix the OnredDead into OnRedDead [paste=1ta6tj3irboh] though, I don't think this script can occur an infinite loop 3*20*2 = 120 loops maximum even if you set your team to 20 players to start when and how does it occur an infinite loop ? Thank you. there are some just typo. thank you for this script annie Here's my console. I think there is a problem between your dota pvp ladder and your bg script Master Annie. The Error occurs when I kill a opponent. I set the bg to 1 vs 1 http://tinypic.com/view.php?pic=2v2v72q&s=5#.UtTpdNIW2TU original topic http://rathena.org/board/topic/75477-custom-bg/?p=176806 fix the OnredDead into OnRedDead [paste=1ta6tj3irboh] though, I don't think this script can occur an infinite loop 3*20*2 = 120 loops maximum even if you set your team to 20 players to start when and how does it occur an infinite loop ? still the same i reconfigure the announcement. it's still removing the gvg state at Guild_vs3 Edited January 14, 2014 by Mikoto Suoh Quote Link to comment Share on other sites More sharing options...
AnnieRuru Posted January 14, 2014 Group: Members Topic Count: 18 Topics Per Day: 0.00 Content Count: 2044 Reputation: 682 Joined: 10/09/12 Last Seen: December 20, 2020 Share Posted January 14, 2014 (edited) http://rathena.org/board/topic/90589-annies-custom-bg/?p=236396 EDIT: wait, how come you still get the infinity loop ? I never has it ... Edited January 14, 2014 by AnnieRuru Quote Link to comment Share on other sites More sharing options...
Archetype Saber Posted January 14, 2014 Group: Members Topic Count: 90 Topics Per Day: 0.02 Content Count: 361 Reputation: 19 Joined: 01/09/13 Last Seen: January 19 Author Share Posted January 14, 2014 well I think I'm stupid too ? Hahaha thanks I'll try it. Quote Link to comment Share on other sites More sharing options...
Archetype Saber Posted January 14, 2014 Group: Members Topic Count: 90 Topics Per Day: 0.02 Content Count: 361 Reputation: 19 Joined: 01/09/13 Last Seen: January 19 Author Share Posted January 14, 2014 now I get it. damn I feel so stupid. Hahaha I didn't read the script descriptions carefully. Quote Link to comment Share on other sites More sharing options...
Question
Archetype Saber
- script custom_bg#control -1,{
Link to comment
Share on other sites
6 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.