Jump to content
  • 1

Battleground multiplayer whith @evilclone


Question

Posted (edited)

Hi, I would like to play battleground and Woe in rathena/offline/local host, renewal 3RD jobs with my brother and whith evilclones.

For example : we both joined in battleground, each in a different team  with 10 or more evil clones each team.

if any kind soul can give a light,  we would be grateful. Thanks.

 

 

 

 

Edited by Happy2018
  • Love 1

5 answers to this question

Recommended Posts

  • 0
Posted

Hi

I'm not an expert but I found this very helpful for local server

If you follow the steps carefully you'll your local rAthena working :) 

Also, to create an evil clone you simply need to search for the command in /doc/atcommands.txt

@evilclone player/ID

WoE and Battleground scripts,etc come along with rAthena 

  • 0
Posted (edited)
On 30/12/2017 at 8:16 PM, Rolf said:

Hi

I'm not an expert but I found this very helpful for local server

If you follow the steps carefully you'll your local rAthena working :) 

Also, to create an evil clone you simply need to search for the command in /doc/atcommands.txt


@evilclone player/ID

WoE and Battleground scripts,etc come along with rAthena 

Thanks for answering.  I already have this Client installed and working fine.  

When I invoke @evilclone he only attacks and does not use skills.

I wanted to play Battleground and Woe like as a Counter Strike mod offline/bots. When they die they come back automatically and healed, as if it were a player.

Edited by Happy2018
  • 0
Posted (edited)

now THIS is a good idea for a battleground script

bg_pvp_point_clone.txt <-- sketch only

the 1st thing I notice is the battleground monsters follows you around if its your team, and it seems like official feature
and the clones, well can always use mob_avail.txt to get a mob_ID to display their character cloth properly
I just using lighthalzen monster out of laziness

EDIT: forgot to add nomobloot mapflag

@Happy2018

EDIT2: maybe I should make another one with setunitdata script command and see how well rathena mob controller system can handle

Edited by AnnieRuru
  • 0
Posted (edited)

Nice script. Wouldn't you mind a little bit of editing? I don't even know if this will work or not, but I added a few setunitdatas

// https://rathena.org/board/topic/114033-battleground-multiplayer-whith-evilclone/

function	script	F_ShuffleNumbers	{
	deletearray getarg(2);
	.@static = getarg(0);
	.@range = getarg(1) +1 - .@static;
	.@count = getarg(3, .@range);
	if (.@range <= 0 || .@count <= 0)
		return 0;
	if (.@count > .@range)
		.@count = .@range;
	for (.@i = 0; .@i < .@range; ++.@i)
		.@temparray[.@i] = .@i;
	for (.@i = 0; .@i < .@count; ++.@i) {
		.@rand = rand(.@range);
		set getelementofarray( getarg(2), .@i ), .@temparray[.@rand] + .@static;
		.@temparray[.@rand] = .@temparray[--.@range];
	}
	return .@count;
}

