Jump to content
  • 0

Question

Posted

Hello rathena,

I would like to know if its possible to duplicate this wonderful battleground script made by ma'am annie?

http://rathena.org/board/index.php?app=core&module=attach&section=attach&attach_id=5375

Would it be possible if ever duplicate, run at the same time? So that it wont overcrowd people that wants to get in?

If its possible, mind telling me how? Im thinking just to change the map and npc, i could be wrong though :D

Thanks!

Recommended Posts

Posted

Hello rathena,

I would like to know if its possible to duplicate this wonderful battleground script made by ma'am annie?

http://rathena.org/board/index.php?app=core&module=attach&section=attach&attach_id=5375

Would it be possible if ever duplicate, run at the same time? So that it wont overcrowd people that wants to get in?

If its possible, mind telling me how? Im thinking just to change the map and npc, i could be wrong though :D

Thanks!

 

oh lol was about to say the same

 

change map npc and inside script maps D:

 

for example this lines to another map

	.red = createbgid( "guild_vs3", 13,50, strnpcinfo(0)+"::Onredout", strnpcinfo(0)+"::Onredout" );
	.blue = createbgid( "guild_vs3", 86,50, strnpcinfo(0)+"::Onblueout", strnpcinfo(0)+"::Onblueout" );
	callfunc "rand__", .min2start *2, $@rand;
	for ( .@i = 0; .@i < $@warpwaitingpcnum; .@i++ )
		setbgid ( .@i %2 )? .red : .blue, $@warpwaitingpc[ $@rand[.@i] ];
	delwaitingroom strnpcinfo(0);
	bg_warp .red, "guild_vs3", 13,50;
	bg_warp .blue, "guild_vs3", 86,50;
	bg_updatescore "guild_vs3", 0,0;
	sleep .eventlasting * 1000;
Posted

 

Hello rathena,

I would like to know if its possible to duplicate this wonderful battleground script made by ma'am annie?

http://rathena.org/board/index.php?app=core&module=attach&section=attach&attach_id=5375

Would it be possible if ever duplicate, run at the same time? So that it wont overcrowd people that wants to get in?

If its possible, mind telling me how? Im thinking just to change the map and npc, i could be wrong though :D

Thanks!

 

oh lol was about to say the same

 

change map npc and inside script maps D:

 

for example this lines to another map

	.red = createbgid( "guild_vs3", 13,50, strnpcinfo(0)+"::Onredout", strnpcinfo(0)+"::Onredout" );
	.blue = createbgid( "guild_vs3", 86,50, strnpcinfo(0)+"::Onblueout", strnpcinfo(0)+"::Onblueout" );
	callfunc "rand__", .min2start *2, $@rand;
	for ( .@i = 0; .@i < $@warpwaitingpcnum; .@i++ )
		setbgid ( .@i %2 )? .red : .blue, $@warpwaitingpc[ $@rand[.@i] ];
	delwaitingroom strnpcinfo(0);
	bg_warp .red, "guild_vs3", 13,50;
	bg_warp .blue, "guild_vs3", 86,50;
	bg_updatescore "guild_vs3", 0,0;
	sleep .eventlasting * 1000;

got error on this script

 

 
    parse_line: expect command, missing function name or calling undeclared function
   192 :                next;
   193 :                if ( input( .min2start, 1, 9 ) ) {
   194 :                        mes "invalid range";
   195 :                        close;
   196 :                }
*  197 :                '.'start = 1;
   198 :                announce strcharinfo(0) +" has hosted a "+ .min2start +"vs"+ .min2start +" battleground", 0;
   199 :                waitingroom "BG PVP", .min2start *2 +1, strnpcinfo(0)+"::OnStart", .min2start *2;
   200 :        }
   201 :        else if ( .start == 1 ) {
   202 :                mes "abort registration?";
Posted

you have to apply a patch with setbgid

 

do you have a link to the patch or something D:? i googled it and just fnd a url with the word setbgid on it @_@

Posted

I just load rathena and see my name on the recent topics

you should either post the topic in hercules board or send me a PM here

now that you say you wanna have the other battleground script

yeah, I actually made 2 of them

bg_pvp and bg_emp

I give you 3 solutions

1.

in this script, the maximum player can play is 9vs9 because of the max chatroom size in the source

https://github.com/rathena/rathena/blob/master/src/map/chat.h#L27

you can change [20] into [61] to allow 30vs30

2.

I made bg_emp,

but I haven't made bg_emp_random script that can host by a GM

think make one ?

3.

I make another bg_pvp_random just with using another map ? xD

  • Upvote 1
Posted

Thanks miss annie. I actually tried both and theyre great! I also used your random assigned battleground and made a patch that you made but after getting both teams inside the pub, they warp all to the npc and console says,

[edit] script:callfunc: function not found! [rand___]

Also, whyd you move to hercules? Like lebron james did to cleveland :< theres no rings at stake :D

Thanks

Posted

[rand__] function is inside my script release topic, under shuffle algorithm

http://rathena.org/board/topic/78269-annieruru-lame-script-collection/?hl=rand__

I move to hercules because they have better script engine and better source coders

rathena emulator took about 4~8 seconds to load the mapcache, hercules took only 1 second etc etc

... well this is not the place to discuss about this

so how you want the modification be ?

the one inside SVN doesn't has any features ...

if I put back all the custom stuffs (including source modifications), the script will be unreadable

you still haven't tell me you want 1, 2 or 3

  • Upvote 1
Posted (edited)

Ma'am annie, i followed everything and it is working great!!

 

http://rathena.org/b...&attach_id=5375   <---(battleground random)

 

 

Please i have a couple of requests,

 

1. Could you please edit this by making the match score adjustable from 10 to 50?

 

Like if the score was set to 50.

 

If the Red team reaches 50 kills, the game is over and Red team wins!

 

Thanks!

 

2. Please have the losing team get items too. say, 10 red potions  for the winning team and 2 red potions for the losing team!

 

Thank you very much!

Edited by Fresh prince
  • Upvote 1
Posted

Ma'am annie, i followed everything and it is working great!!

 

http://rathena.org/b...&attach_id=5375   <---(battleground random)

 

 

Please i have a couple of requests,

 

1. Could you please edit this by making the match score adjustable from 10 to 50?

 

Like if the score was set to 50.

 

If the Red team reaches 50 kills, the game is over and Red team wins!

 

Thanks!

 

2. Please have the losing team get items too. say, 10 red potions  for the winning team and 2 red potions for the losing team!

 

Thank you very much!

this is for rathena only?

Posted

i was going to prupose something but i think it will be more a different bg request D: 

 

however i would like also your request of that R/B team reaches X point the bg ends o:!

 

edit: sry i hardly understan the script, some new scripts for me @_@

Posted

the source modification for hercules seems different than rathena

this one is for hercules users, you don't need this

http://upaste.me/637f10590efeb783e

source modification

http://rathena.org/board/topic/72571-battleground-system-without-waitingroom/

shuffle function

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;
}
and the script

