Yiyotop / ro-rail

Automatically exported from code.google.com/p/ro-rail
0 stars 0 forks source link

Help request for using stand-alone mercenary #33

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Sorry if this is not the place to do this but i don't see anywhere to ask for 
help.

I understand how the config works when using homunculus and when using 
mercenaries/homunculus as a team, but i don't understand, if i'm using a 
priest, how i can configure a mercenary since they can't see monsters ByType.

Thanks in advance.

Original issue reported on code.google.com by Kusanag...@gmail.com on 6 Sep 2010 at 11:54

GoogleCodeExporter commented 8 years ago
A mercenary for non-alchemist characters can be configured in two ways. The 
first is to configure default settings that are most intelligent for the map 
you are on. This is more difficult to do, especially when there are many 
different kinds of monsters.

For example, when going to kill Goats, I often set a mercenary to simply attack 
everything. When it runs into a plant or a harpy, I will move away or teleport 
so that it is only killing goats.

A more complicated way is to look at the configuration setting MobIDMode (at 
http://code.google.com/p/ro-rail/wiki/StateFileIndex#MobIDMode ). If you set 
that to "once" for a Mercenary, it will load the MobIDFile when it starts. This 
is more complicated because you will need to generate a MobIDFile with a 
homunculus first, or have a friend generate one for you.

To generate a Mob-ID file with the Homunculus, set MobIDMode to "overwrite" and 
move to the map you will be using the Mercenary on. Once there, change 
MobIDMode to "update" and teleport around the map until you think you've seen 
every individual monster there. (It may take minutes). Then after that, backup 
the MobID file. When you go onto your character with the mercenary, copy your 
backup to the location specified by the mercenary's MobIDFile setting. 
Afterward, the mercenary will be able to use ByType for most of the monsters it 
sees. Anything that is summoned with a dead-branch, or that was never seen by 
the homunculus, will use default settings.

I hope that helps. If anything is not clear, please don't hesitate to ask.

Original comment by faithful...@gmail.com on 9 Sep 2010 at 7:39

GoogleCodeExporter commented 8 years ago
Thanks for the explanation, my thoughts were correct then, however can you 
explain how mobID works for servers? that's what is not really clear to me, if 
i want to generate a MobIDFile with a homunculus how long do i have to stay in 
that map looking at monsters? do MobIDs work as a range (very raw ex. Goats go 
from 50000 to 500100)? Because i've used a homun/merc duo once and sometimes 
the IDs for the same monster are not the same.
Those are pretty much my doubts right now.

Original comment by Kusanag...@gmail.com on 9 Sep 2010 at 8:34

GoogleCodeExporter commented 8 years ago
Since I've never written a Ragnarok server or client, I can't talk much about 
how mob ID works for servers. That said, I assume it's similar to the AI 
scripts. Each mob ID is a number that is unique to the map (and potentially all 
maps that the server controls; I know that iRO has a few different servers 
maintaining various maps. This used to cause loss of buffs when changing 
servers, but keeping buffs when changing maps within the same server)

Set-spawn monsters, that appear on a map normally, have a specific ID that does 
not change even after it respawns. Summoned monsters (such as DBs and 
homunculi) that do not appear normally are assigned a new one-time-use ID until 
they die. Players use their account ID and this is static across all 
zone-servers in the same service (iRO Valkyrie is a "service" as a cluster of 
zone-servers).

There's no defined range on maps. It just depends on how the map was built by 
GRAVITY, or maybe how the map was initialized when the server started. The only 
way to definitively know which mobID is which type is to view it with a 
homunculus. There's no guarantee for any guesses at ranges, because they change 
when the server restarts and timed-spawns or monsters off screen may have 
different IDs and be placed in the middle of what appears to be a range of 
goats, for example.

The type of a single mobID will be different only if the monster changes it's 
type before the mercenary reloads the Mob_ID.lua file. (Without Mob_ID.lua, 
mercenaries have no way of distinguishing type.) But to prevent the script from 
reloading Mob_ID.lua at an insane pace, it only loads it whenever there is a 
monster with an unknown type on the screen. In the case that you have seen all 
monsters on a server, but they are changing types, the mercenary's information 
will be outdated and the logs will show different types for the same monster.

Does that clarify anything for you?

Original comment by faithful...@gmail.com on 22 Nov 2010 at 5:00

GoogleCodeExporter commented 8 years ago
Closing this discussion for now.

Original comment by faithful...@gmail.com on 4 Dec 2010 at 11:28