Jump to content
  • 0

Make this query check on 1000 pet intimacy


Helena

Question


  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  20
  • Reputation:   1
  • Joined:  08/10/13
  • Last Seen:  

Hello rAthena.

 

I have a problem with this script (originally by AnnieRuru). In this menu, it shows each pet in my possession. But what I want is to only make it show the pets with 1000 intimacy / loyalty.

 

Can someone please take a look at it and help me how to do that? Thank you very much.

 

edit* To clarify, I know getpetinfo would do the trick, but I need the script to check the intimacy as the pet is in its EGG and not outside of it, hence why getpetinfo does not work. :(

    getinventorylist;
    for ( .@i = 0; .@i < @inventorylist_count; .@i++ ) {
        if ( @inventorylist_card1[.@i] == -256 ) {
            query_sql "select class, level, equip, name from pet where pet_id = "+( .@id = @inventorylist_card2[.@i] + ( ( @inventorylist_card2[.@i] >= 0 )? 0 : 1 << 16 ) + @inventorylist_card3[.@i] * ( 1 << 16 ) ), .@class, .@level, .@equipped, .@name$;
            .@menu$ = .@menu$ +"^0000FF"+ .@name$ +" ^00CC00["+ getmonsterinfo( .@class, 0 ) +"] ^000000["+ .@level +"] ^FF0000"+( ( .@equipped )? "*equipped" : "" )+":";
            .@pet_id[.@c] = .@id;
            .@egg_id[.@c] = @inventorylist_id[.@i];
            .@pet_name$[.@c] = .@name$;
            .@pet_class[.@c] = .@class;
            .@pet_level[.@c] = .@level;
            .@pet_equipped[.@c] = .@equipped;
            .@c++;
Edited by Helena
Link to comment
Share on other sites

7 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

yes, it made by me

the part you posted is incomplete so I make a link to original topic

http://rathena.org/board/topic/76954-can-i-request-script-evolution-pet/

 

// Minimum intimacy necessary for a pet to support their master. Default is 900

// (intimacy goes from 0 to 1000). At this minimum, support rate is 50% of pet's normal value.

// At max (1000) support rate is 150%.

pet_support_min_friendly: 900

since the config says 900, so I use 900 instead of 1000

so ...

prontera,156,178,5	script	ldfhsdfkljs	100,{
	if ( getpetinfo(PET_CLASS) ) {
		mes "please return your pet into egg state to continue";
		close;
	}
	getinventorylist;
	for ( .@i = 0; .@i < @inventorylist_count; .@i++ ) {
		if ( @inventorylist_card1[.@i] == -256 ) {
			query_sql "select intimate, class, level, equip, name from pet where pet_id = "+( .@id = @inventorylist_card2[.@i] + ( ( @inventorylist_card2[.@i] >= 0 )? 0 : 1 << 16 ) + @inventorylist_card3[.@i] * ( 1 << 16 ) ), .@intimate, .@class, .@level, .@equipped, .@name$;
			if ( .@intimate > .pet_min_friendly ) {
				.@menu$ = .@menu$ +"^0000FF"+ .@name$ +" ^00CC00{"+ getmonsterinfo( .@class, 0 ) +"} ^000000["+ .@level +"] ^FF0000"+( ( .@equipped )? "*equipped" : "" )+":";
				.@pet_id[.@c] = .@id;
				.@egg_id[.@c] = @inventorylist_id[.@i];
				.@pet_name$[.@c] = .@name$;
				.@pet_class[.@c] = .@class;
				.@pet_level[.@c] = .@level;
				.@pet_equipped[.@c] = .@equipped;
				.@c++;
			}
		}
	}
	if ( !.@c ) {
		mes "your inventory doesn't have any pet egg that intimate enough";
		close;
	}
	mes "select which pet that you want it to evolve";
	next;
	.@s = select( .@menu$ ) -1;
	mes "selected : "+ .@pet_name$[.@s];
	mes "level : "+ .@pet_level[.@s];
	mes "equipped : "+( ( .@pet_equipped[.@s] )? "Yes" : "No" );
	if ( getd( ".petr"+ .@pet_class[.@s] ) ) {
		mes "require :-";
		.@size = getarraysize( getd( ".petr"+ .@pet_class[.@s] ) );
		for ( .@i = 0; .@i < .@size; .@i += 2 )
			mes getd( ".petr"+ .@pet_class[.@s] +"["+( .@i +1 )+"]" )+"x "+ getitemname( getd( ".petr"+ .@pet_class[.@s] +"["+ .@i +"]" ) );
	}
	next;
	if ( !getd( ".pet"+ .@pet_class[.@s] ) ) {
		mes "this pet cannot evolve any further";
		close;
	}
	if ( .@pet_level[.@s] < .min_level ) {
		mes "this pet doesn't meet the level requirement";
		close;
	}
	if ( .@pet_equipped[.@s] ) {
		mes "please unequip this pet accesory to continue";
		close;
	}
	if ( getd( ".petr"+ .@pet_class[.@s] ) ) {
		.@size = getarraysize( getd( ".petr"+ .@pet_class[.@s] ) );
		for ( .@i = 0; .@i < .@size; .@i += 2 ) {
			if ( countitem( getd( ".petr"+ .@pet_class[.@s] +"["+ .@i +"]" ) ) < getd( ".petr"+ .@pet_class[.@s] +"["+( .@i +1 )+"]" ) ) {
				mes "you need "+ getd( ".petr"+ .@pet_class[.@s] +"["+( .@i +1 )+"]" ) +"x "+ getitemname( getd( ".petr"+ .@pet_class[.@s] +"["+ .@i +"]" ) ) +" to evolve this pet";
				close;
			}
		}
		for ( .@i = 0; .@i < .@size; .@i += 2 )
			delitem getd( ".petr"+ .@pet_class[.@s] +"["+ .@i +"]" ), getd( ".petr"+ .@pet_class[.@s] +"["+( .@i +1 )+"]" );
	}
	delitem2 .@egg_id[.@s], 1, 1, 0, 0, -256, ( .@pet_id[.@s] % ( 1 << 16 ) - ( .@remainder15 = .@pet_id[.@s] % ( 1 << 15 ) ) < ( 1 << 15 ) )? .@remainder15 : ( .@remainder15 - ( 1 << 15 ) ), .@pet_id[.@s] >> 16, 0;
	makepet .@get_pet_id = getd( ".pet"+ .@pet_class[.@s] +"["+ rand( getarraysize( getd( ".pet"+ .@pet_class[.@s] ) ) ) +"]" );
	mes "your "+ .@pet_name$[.@c] +" has reborn into "+ getmonsterinfo( .@get_pet_id, 0 );
	mes "please rename your pet ~";
	close;
OnInit:
	.min_level = 80; // minimum level 80 to change pet egg
	.pet_min_friendly = getbattleflag("pet_support_min_friendly");
//	setarray getd( ".petr"+ <require pet egg> ), <require itemID 1>, <require item require 1>, <require itemID 2>, <require item require 2>, ...
	setarray getd( ".petr"+ 1002 ), 501,1, 502,2, 503,10;
	setarray getd( ".petr"+ 1011 ), 512,5, 513,8, 514,20;

//	setarray getd( ".pet"+ <require pet egg> ), <random pet egg 1>, <random pet egg 2> ....
	setarray getd( ".pet"+ 1002 ), 1113, 1031; // poring pet(1002) can evolve into drops(1113) or poporing(1031)
	setarray getd( ".pet"+ 1011 ), 1042; // chonchon(1011) can evolve into steel chonchon(1042)
	// add more as needed
	end;
}
Edited by AnnieRuru
  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  20
  • Reputation:   1
  • Joined:  08/10/13
  • Last Seen:  

Thanks annie! I have another request if I may. Also about pets. ^^;

 

I used a part of your script to make this happen, but it errors me at getinventorylist;

 

What i want is when "petattack" is whispered, that a menu pops up, player can pick a loyal pet and itll be summoned.

As you can see the script isn't finished at all and lacks codes... but I hope for your kindness to help me. :)

 

- script petattack -1,{
OnWhisperGlobal:
if (getgroupid() < 99) close;
mes "Which Pet do you want to summon?";
next;
}
getinventorylist;
for ( .@i = 0; .@i < @inventorylist_count; .@i++ ) {
if ( @inventorylist_card1[.@i] == -256 ) {
query_sql "select intimate, class, level, equip, name from pet where pet_id = "+( .@id = @inventorylist_card2[.@i] + ( ( @inventorylist_card2[.@i] >= 0 )? 0 : 1 << 16 ) + @inventorylist_card3[.@i] * ( 1 << 16 ) ), .@intimate, .@class, .@level, .@equipped, .@name$;
if ( .@intimate > .pet_min_friendly ) {
.@menu$ = .@menu$ +"^0000FF"+ .@name$ +"^000000" +":";
.@pet_id[.@c] = .@id;
.@egg_id[.@c] = @inventorylist_id[.@i];
.@pet_name$[.@c] = .@name$;
.@pet_class[.@c] = .@class;
.@pet_level[.@c] = .@level;
.@pet_equipped[.@c] = .@equipped;
.@c++;
}
}
}
if ( !.@c ) {
mes "No loyal pet with you.";
close;
}
mes "[Pet Battle]";
    mes "Select the pet that you want to summon:";
    .@s = select( .@menu$ ) -1;
next;
mes "[Pet Battle]";
    mes "Pet: "+ .@pet_name$[.@s];
    mes "Level : "+ .@pet_level[.@s];
mes " ";
menu "- Summon",-;
if ( getd( ".petr"+ .@pet_class[.@s] ) ) {
mes "require :-";
.@size = getarraysize( getd( ".petr"+ .@pet_class[.@s] ) );
for ( .@i = 0; .@i < .@size; .@i += 2 )
mes getd( ".petr"+ .@pet_class[.@s] +"["+( .@i +1 )+"]" )+"x "+ getitemname( getd( ".petr"+ .@pet_class[.@s] +"["+ .@i +"]" ) );
}
monster "gon_test", 62, 86, "Test pet1", 1647, 1,strnpcinfo(0)+"::Dead",0,1;
sleep2 100;
monster "gon_test", 52, 86, "Test pet2", 1785, 1,strnpcinfo(0)+"::Dead",0,0;
 
OnInit:
.pet_min_friendly = getbattleflag("pet_support_min_friendly");
    .min_level = 60; // minimum level 60 to do 1st evolutions
    end;
}
}
}
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