http://rathena.org/board/pastebin/36ijhtnn876m/

@chromus28

only compatible with rathena or hercules

eathena or 3ceam is not supported

@kido

propose in hercules script request section,

I'll definitely make it because writing battleground script is my hobby now

  • Upvote 1
Posted

oh, yommy wouldn't like it at all, she already explained me that is best to ask on the current emulator running because hE and rA are going to be incopatible soon D: or something like that i can't remember well, was halfsleep z_Z thank you Annie you always are so kind

 

i got the best answer o:! gonna write this on my secret diary  /ok 

Posted (edited)

With regards to the topic, yes kiddo!

Thanks

 

------------------------------------------------------------------------------------------

 

 

the source modification for hercules seems different than rathena
this one is for hercules users, you don't need this
http://upaste.me/637f10590efeb783e



source modification
http://rathena.org/board/topic/72571-battleground-system-without-waitingroom/

shuffle function

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;
}
and the script
http://rathena.org/board/pastebin/36ijhtnn876m/

@chromus28
only compatible with rathena or hercules
eathena or 3ceam is not supported

@kido
propose in hercules script request section,
I'll definitely make it because writing battleground script is my hobby now

 

 

Ma'am Annie, there's an error.

 

error_zps57622719.png

 

Everytime I kill a participant the pops out of the console.

 

~Also, If I configured it the match has to be from 0-10 points, Instead of the starting score to be 0, it starts with 10 and never gets updated upon killing an opponent.

 

Please help. Thanks!!!!!!!

Edited by Fresh prince
Posted

the source modification for hercules seems different than rathena

this one is for hercules users, you don't need this

http://upaste.me/637f10590efeb783e

source modification

http://rathena.org/board/topic/72571-battleground-system-without-waitingroom/

shuffle function

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;
}
and the script

http://rathena.org/board/pastebin/36ijhtnn876m/

@chromus28

only compatible with rathena or hercules

eathena or 3ceam is not supported

@kido

propose in hercules script request section,

I'll definitely make it because writing battleground script is my hobby now

 

ok T_T

Posted

Ma'am Annie, there's an error.

 

error_zps57622719.png

 

Everytime I kill a participant the pops out of the console.

when I test on Hercules it doesn't have this problem

its rathena can't do a case-sensitive label

http://rathena.org/board/tracker/issue-6988-monster-with-onkill-label/?gopid=17168#entry17168

perhaps your server already has OnReddead label somewhere, makes this label unable to run

 

~Also, If I configured it the match has to be from 0-10 points, Instead of the starting score to be 0, it starts with 10 and never gets updated upon killing an opponent.

because OnRedDead or OnBlueDead label isn't functioning, that's why the score gets stuck

try this one

[paste=3hgeb7z95yoo]

@Kido

doesn't matter to me lol, just make a topic then send me a PM

I'll make any battleground script no matter which forum you post on lol

  • Upvote 1
Posted

Dang thats right! Theres another redlabel that im testing and I forgot to turn it off!

Another question maam, what if a participant gets disconnected? How can they get back in the match?

Lastly, how can I make this fixed with 15 vs 15 without inputing 1-15? I already edit the chat.c

Thanks very much ma'am annie!!

Posted

Another question maam, what if a participant gets disconnected? How can they get back in the match?

if participants get disconnected, they are out from the match

however if you want this kind of modification, you need a section of an unused map act as a waiting room (like gon_test)

when they quit the map from guild_vs3, they will warp into gon_test

inside gon_test got another npc to join back into the match

however doing like this is extremely discourage

because I wrote a AFK script to exactly counter some afk players inside a battleground map to cheat for the prize

http://www.eathena.ws/board/index.php?showtopic=272411

if you want to make like this, I'm sure they will multi-client to claim multiple prizes

so what ... you want another script to prevent multi-client ? lol

you needs 3 scripts to run an event ? lol

 

Lastly, how can I make this fixed with 15 vs 15 without inputing 1-15? I already edit the chat.c

Thanks very much ma'am annie!!

change [20] into [31] inside chat.h, recompile

then change the script on Line 11

if ( input( .min2start, 1, 9 ) ) {
into

if ( input( .min2start, 1, 15 ) ) {

Edit, wait a minute, you mean you want a FIXED amount of 15vs15 and it start by itself on certain time of day ?

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...