Jump to content
  • 0
Sign in to follow this  
Break San

map change

Question

How do I change the map script always goes to guild_vs

I would put another map, custom map

 

 

 

-	script	sdkfksdfjsdfgdf	-1,{OnInit:	.eventlasting = 30 * 60; // how long would the event last or it auto-reset. 30 *60 = 30 mins	.min2start = 6; // minimum player to start	.startingscore = 50; // score at start	setarray .rewardwin, 7773,30; // premiar a equipe vencedora	setarray .rewardlose, 7773,15; // premiar a equipe vencedora 	.rewardwinsize = getarraysize( .rewardwin );	.rewardlosesize = getarraysize( .rewardlose );	bindatcmd "bg", strnpcinfo(0)+"::OnJoin";	bindatcmd "leavebg", strnpcinfo(0)+"::OnLeave";	end;OnLeave:	while ( .signup_aid[.@i] != getcharid(3) && .@i < .signup_count )		.@i++;	if ( .@i == .signup_count ) {		dispbottom "Você ainda não se inscreveu na BG.";		end;	}	deletearray .signup_aid[.@i], 1;	.signup_count--;	dispbottom "Você deixou de participar da BG.";	end;OnJoin:	if ( getmapflag( strcharinfo(3), mf_nowarp ) || getmapflag( strcharinfo(3), mf_nowarpto ) ) {		dispbottom "Você não pode se inscrever para BG neste mapa";		end;	}	while ( .signup_aid[.@i] != getcharid(3) && .@i < .signup_count )		.@i++;	if ( .@i < .signup_count ) {		dispbottom "Você já se inscreveu na BG.";		end;	}	.signup_aid[ .signup_count ] = getcharid(3);	.signup_count++;	dispbottom "Você se registrou na BG.";//	.@i = 1; // DEBUG//	.@signup_name$ = rid2name( .signup_aid[0] );//	while ( .signup_aid[.@i] ) {//		.@signup_name$ = .@signup_name$ +","+ rid2name( .signup_aid[.@i] );//		.@i++;//	}//	dispbottom "[Debug] Atualmente tem "+ .signup_count +" e eles são "+ .@signup_name$;L_Start:	for ( .@i = 0; .@i < .signup_count; .@i++ ) {		if ( attachrid( .signup_aid[.@i] ) ) {			if ( getmapflag( strcharinfo(3), mf_nowarp ) ) { // player has went into another event				deletearray .signup_aid[.@i], 1;			}		}		else {			deletearray .signup_aid[.@i], 1;			.signup_count--;			.@i--;		}		}	if ( .start || .signup_count < .min2start ) {		announce "Batalha Campal -- [Field of Death] -- +"+ .signup_count +" jogadores para começar -- Digite @bg para participar!", bc_all, 0xFFA500;		end;	}	announce "Batalha Campal -- [Field of Death] -- Começou!", bc_all, 0xFFA500;	.start = 1;	.map = rand(1,3);	.red = createbgid( "guild_vs"+ .map, 20,50, strnpcinfo(0)+"::OnRedQuit", strnpcinfo(0)+"::OnRedDead" );	.blue = createbgid( "guild_vs"+ .map, 80,50, strnpcinfo(0)+"::OnBlueQuit", strnpcinfo(0)+"::OnBlueDead" );	callfunc "shuffle__", 0, .min2start -1, .@r;	.@modulus = rand(2);	for ( .@i = 0; .@i < .signup_count; .@i++ )		setbgid ( .@i %2 == .@modulus )? .red : .blue, .signup_aid[ .@r[.@i] ];	deletearray .signup_aid, .min2start;	.signup_count -= .min2start;	bg_warp .red, "guild_vs"+ .map, 20,50;	bg_warp .blue, "guild_vs"+ .map, 80,50;	.score[1] = .score[2] = .startingscore;	bg_updatescore "guild_vs"+ .map, .score[1], .score[2];	sleep .eventlasting * 1000;	if ( .start == 1 ) {		if ( .score[1] > .score[2] ) {			mapannounce "guild_vs"+ .map, " Time Vermelho ganhou!", bc_all;			callsub L_reward, .red, .rewardwin, .rewardwinsize;			callsub L_reward, .blue, .rewardlose, .rewardlosesize;		}		else if ( .score[1] < .score[2] ) {			mapannounce "guild_vs"+ .map, " Time Azul ganhou!", bc_all;			callsub L_reward, .blue, .rewardwin, .rewardwinsize;			callsub L_reward, .red, .rewardlose, .rewardlosesize;		}		else {			mapannounce "guild_vs"+ .map, "Empate !", bc_all;			callsub L_reward, .red, .rewardlose, .rewardlosesize;			callsub L_reward, .blue, .rewardlose, .rewardlosesize;		}	}	bg_warp .red, "prontera", 155,182;	bg_warp .blue, "prontera", 158,182;	bg_destroy .red;	bg_destroy .blue;	.start = .map = 0;	deletearray .score;	goto L_Start;L_reward:	getbgusers getarg(0);	for ( .@i = 0; .@i < $@arenamembersnum; .@i++ )		for ( .@j = 0; .@j < getarg(2); .@j += 2 )			getitem getelementofarray( getarg(1), .@j ), getelementofarray( getarg(1), .@j +1 ), $@arenamembers[.@i];	return;OnRedDead: callsub L_dead, 1;OnBlueDead: callsub L_dead, 2;L_dead:	.score[ getarg(0) ]--;	bg_updatescore "guild_vs"+ .map, .score[1], .score[2];	if ( !.score[ getarg(0) ] )		awake strnpcinfo(0);	while ( checkcell( strcharinfo(3), .@x = rand(200), .@y = rand(200), cell_chknopass ) );	bg_team_setxy getcharid(4), .@x, .@y;	sleep2 1250;	percentheal 100,100;	if ( getmapflag( strcharinfo(3), mf_battleground ) )		warp strcharinfo(3), 0,0;	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;	mapannounce "guild_vs"+ .map, "Todos "+ .teamname$[ getarg(0) ] +" membros da equipe saiu. !", bc_all, 0xFF3333;	.score[ getarg(0) ] = 0;	awake strnpcinfo(0);	end;}florian	mapflag	battleground	2florian	mapflag	nosave	SavePointflorian	mapflag	nowarpflorian	mapflag	nowarptoflorian	mapflag	noreturnflorian	mapflag	noteleportflorian	mapflag	nomemoflorian	mapflag	nopenaltyflorian	mapflag	nobranchflorian	mapflag	noicewallguild_vs3	mapflag	battleground	2guild_vs3	mapflag	nosave	SavePointguild_vs3	mapflag	nowarpguild_vs3	mapflag	nowarptoguild_vs3	mapflag	noreturnguild_vs3	mapflag	noteleportguild_vs3	mapflag	nomemoguild_vs3	mapflag	nopenaltyguild_vs3	mapflag	nobranchguild_vs3	mapflag	noicewallguild_vs1	mapflag	battleground	2guild_vs1	mapflag	nosave	SavePointguild_vs1	mapflag	nowarpguild_vs1	mapflag	nowarptoguild_vs1	mapflag	noreturnguild_vs1	mapflag	noteleportguild_vs1	mapflag	nomemoguild_vs1	mapflag	nopenaltyguild_vs1	mapflag	nobranchguild_vs1	mapflag	noicewall//------------------------------ FUNÇÃO --------------------------------------------------//	callfunc "shuffle", <min num>, <max num>, <output array> {, <count> };function	script	shuffle__	{	.@static = getarg(0);	.@range = getarg(1) +1 - .@static;	.@count = getarg(3, 0);	if ( .@range <= 0 )		return 0;	if ( !.@count || .@count > .@range )		.@count = .@range;	while ( .@i < .@count ) {		.@r = .@save = rand( .@i, .@range -1 ) ;		if ( !.@tmp1[.@i] ) {			.@r = .@tmp1[.@r] ? .@tmp2[.@r] : .@r;			.@tmp2[.@i] = .@r;			.@tmp2[.@save] = .@i;			.@tmp1[.@save] = 1;			set getelementofarray( getarg(2), .@i ), .@r + .@static;			if ( .@save < .@count )				set getelementofarray( getarg(2), .@save ), .@i + .@static;		}		.@i++;	}	return .@count;}/*prontera,156,184,5	script	kjdshfksfjh	100,{//	input .@min, -1000000000, 1000000000;//	input .@max, -1000000000, 1000000000;	.@min = 1;	.@max = 5;	callfunc "shuffle__", .@min, .@max, .@output$, 100;	dispbottom implode( .@output$, "," );}*/ 

 

 

 

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0

just search guild_vs and change it to the name of your desired map.

Share this post


Link to post
Share on other sites
  • 0
I did it more when the npc starts running and he seeks guild_vs01 03 
 
Wanted to put a map custon example florian

 

just search guild_vs and change it to the name of your desired map.

Share this post


Link to post
Share on other sites
  • 0

Thank you Annie

A doubt *-*

How not to put open two account quit and who is afk, It could even be a part of the npc?

Edited by Salpetti

Share this post


Link to post
Share on other sites
  • 0

disable player from multi client and kick AFK players ?

that's a frequently asked question until .... I'm sick of it

 

I know how to block same ip address, but dunno how to block same mac address

and for the AFK script

//===== Hercules Script ===========================================//= AFK script//===== By: =======================================================//= AnnieRuru//===== Current Version: ==========================================//= 1.3//===== Compatible With: ==========================================//= Hercules 20140919//===== Description: ==============================================//= warp AFK players in BG maps to SavePoint, leave current team//===== Topic =====================================================//= http://www.eathena.ws/board/index.php?showtopic=272411//===== Additional Comments: ======================================//= repost this script for hercules//=================================================================-	script	afk_script	-1,{//	ConfigOnInit:	.sleeploop = 2000; // every 1 second	.afk = 4; // loop 180 times of 1 second = 3 minutes to execute	setarray .@map$,		"bat_a01", "bat_a02", "bat_b01", "bat_b02", "bat_c01", "bat_c02", "bat_c03"; // battlegrounds	.@size = getarraysize( .@map$ );	for ( .@i = 0; .@i < .@size; .@i++ )		setmapflag .@map$[.@i], mf_loadevent;	.map$ = ":"+ implode( .@map$, ":" ) +":";	.idle = .sleeploop * .afk / 1000;	end;//	what to do when triggeredL_trigger://	dispbottom "you have afk for "+ .idle +" seconds";	if ( getcharid(4) )		bg_leave;	warp "SavePoint", 0,0;	end;//	functionOnPCLoadMapEvent:	while ( true ) {		if ( compare( .map$, ":"+ strcharinfo(3) +":" ) ) {			if ( checkidle() >= .idle )				goto L_trigger;//			dispbottom "you have afk for "+ checkidle() +" seconds";			sleep2 .sleeploop;		}		else			break;	}	end;}
wanted to make a release topic, but suddenly realize Ind almost finish the battleground queue system

might as well use his ... when ready

Share this post


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