wait ... I thought there is no script command to summon a specific pet ?

we only have *bpet script command and @hatch atcommand to open a menu to select which pet you want to hatch

 

monster "gon_test", 62, 86, "Test pet1", 1647, 1,strnpcinfo(0)+"::Dead",0,1;
you do realize that using this script command will summon a hostile monster, not a slave monster you know ?

or you actually mean this script ?

http://www.eathena.ws/board/index.php?s=&showtopic=242792&view=findpost&p=1324032

there is no intimacy in this kind of slave monster though

however it might be possible if you set them around with lots of variables ...

curious, are you writing something like pokemon pet fighting system ?

now this sound interesting

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  20
  • Reputation:   1
  • Joined:  08/10/13
  • Last Seen:  

Yes I suppose you can compare it with a Pokemon battle system. :)

 

I do not intent to actually summon the pet you pick in the menu, but to summon the actual monster in mob_db it is attached to. The menu would just be to pick one of them.

Is it possible to do that, with (for example) arrays? Like create a link between a pet/egg and monsters in mob_db? (something like the evolution script you made for that other person). To be honest I don't really know what the limitations are but it'd be nice if it could work...

 

For your second comment; yes the monsters are hostile but (in this case) Test mob 1 and Test mob 2 do NOT target the player (extensively tested), the monsters target eachother (however if you're in range, you will receive damage from AoE skills).

 

Also here is the link i am trying to base the script of: http://rathena.org/board/topic/74316-event-mvp-vs-mvp/ - only difference is a menu with options.. xD

 

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

 

*edit* the menu works, Now i just need to know how I can let the monster spawn determine on the ID i picked.

Does someone know what I put here?:

 

monster "gon_test", 62, 86,.@pet_name[.@s]+", .@pet_id[.@s]+", 1,strnpcinfo(0)+"::Dead",0,1;

 

Help is much appreciated!!

Edited by Helena
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

the word "impossible" doesn't exist in my dictionary
however for this kind of monster vs monster fighting system, I suggest using mob controller system

mob_controller_20140102.patch
 

-	script	kfkjsbdf	-1,{
	getmobdata .ai_action[AI_ACTION_SRC], .@mob;
	attachrid .@mob[4];
	@summon = 0;
	end;
OnInit:
	bindatcmd "pokemon", strnpcinfo(0)+"::Onaaa", 99,99;
	end;
Onaaa:
	if ( @summon ) {
		message strcharinfo(0), "You already summon a pet";
		end;
	}	
	if ( getpetinfo(PET_CLASS) ) {
		message strcharinfo(0), "please return your pet into egg state to continue";
		end;
	}
	getinventorylist;
	for ( .@i = 0; .@i < @inventorylist_count; .@i++ ) {
		if ( @inventorylist_card1[.@i] == -256 ) {
			query_sql "select intimate, class, level, name from pet where pet_id = "+( .@id = @inventorylist_card2[.@i] + ( ( @inventorylist_card2[.@i] >= 0 )? 0 : 1 << 16 ) + @inventorylist_card3[.@i] * ( 1 << 16 ) ), .@intimate, .@class, .@level, .@name$;
			if ( .@intimate > .pet_min_friendly ) {
				.@menu$ = .@menu$ +"^0000FF"+ .@name$ +" ^00CC00{"+ getmonsterinfo( .@class, 0 ) +"} ^000000["+ .@level +"]:";
				.@pet_name$[.@c] = .@name$;
				.@pet_class[.@c] = .@class;
				.@pet_level[.@c] = .@level;
				.@c++;
			}
		}
	}
	if ( !.@c ) {
		mes "your inventory doesn't have any pet egg that intimate enough";
		close;
	}
	mes "select which pet that you want it to summon";
	next;
	.@s = select( .@menu$ ) -1;
	getmapxy .@map$, .@x, .@y, 0;
	.@id = mobspawn( .@name$[.@s], .@pet_class[.@s], .@map$, .@x, .@y );
	mobattach .@id, strnpcinfo(0);
	mobassist .@id, getcharid(3);
	setmobdata .@id, 25, AI_ACTION_TYPE_DEAD;
	setmobdata .@id, 9, MD_CANMOVE | MD_AGGRESSIVE | MD_CANATTACK | MD_DETECTOR ;
	@summon = 1;
	end;
}
// When a mob is attacked by another monster, will the mob retaliate against the master of said mob instead of the mob itself?
// NOTE: Summoned mobs are both those acquired via @summon and summoned by Alchemists
retaliate_to_master: yes
change to no

 

 

the most basic monster that follows you around
I prefer mob controller because you can adjust the stats of the monster to your liking
like this one
http://www.eathena.ws/board/index.php?s=&showtopic=187045&view=findpost&p=1058796


hmm ... wanna me write the 1vs1 pet fighting system ?
just post a reply and it shall be done

because mob controller system got a learning curve ...
dunno how many times have I say this but,
I think I might be only member now who knows how to write a mob controller script

Edited by AnnieRuru
  • Love 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  187
  • Reputation:   7
  • Joined:  09/04/12
  • Last Seen:  

the word "impossible" doesn't exist in my dictionary

however for this kind of monster vs monster fighting system, I suggest using mob controller system

attachicon.gifmob_controller_20140102.patch

 

-	script	kfkjsbdf	-1,{
	getmobdata .ai_action[AI_ACTION_SRC], .@mob;
	attachrid .@mob[4];
	@summon = 0;
	end;
OnInit:
	bindatcmd "pokemon", strnpcinfo(0)+"::Onaaa", 99,99;
	end;
Onaaa:
	if ( @summon ) {
		message strcharinfo(0), "You already summon a pet";
		end;
	}	
	if ( getpetinfo(PET_CLASS) ) {
		message strcharinfo(0), "please return your pet into egg state to continue";
		end;
	}
	getinventorylist;
	for ( .@i = 0; .@i < @inventorylist_count; .@i++ ) {
		if ( @inventorylist_card1[.@i] == -256 ) {
			query_sql "select intimate, class, level, name from pet where pet_id = "+( .@id = @inventorylist_card2[.@i] + ( ( @inventorylist_card2[.@i] >= 0 )? 0 : 1 << 16 ) + @inventorylist_card3[.@i] * ( 1 << 16 ) ), .@intimate, .@class, .@level, .@name$;
			if ( .@intimate > .pet_min_friendly ) {
				.@menu$ = .@menu$ +"^0000FF"+ .@name$ +" ^00CC00{"+ getmonsterinfo( .@class, 0 ) +"} ^000000["+ .@level +"]:";
				.@pet_name$[.@c] = .@name$;
				.@pet_class[.@c] = .@class;
				.@pet_level[.@c] = .@level;
				.@c++;
			}
		}
	}
	if ( !.@c ) {
		mes "your inventory doesn't have any pet egg that intimate enough";
		close;
	}
	mes "select which pet that you want it to summon";
	next;
	.@s = select( .@menu$ ) -1;
	getmapxy .@map$, .@x, .@y, 0;
	.@id = mobspawn( .@name$[.@s], .@pet_class[.@s], .@map$, .@x, .@y );
	mobattach .@id, strnpcinfo(0);
	mobassist .@id, getcharid(3);
	setmobdata .@id, 25, AI_ACTION_TYPE_DEAD;
	setmobdata .@id, 9, MD_CANMOVE | MD_AGGRESSIVE | MD_CANATTACK | MD_DETECTOR ;
	@summon = 1;
	end;
}
// When a mob is attacked by another monster, will the mob retaliate against the master of said mob instead of the mob itself?

// NOTE: Summoned mobs are both those acquired via @summon and summoned by Alchemists

retaliate_to_master: yes

change to no

 

 

the most basic monster that follows you around

I prefer mob controller because you can adjust the stats of the monster to your liking

like this one

http://www.eathena.ws/board/index.php?s=&showtopic=187045&view=findpost&p=1058796

hmm ... wanna me write the 1vs1 pet fighting system ?

just post a reply and it shall be done

because mob controller system got a learning curve ...

dunno how many times have I say this but,

I think I might be only member now who knows how to write a mob controller script

 

Yup.

The Mob Controller System is very useful.

I dont know why eathena and rathena removed it.
 
 1vs1 pet fighting system.
it will be So exciting ... /kis 
Edited by Darkpurple
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  15
  • Topics Per Day:  0.00
  • Content Count:  99
  • Reputation:   10
  • Joined:  01/13/12
  • Last Seen:  

the word "impossible" doesn't exist in my dictionary

however for this kind of monster vs monster fighting system, I suggest using mob controller system

attachicon.gifmob_controller_20140102.patch

 

-	script	kfkjsbdf	-1,{
	getmobdata .ai_action[AI_ACTION_SRC], .@mob;
	attachrid .@mob[4];
	@summon = 0;
	end;
OnInit:
	bindatcmd "pokemon", strnpcinfo(0)+"::Onaaa", 99,99;
	end;
Onaaa:
	if ( @summon ) {
		message strcharinfo(0), "You already summon a pet";
		end;
	}	
	if ( getpetinfo(PET_CLASS) ) {
		message strcharinfo(0), "please return your pet into egg state to continue";
		end;
	}
	getinventorylist;
	for ( .@i = 0; .@i < @inventorylist_count; .@i++ ) {
		if ( @inventorylist_card1[.@i] == -256 ) {
			query_sql "select intimate, class, level, name from pet where pet_id = "+( .@id = @inventorylist_card2[.@i] + ( ( @inventorylist_card2[.@i] >= 0 )? 0 : 1 << 16 ) + @inventorylist_card3[.@i] * ( 1 << 16 ) ), .@intimate, .@class, .@level, .@name$;
			if ( .@intimate > .pet_min_friendly ) {
				.@menu$ = .@menu$ +"^0000FF"+ .@name$ +" ^00CC00{"+ getmonsterinfo( .@class, 0 ) +"} ^000000["+ .@level +"]:";
				.@pet_name$[.@c] = .@name$;
				.@pet_class[.@c] = .@class;
				.@pet_level[.@c] = .@level;
				.@c++;
			}
		}
	}
	if ( !.@c ) {
		mes "your inventory doesn't have any pet egg that intimate enough";
		close;
	}
	mes "select which pet that you want it to summon";
	next;
	.@s = select( .@menu$ ) -1;
	getmapxy .@map$, .@x, .@y, 0;
	.@id = mobspawn( .@name$[.@s], .@pet_class[.@s], .@map$, .@x, .@y );
	mobattach .@id, strnpcinfo(0);
	mobassist .@id, getcharid(3);
	setmobdata .@id, 25, AI_ACTION_TYPE_DEAD;
	setmobdata .@id, 9, MD_CANMOVE | MD_AGGRESSIVE | MD_CANATTACK | MD_DETECTOR ;
	@summon = 1;
	end;
}
// When a mob is attacked by another monster, will the mob retaliate against the master of said mob instead of the mob itself?

// NOTE: Summoned mobs are both those acquired via @summon and summoned by Alchemists

retaliate_to_master: yes

change to no

 

 

the most basic monster that follows you around

I prefer mob controller because you can adjust the stats of the monster to your liking

like this one

http://www.eathena.ws/board/index.php?s=&showtopic=187045&view=findpost&p=1058796

hmm ... wanna me write the 1vs1 pet fighting system ?

just post a reply and it shall be done

because mob controller system got a learning curve ...

dunno how many times have I say this but,

I think I might be only member now who knows how to write a mob controller script

 

the word "impossible" doesn't exist in my dictionary

however for this kind of monster vs monster fighting system, I suggest using mob controller system

attachicon.gifmob_controller_20140102.patch

 

-	script	kfkjsbdf	-1,{
	getmobdata .ai_action[AI_ACTION_SRC], .@mob;
	attachrid .@mob[4];
	@summon = 0;
	end;
OnInit:
	bindatcmd "pokemon", strnpcinfo(0)+"::Onaaa", 99,99;
	end;
Onaaa:
	if ( @summon ) {
		message strcharinfo(0), "You already summon a pet";
		end;
	}	
	if ( getpetinfo(PET_CLASS) ) {
		message strcharinfo(0), "please return your pet into egg state to continue";
		end;
	}
	getinventorylist;
	for ( .@i = 0; .@i < @inventorylist_count; .@i++ ) {
		if ( @inventorylist_card1[.@i] == -256 ) {
			query_sql "select intimate, class, level, name from pet where pet_id = "+( .@id = @inventorylist_card2[.@i] + ( ( @inventorylist_card2[.@i] >= 0 )? 0 : 1 << 16 ) + @inventorylist_card3[.@i] * ( 1 << 16 ) ), .@intimate, .@class, .@level, .@name$;
			if ( .@intimate > .pet_min_friendly ) {
				.@menu$ = .@menu$ +"^0000FF"+ .@name$ +" ^00CC00{"+ getmonsterinfo( .@class, 0 ) +"} ^000000["+ .@level +"]:";
				.@pet_name$[.@c] = .@name$;
				.@pet_class[.@c] = .@class;
				.@pet_level[.@c] = .@level;
				.@c++;
			}
		}
	}
	if ( !.@c ) {
		mes "your inventory doesn't have any pet egg that intimate enough";
		close;
	}
	mes "select which pet that you want it to summon";
	next;
	.@s = select( .@menu$ ) -1;
	getmapxy .@map$, .@x, .@y, 0;
	.@id = mobspawn( .@name$[.@s], .@pet_class[.@s], .@map$, .@x, .@y );
	mobattach .@id, strnpcinfo(0);
	mobassist .@id, getcharid(3);
	setmobdata .@id, 25, AI_ACTION_TYPE_DEAD;
	setmobdata .@id, 9, MD_CANMOVE | MD_AGGRESSIVE | MD_CANATTACK | MD_DETECTOR ;
	@summon = 1;
	end;
}
// When a mob is attacked by another monster, will the mob retaliate against the master of said mob instead of the mob itself?

// NOTE: Summoned mobs are both those acquired via @summon and summoned by Alchemists

retaliate_to_master: yes

change to no

 

 

the most basic monster that follows you around

I prefer mob controller because you can adjust the stats of the monster to your liking

like this one

http://www.eathena.ws/board/index.php?s=&showtopic=187045&view=findpost&p=1058796

hmm ... wanna me write the 1vs1 pet fighting system ?

just post a reply and it shall be done

because mob controller system got a learning curve ...

dunno how many times have I say this but,

I think I might be only member now who knows how to write a mob controller script

 

good mob control

thanks

Link to comment
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.   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.

×
×
  • Create New...