Jump to content
  • 0

My Custom BG Error, (Always Infinite Loop) HELP <3


Archetype Saber

Question


  • Group:  Members
  • Topic Count:  90
  • Topics Per Day:  0.02
  • Content Count:  361
  • Reputation:   19
  • Joined:  01/09/13
  • Last Seen:  

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
Link to comment
Share on other sites

6 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

The Error occurs when I kill a opponent. I set the bg to 1 vs 1

oh !

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 loop

and 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 by AnnieRuru
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

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 ?

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  90
  • Topics Per Day:  0.02
  • Content Count:  361
  • Reputation:   19
  • Joined:  01/09/13
  • Last Seen:  

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 /thx

 Here's my console. I think there is a problem between your dota pvp ladder and your bg script Master Annie. /sob

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

2v2v72q.jpg

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 by Mikoto Suoh
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

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 by AnnieRuru
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  90
  • Topics Per Day:  0.02
  • Content Count:  361
  • Reputation:   19
  • Joined:  01/09/13
  • Last Seen:  

now I get it. damn I feel so stupid. Hahaha I didn't read the script descriptions carefully.

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