using @summon command. but this i'm creating for rathena.
not test yet for hercules.
View attachment 4879
Not yet, I guess you need to check BG guardians and make plugin something like thatBut 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
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.
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.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
//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;
}
We use essential cookies to make this site work, and optional cookies to enhance your experience.