Happy2018 Posted December 30, 2017 Group: Members Topic Count: 2 Topics Per Day: 0.00 Content Count: 5 Reputation: 1 Joined: 12/30/17 Last Seen: January 8, 2018 Share Posted December 30, 2017 (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 December 30, 2017 by Happy2018 1 Quote Link to comment Share on other sites More sharing options...
0 drifterxxxx2 Posted December 30, 2017 Group: Members Topic Count: 38 Topics Per Day: 0.01 Content Count: 83 Reputation: 3 Joined: 10/22/17 Last Seen: June 5, 2021 Share Posted December 30, 2017 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 Quote Link to comment Share on other sites More sharing options...
0 Happy2018 Posted December 31, 2017 Group: Members Topic Count: 2 Topics Per Day: 0.00 Content Count: 5 Reputation: 1 Joined: 12/30/17 Last Seen: January 8, 2018 Author Share Posted December 31, 2017 (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 January 5, 2018 by Happy2018 Quote Link to comment Share on other sites More sharing options...
0 AnnieRuru Posted January 10, 2019 Group: Members Topic Count: 18 Topics Per Day: 0.00 Content Count: 2044 Reputation: 682 Joined: 10/09/12 Last Seen: December 20, 2020 Share Posted January 10, 2019 (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 January 10, 2019 by AnnieRuru Quote Link to comment Share on other sites More sharing options...
0 n0tttt Posted January 10, 2019 Group: Members Topic Count: 4 Topics Per Day: 0.00 Content Count: 303 Reputation: 118 Joined: 12/10/16 Last Seen: April 5 Share Posted January 10, 2019 (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 January 10, 2019 by n0tttt 1 Quote Link to comment Share on other sites More sharing options...
0 AnnieRuru Posted January 10, 2019 Group: Members Topic Count: 18 Topics Per Day: 0.00 Content Count: 2044 Reputation: 682 Joined: 10/09/12 Last Seen: December 20, 2020 Share Posted January 10, 2019 (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 January 10, 2019 by AnnieRuru 1 Quote Link to comment Share on other sites More sharing options...
Question
Happy2018
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.
Link to comment
Share on other sites
5 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.