Jump to content
  • 0
OverLord

PvP Monsters

Question

Have one way in Party vs Party i get friendly monster for each party and this monster attack only monster from other party and players from party?

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0
13 hours ago, OverLord said:

Have one way in Party vs Party i get friendly monster for each party and this monster attack only monster from other party and players from party?

using @summon command. but this i'm creating for rathena.

not test yet for hercules.

screenrAthena028.thumb.jpg.c549571064b848b64ec561fff10c2af2.jpg

Share this post


Link to post
Share on other sites
  • 0
4 hours ago, hendra814 said:

using @summon command. but this i'm creating for rathena.

not test yet for hercules.

screenrAthena028.thumb.jpg.c549571064b848b64ec561fff10c2af2.jpg

 

But i need make a script with a two parts have yours summon monster, have any way i make the script summon using party id or lead party id? @Dastgir

Edited by OverLord

Share this post


Link to post
Share on other sites
  • 0
14 hours ago, OverLord said:

 

But i need make a script with a two parts have yours summon monster, have any way i make the script summon using party id or lead party id? @Dastgir

Not yet, I guess you need to check BG guardians and make plugin something like that

Share this post


Link to post
Share on other sites
  • 0

edit : I thought @summon type mobs would work like how you say but if not heres another thing : 

 

i added a custom mob ai for having monsters that will be aggressive towards monsters and other players

battle.c

case BL_MOB:
        {
            const struct mob_data *md = BL_UCCAST(BL_MOB, s_bl);
            if( !((map->agit_flag || map->agit2_flag) && map->list[m].flag.gvg_castle)
                && md->guardian_data && (md->guardian_data->g || md->guardian_data->castle->guild_id) )
                return 0; // Disable guardians/emperium owned by Guilds on non-woe times.
            if (md->special_state.ai == AI_PAHSSVIE) {
                //Normal mobs
                const struct mob_data *target_md = BL_CCAST(BL_MOB, target);
                if ((target_md != NULL && t_bl->type == BL_PC && target_md->special_state.ai != AI_ZANZOU && target_md->special_state.ai != AI_ATTACK)
                 || (t_bl->type == BL_MOB && BL_UCCAST(BL_MOB, t_bl)->special_state.ai == AI_NONE))
                    state |= BCT_NEUTRAL; //Normal mobs with no ai are friends.
                else
                    state |= BCT_ENEMY; //However, all else are enemies.
            } else {
                if (t_bl->type == BL_MOB && BL_UCCAST(BL_MOB, t_bl)->special_state.ai == AI_NONE)
                    state |= BCT_ENEMY; //Natural enemy for AI mobs are normal mobs.
            }

AI_PAHSSIVE

Quote

if (md->special_state.ai == AI_PAHSSVIE) {
                //Normal mobs
                const struct mob_data *target_md = BL_CCAST(BL_MOB, target);
                if ((target_md != NULL && t_bl->type == BL_PC && target_md->special_state.ai != AI_ZANZOU && target_md->special_state.ai != AI_ATTACK)
                 || (t_bl->type == BL_MOB && BL_UCCAST(BL_MOB, t_bl)->special_state.ai == AI_NONE))
                    state |= BCT_NEUTRAL; //Normal mobs with no ai are friends.
                else
                    state |= BCT_ENEMY; //However, all else are enemies.

 

 

using this you can easily achieve what you want, cant help with you with cleaning up the code or whatever but if you look you will see. 

 

Im trying to make an AI that has monsters that are aggressive to monsters and are neutral to players that attack when attacked . . . probably just play around a lil more

Edited by lllaaazzz

Share this post


Link to post
Share on other sites
  • 0
On 03/08/2018 at 11:56 PM, lllaaazzz said:

edit : I thought @summon type mobs would work like how you say but if not heres another thing : 

 

i added a custom mob ai for having monsters that will be aggressive towards monsters and other players

battle.c


case BL_MOB:
        {
            const struct mob_data *md = BL_UCCAST(BL_MOB, s_bl);
            if( !((map->agit_flag || map->agit2_flag) && map->list[m].flag.gvg_castle)
                && md->guardian_data && (md->guardian_data->g || md->guardian_data->castle->guild_id) )
                return 0; // Disable guardians/emperium owned by Guilds on non-woe times.
            if (md->special_state.ai == AI_PAHSSVIE) {
                //Normal mobs
                const struct mob_data *target_md = BL_CCAST(BL_MOB, target);
                if ((target_md != NULL && t_bl->type == BL_PC && target_md->special_state.ai != AI_ZANZOU && target_md->special_state.ai != AI_ATTACK)
                 || (t_bl->type == BL_MOB && BL_UCCAST(BL_MOB, t_bl)->special_state.ai == AI_NONE))
                    state |= BCT_NEUTRAL; //Normal mobs with no ai are friends.
                else
                    state |= BCT_ENEMY; //However, all else are enemies.
            } else {
                if (t_bl->type == BL_MOB && BL_UCCAST(BL_MOB, t_bl)->special_state.ai == AI_NONE)
                    state |= BCT_ENEMY; //Natural enemy for AI mobs are normal mobs.
            }

AI_PAHSSIVE

 

 

using this you can easily achieve what you want, cant help with you with cleaning up the code or whatever but if you look you will see. 

 

Im trying to make an AI that has monsters that are aggressive to monsters and are neutral to players that attack when attacked . . . probably just play around a lil more

Very thx! I like this ideia, im trying make a dota2 map inside ragnarok online. I need monster ai to minions, dont attack other minions and players of same party. But attack other party minions and players.

Share this post


Link to post
Share on other sites
  • 0

Using what you said you can probably do it 

Its a bit troublesome to write for you but if you cant just let me know....

but i have an AI where they only target a certain type of mob AI who doesnt aggro back, but then theres the regular monsters just roaming about too...I heard people were having trouble getting the monsters to keep walking AFTER they fought each other at the towers in MOBA style RO mod...

Unless you gave all the minions their own ID (3 seperate soldiers 3 seperate archers) would have to get creative but i can see it xD 

 

Ive also made it so that i have the mining veins around the in game dungeons where once you get near it monsters start coming at you in waves, still working on it but its pretty neat.... 

//TEST
pay_dun02,203,104,0	script	mining	4_CRACK,3,3,{
	npctalk "Nearby monsters look pissed";
	donpcevent "Mining#paydun2::OnEnable";
	end;
}
pay_dun02,1,1,0	script	Mining#paydun2	FAKE_NPC,{
 
OnInit:
	disablenpc "Mining#paydun2";
	end;

OnEnable:
	mapannounce "pay_dun02","Monsters start howling",bc_map;
	enablenpc "Mining#paydun2";
	initnpctimer;
	end;

OnDisable:
	mapannounce "pay_dun02","The howling stops",bc_map;
	disablenpc "Mining#paydun2";
	end;

OnTimer1000:
	mapannounce "pay_dun02","you win!",bc_map;
		set .@gid1,monster ("pay_dun02",194,89,"Soldier Skeleton",1028,1);
		set .@gid2,monster ("pay_dun02",194,89,"Soldier Skeleton",1028,1);
		unitwalk .@gid1,193,103;
		unitwalk .@gid2,193,103;
		sleep2(2000);
		unitwalk .@gid1,204,109;
		unitwalk .@gid2,204,109;
	end;
OnTimer5000:
	mapannounce "pay_dun02","you win!",bc_map;
		set .@gid1,monster ("pay_dun02",194,89,"Soldier Skeleton",1028,1);
		unitwalk .@gid1,193,103;
		sleep2(2000);
		unitwalk .@gid1,204,109;
	end;
}

 

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

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.