prontera,155,185,5	script	bg_pvp_clone	1_F_MARIA,{
	.minplayer2start = 1; // 1vs1
	mes "bg_pvp_clone";
	if ( .start == true ) {
		mes "bg_pvp_clone is on-going";
		close;
	}
	while ( .aid[.@i] != getcharid(3) && .@i < .size ) ++.@i;
	if ( .@i < .size ) {
		mes "You already join the queue.";
		close;
	}
	select "join";
	mes "you have to stick to this map";
	close2;
	.aid[ .size++ ] = getcharid(3);
	for ( .@i = 0; .@i < .size; ++.@i ) {
		if ( !isloggedin( .aid[.@i] ) ) {
			deletearray .aid[.@i], 1;
			--.@i;
			--.size;
		}
		else {
			attachrid .aid[.@i];
			if ( strcharinfo(3) != strnpcinfo(4) ) {
				deletearray .aid[.@i], 1;
				--.@i;
				--.size;
			}
		}
	}
	detachrid;
	if ( .size < .minplayer2start *2 ) {
		announce .size +" players join", bc_npc | bc_area;
		end;
	}
	.start = true;
	.red = bg_create( "bat_c01",53,128, strnpcinfo(0)+"::OnRedQuit", strnpcinfo(0)+"::OnRedDead" );
	.blue = bg_create( "bat_c01",146,56, strnpcinfo(0)+"::OnBlueQuit", strnpcinfo(0)+"::OnBlueDead" );
	callfunc "F_ShuffleNumbers", 0, .size -1, .@r;
	for ( .@i = 0; .@i < .size; ++.@i ) {
		attachrid .aid[ .@r[.@i] ];
		bg_join ( .@i % 2 )? .red : .blue;
	}
	detachrid;
	deletearray .aid;
	.size = 0;
	bg_warp .red, "bat_c03", 53,128;
	bg_warp .blue, "bat_c03", 146,56;
	for ( .@i = 0; .@i < 20; ++.@i ) {
		if (.@i % 10 == 0)
			.@size = bg_get_data( ((.@i < 10) ? .red : .blue), 1 );
		.@player = $@arenamembers[rand(.@size)];
		.@mob = bg_monster( ((.@i < 10) ? .red : .blue), "bat_c03", 0,0, "--ja--", rand(1799,1804), strnpcinfo(0)+"::On"+((.@i < 10) ? "Red" : "Blue")+"CloneKill" );
		setunitdata .@mob,UMOB_SEX,readparam( Sex, .@player);
		setunitdata .@mob,UMOB_CLASS,readparam( Class, .@player);
		setunitdata .@mob,UMOB_HAIRSTYLE,getlook( LOOK_HAIR, .@player);
		setunitdata .@mob,UMOB_HAIRCOLOR,getlook( LOOK_HAIR_COLOR, .@player);
		setunitdata .@mob,UMOB_HEADBOTTOM,getlook( LOOK_HEAD_BOTTOM, .@player);
		setunitdata .@mob,UMOB_HEADMIDDLE,getlook( LOOK_HEAD_MID, .@player);
		setunitdata .@mob,UMOB_HEADTOP,getlook( LOOK_HEAD_TOP, .@player);
		setunitdata .@mob,UMOB_CLOTHCOLOR,getlook( LOOK_CLOTHES_COLOR, .@player);
		setunitdata .@mob,UMOB_SHIELD,getlook( LOOK_SHIELD, .@player);
		setunitdata .@mob,UMOB_WEAPON,getlook( LOOK_WEAPON, .@player);
	}
	sleep 10000; // Match Duration
	if ( .winside == .red || .redscore > .bluescore ) {
		mapannounce "bat_c03", "- Red side Won the match !", bc_map;
		callsub L_reward, .red;
	}
	else if ( .winside == .blue || .bluescore > .redscore ) {
		mapannounce "bat_c03", "- Blue side Won the match !", bc_map;
		callsub L_reward, .blue;
	}
	else
		mapannounce "bat_c03", "Battle end as a draw", bc_map;
	bg_destroy .red;
	bg_destroy .blue;
	mapwarp "bat_c03", "prontera",150,185;
	.redscore = .bluescore = .start = false;
	bg_updatescore "bat_c03", 0, 0;
	end;
L_reward:
	bg_get_data getarg(0), 1;
	for ( .@i = 0; .@i < $@arenamemberscount; ++.@i )
		getitem 501,1, $@arenamembers[.@i];
	return;
OnRedCloneKill: callsub L_CloneKill, .red, .blue, .bluescore, rand(1799,1804), "::OnRedCloneKill";
OnBlueCloneKill: callsub L_CloneKill, .blue, .red, .redscore, rand(1659,1663), "::OnBlueCloneKill";
L_CloneKill:
	.@mob = bg_monster( getarg(0), "bat_c03", 0,0, "--ja--", getarg(3), strnpcinfo(0) + getarg(4) );
	.@size = bg_get_data( getarg(0), 1 );
	.@player = $@arenamembers[rand(.@size)];
	setunitdata .@mob,UMOB_SEX,readparam( Sex, .@player);
	setunitdata .@mob,UMOB_CLASS,readparam( Class, .@player);
	setunitdata .@mob,UMOB_HAIRSTYLE,getlook( LOOK_HAIR, .@player);
	setunitdata .@mob,UMOB_HAIRCOLOR,getlook( LOOK_HAIR_COLOR, .@player);
	setunitdata .@mob,UMOB_HEADBOTTOM,getlook( LOOK_HEAD_BOTTOM, .@player);
	setunitdata .@mob,UMOB_HEADMIDDLE,getlook( LOOK_HEAD_MID, .@player);
	setunitdata .@mob,UMOB_HEADTOP,getlook( LOOK_HEAD_TOP, .@player);
	setunitdata .@mob,UMOB_CLOTHCOLOR,getlook( LOOK_CLOTHES_COLOR, .@player);
	setunitdata .@mob,UMOB_SHIELD,getlook( LOOK_SHIELD, .@player);
	setunitdata .@mob,UMOB_WEAPON,getlook( LOOK_WEAPON, .@player);
	set getarg(2), getarg(2) +1; // killing clones add 1 point
	if ( .redscore < 100 && .bluescore < 100 )
		bg_updatescore "bat_c03", .redscore, .bluescore;
	if ( getarg(2) == 100 ) {
		.winside = getarg(1);
		awake strnpcinfo(0);
	}
	end;
OnRedQuit: callsub L_Quit, .red, .blue, "Red";
OnBlueQuit: callsub L_Quit, .blue, .red, "Blue";
L_Quit:
	if ( bg_get_data( getarg(0), 0 ) ) end;
	mapannounce "bat_c03", "All "+ getarg(2) +" team members has Quit!", bc_map;
	.winside = getarg(1);
	awake strnpcinfo(0);
	end;
OnRedDead: callsub L_Dead, .red, .blue, .bluescore;
OnBlueDead: callsub L_Dead, .blue, .red, .redscore;
L_Dead:
	set getarg(2), getarg(2) +3; // killing players add 3 points
	if ( .redscore < 100 && .bluescore < 100 )
		bg_updatescore "bat_c03", .redscore, .bluescore;
	if ( getarg(2) == 100 ) {
		.winside = getarg(1);
		awake strnpcinfo(0);
	}
	sleep2 1250;
	percentheal 100,100;
	end;
}

bat_c03	mapflag	battleground	2
bat_c03	mapflag	nosave	SavePoint
bat_c03	mapflag	nowarp
bat_c03	mapflag	nowarpto
bat_c03	mapflag	noteleport
bat_c03	mapflag	nomemo
bat_c03	mapflag	nopenalty
bat_c03	mapflag	nobranch
bat_c03	mapflag	noicewall

EDIT: Ups, I didn't see that edit.

Edited by n0tttt
  • Love 1
  • 0
Posted (edited)

WAHAHAHA scrap my previous script edi ~
been so long having someone comment on my scripts ~ hahaha no more feeling lonely

bg_pvp_point_clone_0.3r.txt <-- PS: no 0.2 version because scrap due to @n0tttt gives better template ?

not sure about cloth color, arch bishop dye 0 gives blue color, dye 2 red color
wanderer dye 0 red color, dye 2 blue color ... didn't follow a pattern
maybe another callsub

nah, wait someone gives feedback then only continue this

 

Edited by AnnieRuru
  • Love 1

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