Jump to content
  • 0

Party vs Party


brunoshp

Question


  • Group:  Members
  • Topic Count:  64
  • Topics Per Day:  0.02
  • Content Count:  180
  • Reputation:   7
  • Joined:  12/19/12
  • Last Seen:  

i need t omake other players registred can into in event!

i use AnnieRuru System.

 prontera,156,185,5    script    Party vs Party    100,{
if (getpartymembercount(getcharid(1)) != 1 && getpartycount(getcharid(1)) != 1){
mes " You need have 3 players un party!";
close;}
if (getpartyleader(getcharid(1),2) != getcharid(0)) {mes "Only Leader Party can Registre!"; close;}
    mes "You Wanna Sign Up";
    if ( select( "yes", "no" ) == 2 ) close;
    else if ( .signup_count == 128 ) {
        mes "Sorry the whole queue is full";
        close;
    }
    while ( .signup_aid[.@i] != getcharid(3) && .@i < .signup_count )
        set .@i, .@i +1;
    if ( .@i < .signup_count ) {
        mes "you have already sign up in this event";
    mes "You have ^FF0000"+(.signup_count-1)+"^000000 Peoples in your front.";
        close;
    }
    set .signup_aid[ .signup_count ], getcharid(3);
    set .signup_count, .signup_count +1;
    mes "You are now signed to the BG event";
    dispbottom "You have  "+(.signup_count-1)+" Peoples in your front !";
    close2;
L_start:
    if ( .signup_count < .min2start ) end;
    for ( set .@i, 0; .@i < .signup_count; set .@i, .@i +1 ) {
        if ( attachrid( .signup_aid[.@i] ) ) {
            if ( getmapflag( strcharinfo(3), mf_nowarp ) ) { // player has went into another event
                deletearray .signup_aid[.@i], 1;
                set .signup_count, .signup_count -1;
                set .@i, .@i -1;
            }
        }
        else {
            deletearray .signup_aid[.@i], 1;
            set .signup_count, .signup_count -1;
            set .@i, .@i -1;
        }    
    }
    if ( .start || .signup_count < .min2start ) end;
    announce "event started", 0;
    set .start, 1;
    for ( set .@i, 0; .@i < .signup_count; set .@i, .@i +1 )
        setbgid ( .@i %2 )? .red : .blue, .signup_aid[.@i];
    deletearray .signup_aid, .min2start;
    set .signup_count, .signup_count - .min2start;
    bg_warp .red, "guild_vs3", 13,50;
    bg_warp .blue, "guild_vs3", 86,50;
    cleararray .score[1], .startingscore, 2;
    bg_updatescore "guild_vs3", .score[1], .score[2];
    sleep .eventlasting * 1000;
    if ( .start == 1 ) {
        if ( .score[1] == .score[2] )
            mapannounce "guild_vs3", "Draw !", 0;
        else if ( .score[1] > .score[2] ) {
            mapannounce "guild_vs3", " Red side wins !", 0;
            callsub L_reward, .red;
        }
        else if ( .score[1] < .score[2] ) {
            mapannounce "guild_vs3", " Blue side wins !", 0;
            callsub L_reward, .blue;
        }
    }
    bg_warp .red, "prontera", 155,182;
    bg_warp .blue, "prontera", 158,182;
    bg_kickall .red;
    bg_kickall .blue;
    set .start, 0;
    deletearray .score;
    enablenpc "Partytwo";
    enablenpc "Partyone";
    goto L_start;
L_reward:
    getbgusers getarg(0);
    for ( set .@i, 0; .@i < $@arenamembersnum; set .@i, .@i +1 )
//        getitem 501, 1, $@arenamembers[.@i]; // item reward
    return;
OnredDead: callsub L_dead, 1;
OnblueDead: callsub L_dead, 2;
L_dead:
//warp "guild_vs3", 13,50;
    set .score[ getarg(0) ], .score[ getarg(0) ] -1;
    bg_updatescore "guild_vs3", .score[1], .score[2];
    if ( !.score[ getarg(0) ] )
        awake strnpcinfo(0);
    sleep2 1250;
    percentheal 100,100;
    end;
OnredQuit: callsub L_quit, 1, .red;
OnblueQuit: callsub L_quit, 2, .blue;
L_quit:
    if ( bg_get_data( getarg(1), 0 ) ) end;
    set .score[ getarg(0) ], 0;
    awake strnpcinfo(0);
end;
OnInit:
    set .eventlasting, 30 * 60; // how long would the event last or it auto-reset. 30 *60 = 30 mins
    set .min2start, 2; // minimum player to start
    set .startingscore, 4; // score at start
    set .red, createbgid( "guild_vs3", 13,50, strnpcinfo(0)+"::OnredQuit", strnpcinfo(0)+"::OnredDead" );
    set .blue, createbgid( "guild_vs3", 86,50, strnpcinfo(0)+"::OnblueQuit", strnpcinfo(0)+"::OnblueDead" );
    set $psvp_map$,"guild_vs3";
    set $pvsp_grupo1,0;
    set $pvsp_grupo2,0;
    set $pvsp_kill1,0;
    set $pvsp_kill2,0;
    enablenpc "Partytwo";
    enablenpc "Partyone";
    end;
OnPCKillEvent:
if(strcharinfo(3) == $psvp_map$)
    {
        if(getcharid(1) == $pvsp_grupo1)
        {
            set $pvsp_kill1,$pvsp_kill1+1;
            mapannounce $psvp_map$,"O grupo ["+getpartyname($pvsp_grupo1)+"] matou "+$pvsp_kill1+"/3 players do grupo ["+getpartyname($pvsp_grupo2)+"]!",bc_all;
        }
        if(getcharid(1) == $pvsp_grupo2)
        {
            set $pvsp_kill2,$pvsp_kill2+1;
            mapannounce $psvp_map$,"O grupo ["+getpartyname($pvsp_grupo2)+"] matou "+$pvsp_kill2+"/3 players do grupo ["+getpartyname($pvsp_grupo1)+"]!",bc_all;
        }
        if($pvsp_kill1 == 1)
        {
            announce "[Party vs Party] O grupo vencendor foi o ["+getpartyname($pvsp_grupo1)+"] !",bc_all;
            sleep2 2000;
            mapwarp $psvp_map$,"lhz_cube.gat",66,192;
        }
        if($pvsp_kill2 == 1)
        {
            announce "[Party vs Party] O grupo vencendor foi o ["+getpartyname($pvsp_grupo2)+"] !",bc_all;
            sleep2 2000;
            mapwarp $psvp_map$,"lhz_cube.gat",66,192;
        }
        
        set $pvsp_grupo1,0;
        set $pvsp_grupo2,0;
        set $pvsp_kill1,0;
        set $pvsp_kill2,0;
        end;
    }
}
guild_vs3,13,50,0    script    Partyone    139,5,5,{
warpparty "guild_vs3",13,50,getcharid(1);
if($pvsp_grupo1 == 0) set $pvsp_grupo1,getcharid(1);
disablenpc "Partyone";
end;
}
guild_vs3,86,50,0    script    Partytwo    139,5,5,{
warpparty "guild_vs3",86,50,getcharid(1);
if($pvsp_grupo2 == 0) set $pvsp_grupo2,getcharid(1);
disablenpc "Partytwo";
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
Edited by Capuche
Change Quote to Code
Link to comment
Share on other sites

4 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  64
  • Topics Per Day:  0.02
  • Content Count:  180
  • Reputation:   7
  • Joined:  12/19/12
  • Last Seen:  

make others players enter room after battle . for enter in evente you have party. afeter round off no call other for room.

Link to comment
Share on other sites


  • Group:  Developer
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  2407
  • Reputation:   613
  • Joined:  07/05/12
  • Last Seen:  

Try this

prontera,156,185,5	script	Party vs Party	100,{
	
	if( !getcharid(1) ) {
		mes "You need a party";
		close;
	}
	getpartymember getcharid(1), 1;
	getpartymember getcharid(1), 2;
	for( .@i = 0; .@i < $@partymembercount; .@i++ )
		if( isloggedin( $@partymemberaid[ .@i ], $@partymembercid[ .@i ] ) ) .@j++;

	if ( .@j != 1 ) {
		mes "You need 3 players in the party";
		close;
	}
	if ( getpartyleader( getcharid(1),2 ) != getcharid(0) ) {
		mes "Only Leader Party can Registre!";
		close;
	}
	mes "You Wanna Sign Up";
	if ( select( "yes", "no" ) == 2 ) close;
	else if ( .signup_count == 128 ) {
		mes "Sorry the whole queue is full";
		close;
	}
	while ( .signup_aid[.@i] != getcharid(3) && .@i < .signup_count )
		set .@i, .@i +1;
	if ( .@i < .signup_count ) {
		mes "you have already sign up in this event";
		mes "You have ^FF0000"+ (.signup_count-1) +"^000000 Peoples in your front.";
		close;
	}
	set .signup_aid[ .signup_count ], getcharid(3);
	set .signup_pid[ .signup_count ], getcharid(1);
	set .signup_count, .signup_count +1;
	mes "You are now signed to the BG event";
	dispbottom "You have  "+(.signup_count-1)+" Peoples in your front !";
	close2;
L_start:
	if ( .signup_count < .min2start ) end;
	for ( set .@i, 0; .@i < .signup_count; set .@i, .@i +1 ) {
		if ( attachrid( .signup_aid[.@i] ) ) {
			if ( getmapflag( strcharinfo(3), mf_nowarp ) || !callsub( L_checkp, .signup_pid[.@i] ) ) { // player has went into another event
				deletearray .signup_aid[.@i], 1;
				deletearray .signup_pid[.@i], 1;
				set .signup_count, .signup_count -1;
				set .@i, .@i -1;
			}
		}
		else {
			deletearray .signup_aid[.@i], 1;
			deletearray .signup_pid[.@i], 1;
			set .signup_count, .signup_count -1;
			set .@i, .@i -1;
		}	
	}
	if ( .start || .signup_count < .min2start ) end;
	announce "event started", 0;
	set .start, 1;
	set .pvsp_kill1,0;
	set .pvsp_kill2,0;
	for ( set .@i, 0; .@i < .signup_count; set .@i, .@i +1 ) {
		setbgid ( .@i %2 )? .red : .blue, .signup_aid[.@i];
		set .team_p[.@i], .signup_pid[.@i];
	}
	deletearray .signup_aid, .min2start;
	deletearray .signup_pid, .min2start;
	set .signup_count, .signup_count - .min2start;
	bg_warp .red, "guild_vs3", 13,50;
	bg_warp .blue, "guild_vs3", 86,50;
	warpparty "guild_vs3",13,50,getcharid(1);
	warpparty "guild_vs3",13,50,getcharid(1);
	cleararray .score[1], .startingscore, 2;
	bg_updatescore "guild_vs3", .score[1], .score[2];
	sleep .eventlasting * 1000;
	if ( .start == 1 ) {
		if ( .score[1] == .score[2] )
			mapannounce "guild_vs3", "Draw !", 0;
		else if ( .score[1] > .score[2] ) {
			mapannounce "guild_vs3", " Red side wins !", 0;
			sleep 2000;
			bg_warp .red, "lhz_cube",66,192;
			bg_warp .blue, "prontera", 158,182;
			// callsub L_reward, .red;
		}
		else if ( .score[1] < .score[2] ) {
			mapannounce "guild_vs3", " Blue side wins !", 0;
			sleep 2000;
			bg_warp .red, "prontera", 155,182;
			bg_warp .blue, "lhz_cube",66,192;
			// callsub L_reward, .blue;
		}
	}
	bg_kickall .red;
	bg_kickall .blue;
	set .start, 0;
	deletearray .score;
	goto L_start;
L_reward:
	getbgusers getarg(0);
	for ( set .@i, 0; .@i < $@arenamembersnum; set .@i, .@i +1 )
		getitem 501, 1, $@arenamembers[.@i]; // item reward
	return;
OnredDead: callsub L_dead, 1;
OnblueDead: callsub L_dead, 2;
L_dead:
//warp "guild_vs3", 13,50;
	set .score[ getarg(0) ], .score[ getarg(0) ] -1;
	bg_updatescore "guild_vs3", .score[1], .score[2];
	if ( !.score[ getarg(0) ] )
		awake strnpcinfo(0);
	sleep2 1250;
	percentheal 100,100;
	end;
 
OnredQuit: callsub L_quit, 1, .red;
OnblueQuit: callsub L_quit, 2, .blue;
L_quit:
	if ( bg_get_data( getarg(1), 0 ) ) end;
	set .score[ getarg(0) ], 0;
	awake strnpcinfo(0);
	end;
L_checkp:
	if( !getcharid(1) || getcharid(1) != getarg(0) ) return 0;
	getpartymember getcharid(1), 1;
	getpartymember getcharid(1), 2;
	for( .@i = 0; .@i < $@partymembercount; .@i++ )
		if( isloggedin( $@partymemberaid[ .@i ], $@partymembercid[ .@i ] ) ) .@j++;
	if( .@j != 1 ) return 0;
	return 1;

OnInit:
	set .eventlasting, 30 * 60; // how long would the event last or it auto-reset. 30 *60 = 30 mins
	set .min2start, 2; // minimum player to start
	set .startingscore, 3; // score at start
	set .red, createbgid( "guild_vs3", 13,50, strnpcinfo(0)+"::OnredQuit", strnpcinfo(0)+"::OnredDead" );
	set .blue, createbgid( "guild_vs3", 86,50, strnpcinfo(0)+"::OnblueQuit", strnpcinfo(0)+"::OnblueDead" );
	set .psvp_map$, "guild_vs3";
	end;
 
OnPCKillEvent:
	if( strcharinfo(3) == .psvp_map$ ) {
		if( getcharid(1) == .team_p[0] ) {
			set .pvsp_kill1, .pvsp_kill1 + 1;
			mapannounce .psvp_map$,"O grupo ["+ getpartyname( .team_p[0] ) +"] matou "+ .pvsp_kill1 +"/"+ .startingscore +" players do grupo ["+ getpartyname( .team_p[1] ) +"]!",bc_all;
		}
		else if( getcharid(1) == .team_p[1] ) {
			set .pvsp_kill2, .pvsp_kill2 + 1;
			mapannounce .psvp_map$,"O grupo ["+getpartyname( .team_p[1] )+"] matou "+ .pvsp_kill2 +"/"+ .startingscore +" players do grupo ["+ getpartyname( .team_p[0] ) +"]!",bc_all;
		}
	}
	end;
}
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  27
  • Reputation:   0
  • Joined:  06/06/12
  • Last Seen:  

Try this

prontera,156,185,5	script	Party vs Party	100,{
	
	if( !getcharid(1) ) {
		mes "You need a party";
		close;
	}
	getpartymember getcharid(1), 1;
	getpartymember getcharid(1), 2;
	for( .@i = 0; .@i < $@partymembercount; .@i++ )
		if( isloggedin( $@partymemberaid[ .@i ], $@partymembercid[ .@i ] ) ) .@j++;

	if ( .@j != 1 ) {
		mes "You need 3 players in the party";
		close;
	}
	if ( getpartyleader( getcharid(1),2 ) != getcharid(0) ) {
		mes "Only Leader Party can Registre!";
		close;
	}
	mes "You Wanna Sign Up";
	if ( select( "yes", "no" ) == 2 ) close;
	else if ( .signup_count == 128 ) {
		mes "Sorry the whole queue is full";
		close;
	}
	while ( .signup_aid[.@i] != getcharid(3) && .@i < .signup_count )
		set .@i, .@i +1;
	if ( .@i < .signup_count ) {
		mes "you have already sign up in this event";
		mes "You have ^FF0000"+ (.signup_count-1) +"^000000 Peoples in your front.";
		close;
	}
	set .signup_aid[ .signup_count ], getcharid(3);
	set .signup_pid[ .signup_count ], getcharid(1);
	set .signup_count, .signup_count +1;
	mes "You are now signed to the BG event";
	dispbottom "You have  "+(.signup_count-1)+" Peoples in your front !";
	close2;
L_start:
	if ( .signup_count < .min2start ) end;
	for ( set .@i, 0; .@i < .signup_count; set .@i, .@i +1 ) {
		if ( attachrid( .signup_aid[.@i] ) ) {
			if ( getmapflag( strcharinfo(3), mf_nowarp ) || !callsub( L_checkp, .signup_pid[.@i] ) ) { // player has went into another event
				deletearray .signup_aid[.@i], 1;
				deletearray .signup_pid[.@i], 1;
				set .signup_count, .signup_count -1;
				set .@i, .@i -1;
			}
		}
		else {
			deletearray .signup_aid[.@i], 1;
			deletearray .signup_pid[.@i], 1;
			set .signup_count, .signup_count -1;
			set .@i, .@i -1;
		}	
	}
	if ( .start || .signup_count < .min2start ) end;
	announce "event started", 0;
	set .start, 1;
	set .pvsp_kill1,0;
	set .pvsp_kill2,0;
	for ( set .@i, 0; .@i < .signup_count; set .@i, .@i +1 ) {
		setbgid ( .@i %2 )? .red : .blue, .signup_aid[.@i];
		set .team_p[.@i], .signup_pid[.@i];
	}
	deletearray .signup_aid, .min2start;
	deletearray .signup_pid, .min2start;
	set .signup_count, .signup_count - .min2start;
	bg_warp .red, "guild_vs3", 13,50;
	bg_warp .blue, "guild_vs3", 86,50;
	warpparty "guild_vs3",13,50,getcharid(1);
	warpparty "guild_vs3",13,50,getcharid(1);
	cleararray .score[1], .startingscore, 2;
	bg_updatescore "guild_vs3", .score[1], .score[2];
	sleep .eventlasting * 1000;
	if ( .start == 1 ) {
		if ( .score[1] == .score[2] )
			mapannounce "guild_vs3", "Draw !", 0;
		else if ( .score[1] > .score[2] ) {
			mapannounce "guild_vs3", " Red side wins !", 0;
			sleep 2000;
			bg_warp .red, "lhz_cube",66,192;
			bg_warp .blue, "prontera", 158,182;
			// callsub L_reward, .red;
		}
		else if ( .score[1] < .score[2] ) {
			mapannounce "guild_vs3", " Blue side wins !", 0;
			sleep 2000;
			bg_warp .red, "prontera", 155,182;
			bg_warp .blue, "lhz_cube",66,192;
			// callsub L_reward, .blue;
		}
	}
	bg_kickall .red;
	bg_kickall .blue;
	set .start, 0;
	deletearray .score;
	goto L_start;
L_reward:
	getbgusers getarg(0);
	for ( set .@i, 0; .@i < $@arenamembersnum; set .@i, .@i +1 )
		getitem 501, 1, $@arenamembers[.@i]; // item reward
	return;
OnredDead: callsub L_dead, 1;
OnblueDead: callsub L_dead, 2;
L_dead:
//warp "guild_vs3", 13,50;
	set .score[ getarg(0) ], .score[ getarg(0) ] -1;
	bg_updatescore "guild_vs3", .score[1], .score[2];
	if ( !.score[ getarg(0) ] )
		awake strnpcinfo(0);
	sleep2 1250;
	percentheal 100,100;
	end;
 
OnredQuit: callsub L_quit, 1, .red;
OnblueQuit: callsub L_quit, 2, .blue;
L_quit:
	if ( bg_get_data( getarg(1), 0 ) ) end;
	set .score[ getarg(0) ], 0;
	awake strnpcinfo(0);
	end;
L_checkp:
	if( !getcharid(1) || getcharid(1) != getarg(0) ) return 0;
	getpartymember getcharid(1), 1;
	getpartymember getcharid(1), 2;
	for( .@i = 0; .@i < $@partymembercount; .@i++ )
		if( isloggedin( $@partymemberaid[ .@i ], $@partymembercid[ .@i ] ) ) .@j++;
	if( .@j != 1 ) return 0;
	return 1;

OnInit:
	set .eventlasting, 30 * 60; // how long would the event last or it auto-reset. 30 *60 = 30 mins
	set .min2start, 2; // minimum player to start
	set .startingscore, 3; // score at start
	set .red, createbgid( "guild_vs3", 13,50, strnpcinfo(0)+"::OnredQuit", strnpcinfo(0)+"::OnredDead" );
	set .blue, createbgid( "guild_vs3", 86,50, strnpcinfo(0)+"::OnblueQuit", strnpcinfo(0)+"::OnblueDead" );
	set .psvp_map$, "guild_vs3";
	end;
 
OnPCKillEvent:
	if( strcharinfo(3) == .psvp_map$ ) {
		if( getcharid(1) == .team_p[0] ) {
			set .pvsp_kill1, .pvsp_kill1 + 1;
			mapannounce .psvp_map$,"O grupo ["+ getpartyname( .team_p[0] ) +"] matou "+ .pvsp_kill1 +"/"+ .startingscore +" players do grupo ["+ getpartyname( .team_p[1] ) +"]!",bc_all;
		}
		else if( getcharid(1) == .team_p[1] ) {
			set .pvsp_kill2, .pvsp_kill2 + 1;
			mapannounce .psvp_map$,"O grupo ["+getpartyname( .team_p[1] )+"] matou "+ .pvsp_kill2 +"/"+ .startingscore +" players do grupo ["+ getpartyname( .team_p[0] ) +"]!",bc_all;
		}
	}
	end;
}

d po nag wowork pag click ko d nagana

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