Page 1 of 2

How to identify a Monster NPC ?

Posted: 06 Nov 2011, 20:29
by sofax222
In map pay_dun03, there is a "Nine Tail" monster, actually it is a NPC but not a monster.
There are 3 Monster NPCs in map bra_fild01.

How to identify them, and How to avoid to attach them ?

Re: How to identify a Monster NPC ?

Posted: 06 Nov 2011, 21:48
by Daedalus
mon_control.txt

Ninetail 0

You don't attack it unless it attacks you which the NPCs don' do.

Re: How to identify a Monster NPC ?

Posted: 07 Nov 2011, 04:31
by madnoh
mon_control.txt:

nine tail 0

I was not sure but if the change to 0 later bot will not attack the monster

so let the bot was to it talking to the NPC

This is just my opinion

sorry for my english

Re: How to identify a Monster NPC ?

Posted: 07 Nov 2011, 05:23
by sofax222
madnoh wrote: nine tail 0
I know this solution !
It could be "nine tail 0 0 0".
But, this soltion make the role couldn't attach the true nine tail monsters activily.

Re: How to identify a Monster NPC ?

Posted: 07 Nov 2011, 22:49
by Daedalus
Ninetails are aggressive so they will attack you unless you use telesearch.

Re: How to identify a Monster NPC ?

Posted: 08 Nov 2011, 23:12
by sofax222
Daedalus wrote:Ninetails are aggressive so they will attack you unless you use telesearch.
I know that Ninetails are aggressive !
But, I want to get a algrithm to identify all Monster NPCs !

Re: How to identify a Monster NPC ?

Posted: 15 Nov 2011, 18:47
by kLabMouse
Hmm. does OpenKore build in Player/NPC/Mob recognizer does not recognize it as NPC?
I think it should. Or it should be improved, because all the today server have build in flag to show who is who.

Re: How to identify a Monster NPC ?

Posted: 15 Nov 2011, 19:38
by sofax222
kLabMouse wrote:Hmm. does OpenKore build in Player/NPC/Mob recognizer does not recognize it as NPC?
I think it should. Or it should be improved, because all the today server have build in flag to show who is who.
I already try this !
My method is : Add code lines before "Monster" recognizer.
To identify the Monsters NPCs with map and positions...
But, I think this is not a good method !

The code lines as:

Code: Select all

	} elsif ($args->{type} >= 1000) { # FIXME: in rare cases RO uses a monster sprite for NPC's (JT_ZHERLTHSH = 0x4b0 = 1200) ==> use object_type ?
		if (($field->baseName eq "bra_fild01") && 
			(($coordsFrom{x} == 245 && $coordsFrom{y} == 52) || 
			($coordsFrom{x} == 34 && $coordsFrom{y} == 184) || 
			($coordsFrom{x} == 75 && $coordsFrom{y} == 83))) {
			$actor = $npcsList->getByID($args->{ID});
			if (!defined $actor) {
				$actor = new Actor::NPC();
				$actor->{appear_time} = time;
				$mustAdd = 1;
			}
			$actor->{nameID} = $nameID;
		} elsif (($field->baseName eq "pay_dun03") && ($coordsFrom{x} == 48 && $coordsFrom{y} == 84)) {
			$actor = $npcsList->getByID($args->{ID});
			if (!defined $actor) {
				$actor = new Actor::NPC();
				$actor->{appear_time} = time;
				$mustAdd = 1;
			}
			$actor->{nameID} = $nameID;
		} else {

Re: How to identify a Monster NPC ?

Posted: 16 Nov 2011, 05:51
by kLabMouse
sofax222 wrote:
kLabMouse wrote:Hmm. does OpenKore build in Player/NPC/Mob recognizer does not recognize it as NPC?
I think it should. Or it should be improved, because all the today server have build in flag to show who is who.
I already try this !
My method is : Add code lines before "Monster" recognizer.
To identify the Monsters NPCs with map and positions...
But, I think this is not a good method !
That's not a solution. It's a hack!
There is a flag in packets, that indicate what type of Actor it is.

Re: How to identify a Monster NPC ?

Posted: 20 Nov 2011, 21:04
by sofax222
kLabMouse wrote:
sofax222 wrote:
kLabMouse wrote:Hmm. does OpenKore build in Player/NPC/Mob recognizer does not recognize it as NPC?
I think it should. Or it should be improved, because all the today server have build in flag to show who is who.
I already try this !
My method is : Add code lines before "Monster" recognizer.
To identify the Monsters NPCs with map and positions...
But, I think this is not a good method !
That's not a solution. It's a hack!
There is a flag in packets, that indicate what type of Actor it is.
Which flag in packets ? I did not get it !!