Jump to content

Thanna

Members
  • Posts

    271
  • Joined

  • Last visited

Posts posted by Thanna

  1. Hello, I have a working BG made by Ms.AnnieRuru, I would like to make a new BG with the same script somehow Im a little bit confuse because there are too many declarations and values, what should I change and what should I not change or can someone make a replica of it that will not coexist with the original one, and change the map to bat_c02 thanks in advance

    bg_emp_0.0.txt

  2.  

    function	script	rand__	{	.@range = getarg(0);	.@count = getarg(2, 0);	if ( !.@count || .@count > .@range )		.@count = .@range;	else if ( .@count > 128 )		.@count = 128;	while ( .@i < .@count ) {		.@r = .@save = rand( .@i, .@range -1 ) ;		if ( !getd( ".@tmp1_"+ .@i ) ) {			.@r = ( getd(".@tmp1_"+ .@r ) )? getd( ".@tmp2_"+ .@r ) : .@r;			setd ".@tmp2_"+ .@i, .@r;			setd ".@tmp2_"+ .@save , .@i;			setd ".@tmp1_"+ .@save , 1;			set getelementofarray( getarg(1), .@i ), .@r;			if ( .@save < .@count )				set getelementofarray( getarg(1), .@save ), .@i;		}		.@i++;	}	return .@count;}prontera,149,167,5	script	bg_emp_register	100,{	end;OnStart:	getmapxy .@map$, .@x, .@y, 1;	warpwaitingpc .@map$, .@x, .@y;	callfunc "rand__", .minplayer2start *2, $@rand;	for ( .@i = 0; .@i < $@warpwaitingpcnum; .@i++ )		setbgid ( .@i % 2 )? .red : .blue, $@warpwaitingpc[ $@rand[.@i] ];	delwaitingroom strnpcinfo(0);	bg_warp .red, "bat_c01", 50,124;	bg_warp .blue, "bat_c01", 149,59;	setwall "bat_c01",54,122,6,7,0,"batc01wall_a";	setwall "bat_c01",55,122,5,7,0,"batc01wall_b";	setwall "bat_c01",140,56,6,7,0,"batc01wall_c";	setwall "bat_c01",140,57,5,7,0,"batc01wall_d";	bg_updatescore "bat_c01", 0, 0;	sleep 6000;	areapercentheal "bat_c01",50,123,58,131,100,100;	areapercentheal "bat_c01",141,52,149,60,100,100;	mapannounce "bat_c01", "Rules are simple. The first one to break the opponent's emperium will get a score.", 0;	sleep 3000;	mapannounce "bat_c01", "Score "+ .winningscore +" rounds to win ! ... GET READY", 0;	setwall "bat_c01",51,121,2,4,0,"batc01wall_e";	setwall "bat_c01",50,120,1,2,0,"batc01wall_f";	setwall "bat_c01",148,62,2,0,0,"batc01wall_g";	setwall "bat_c01",149,63,1,2,0,"batc01wall_h";	while (1) {		for ( .@i = 5; .@i > 0; .@i-- ) {			mapannounce "bat_c01","[ "+ .@i +" ]", 0;			sleep 1000;		}		if ( .score[1] == .winningscore -1 && .score[2] == .winningscore -1 )			mapannounce "bat_c01", "Final Round start!", 0;		else			mapannounce "bat_c01", "Round "+ .round++ +" Start!", 0;		bg_monster .red,"bat_c01",50,131, "--ja--",1915, strnpcinfo(0)+"::OnRedDown";		bg_monster .blue,"bat_c01",149,52, "--ja--",1914, strnpcinfo(0)+"::OnBlueDown";		delwall "batc01wall_a";		delwall "batc01wall_b";		delwall "batc01wall_c";		delwall "batc01wall_d";		if ( .score[1] != .winningscore || .score[2] != .winningscore )			sleep .eventlasting * 1000;		.score[ .winside ]++;		bg_updatescore "bat_c01", .score[1], .score[2];		killmonster "bat_c01", strnpcinfo(0)+"::OnRedDown";		killmonster "bat_c01", strnpcinfo(0)+"::OnBlueDown";		if ( .winside && .empkiller$ != "" )			mapannounce "bat_c01","[ "+ .empkiller$ +" ] has Destroy "+( ( .winside == 1 )?"Blue":"Red" )+" Team's Emperium. "+( ( .winside == 1 )?"Red":"Blue" )+" Team score a point !", 0;		if ( .score[1] == .winningscore || .score[2] == .winningscore || !.winside ) break;		sleep 5000;		bg_warp .red, "bat_c01", 50,124;		bg_warp .blue, "bat_c01", 149,59;		setwall "bat_c01",54,122,6,7,0,"batc01wall_a";		setwall "bat_c01",55,122,5,7,0,"batc01wall_b";		setwall "bat_c01",140,56,6,7,0,"batc01wall_c";		setwall "bat_c01",140,57,5,7,0,"batc01wall_d";		.winside = 0;		.empkiller$ = "";		sleep 1000;	}	if ( .winside ) {		mapannounce "bat_c01", "[ "+( ( .winside == 1 )?"Red":"Blue" )+" Team] won !", 0;		getbgusers ( .winside == 1 )? .red : .blue;		for ( .@i = 0; .@i < $@arenamembersnum; .@i++ )			getitem .rewarditem[0], .rewarditem[1], $@arenamembers[.@i]; // item reward	} else		mapannounce "bat_c01", "Time Out. Aborting the match.", 0;	sleep 5000;	bg_warp .red, "prontera", 155,182;	bg_warp .blue, "prontera", 158,182;	bg_kickall .red;	bg_kickall .blue;	delwall "batc01wall_a";	delwall "batc01wall_b";	delwall "batc01wall_c";	delwall "batc01wall_d";	delwall "batc01wall_e";	delwall "batc01wall_f";	delwall "batc01wall_g";	delwall "batc01wall_h";	.round = .winside = .score[0] = .score[1] = .score[2] = 0;	.empkiller$ = "";	waitingroom "BG Emperium", .minplayer2start*2 +1, strnpcinfo(0) +"::OnStart", .minplayer2start*2;	end;OnRedDown: callsub L_EmpDown, 2;OnBlueDown: callsub L_EmpDown, 1;L_EmpDown:	.empkiller$ = strcharinfo(0);	.winside = getarg(0);	awake strnpcinfo(0);	end;OnRedQuit: callsub L_quit, .red, "Red", 2;OnBlueQuit: callsub L_quit, .blue, "Blue", 1;L_quit:	if ( bg_get_data( getarg(0), 0 ) ) end;	mapannounce "bat_c01", "All "+ getarg(1) +" team members has Quit !", 0;	.score[ getarg(2) ] = .winningscore -1;	.winside = getarg(2);	awake strnpcinfo(0);	end;OnRedDead:	// showdigit 5,3; // doesn't work properly	sleep2 1000;	for( .@i = 5; .@i > 0; .@i-- ) {		announce "[ "+ .@i +" ]", bc_self;		sleep2 1000;	}	percentheal 100,100;	warp "bat_c01",60,121;	end;OnBlueDead:	sleep2 1000;	for( .@i = 5; .@i > 0; .@i-- ) {		announce "[ "+ .@i +" ]", bc_self;		sleep2 1000;	}	percentheal 100,100;	warp "bat_c01",139,62;	// sleep2 1250;	// percentheal 100,100;	end;OnInit:	.red = 3; // red team bg ID	.blue = 4; // blue team bg ID	set .minplayer2start, 1; // minimum player to start	setarray .rewarditem, 501, 1; // reward to the winning team	set .winningscore, 2; // final score to win	set .eventlasting, 1200; // abort the system if there's no progress, 1200 seconds = 20 mins	.red = createbgid("bat_c01", 50,121, strnpcinfo(0)+"::OnRedQuit", strnpcinfo(0)+"::OnRedDead");	.blue = createbgid("bat_c01", 149,63, strnpcinfo(0)+"::OnBlueQuit", strnpcinfo(0)+"::OnBlueDead");	waitingroom "BG Emperium", .minplayer2start*2 +1, strnpcinfo(0) +"::OnStart", .minplayer2start*2;// reloadscript debug	delwall "batc01wall_a";	delwall "batc01wall_b";	delwall "batc01wall_c";	delwall "batc01wall_d";	delwall "batc01wall_e";	delwall "batc01wall_f";	delwall "batc01wall_g";	delwall "batc01wall_h";	end;}bat_c01	mapflag	battleground	2bat_c01	mapflag	nosave	SavePointbat_c01	mapflag	nowarpbat_c01	mapflag	nowarptobat_c01	mapflag	noteleportbat_c01	mapflag	nomemobat_c01	mapflag	nopenaltybat_a01	mapflag	nobranchbat_a01	mapflag	noicewall

    thanks capuche, perfectly working

  3. Hello rA, can I request for this command to work like this, @autopots and if a player will use HP only they will type it like this @autopots 50 501 0 0, and if they will use SP only they will type it like this @autopots 0 0 50 505, I hope you can and if they will both use it, it would be like this @autopots 50 501 50 505, I hope you can grant my request thanks in advance.

    Credits to sir Goddameit for this great work

    autopots.patch

  4. sir goddameit, can I request for this command to work like this, @autopots and if a player will use HP only they will type it like this @autopots 50 501 0 0, and if they will use SP only they will type it like this @autopots 0 0 50 505, I hope you can and if they will both use it, it would be like this @autopots 50 501 50 505, I hope you can grant my request thanks in advance

  5. Hello, I applied this on my server and it works fine, but there is a little problem to it, when I use @aura 5, it will say "Current Aura: 0", maybe it should be "Previous Aura" or there is a problem with the code, somehow its harmless, and can I request that when I use @hide the aura will disappear too, thanks for sharing

  6. Hello everyone, I'll just ask if you can add a little feature with this BG that Ms. AnnieRuru made

    when a player is killed he/she will be warp on area with walls (a place where they will wait for their resurection) , then a timer will be counting down (5 seconds) then he/she will be warp out of the wall so he can go for battle again, this is the script

    bg_emp_0.0.txt

  7. Hello everybody, I've been working on a BG script somehow when I try to use setwall it it prompts an error on my mapserver, 

     

     

    [Warning]: map_cell2gat: cell has no matching gat
    

     

    somehow I tried it many times getting the right coords and right direction and size, and still it gave me an error

     

    I hope someone can help me out with this

  8. change the value send to client in clif.c::clif_dispchat

    --- Base (BASE)
    +++ Locally Modified (Based On LOCAL)
    @@ -3538,7 +3538,7 @@
         WBUFL(buf, 4) = cd->owner->id;
         WBUFL(buf, 8) = cd->bl.id;
         WBUFW(buf,12) = cd->limit;
    -    WBUFW(buf,14) = (cd->owner->type == BL_NPC) ? cd->users+1 : cd->users;
    +    WBUFW(buf,14) = cd->users;
         WBUFB(buf,16) = type;
         memcpy((char*)WBUFP(buf,17), cd->title, strlen(cd->title)); // not zero-terminated
    

    nb. this will affect all npc chat but you can add more condition if you wish to

     

    I'll just ask sir, this will remove the NPC count on the chat so it will make it (0/4)?

  9. I'm willing to add that in if you have the class image files ready.

    I hope you can add this on your flux cp  /no1

     

     

     

    here is the patch for Flucp-RA. this patch is also already added for fluxcp.

    also credits for paradox924X for the fluxcp project.

    hello sir, can this be applied to xantaras flux cp? and where can I get the image for the characters?

×
×
  • Create New...