diff options
-rw-r--r-- | doc/script_commands.txt | 5 | ||||
-rw-r--r-- | src/map/script.c | 21 |
2 files changed, 25 insertions, 1 deletions
diff --git a/doc/script_commands.txt b/doc/script_commands.txt index 6e6c9127f..6ce6b186f 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -2766,7 +2766,10 @@ Type is the type of object to search for: 0 - Character object 1 - NPC object 2 - Pet object - 3 - Monster object. + 3 - Monster object + 4 - Homunculus object + 5 - Mercenary object + 6 - Elemental object While 3 is meant to look for a monster object, no searching will be done if you specify type 3, and the function will always return -1. diff --git a/src/map/script.c b/src/map/script.c index 8c3ce0e1f..f83264315 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -48,6 +48,7 @@ #include "mail.h" #include "script.h" #include "quest.h" +#include "elemental.h" #include <stdio.h> #include <stdlib.h> @@ -12370,6 +12371,8 @@ BUILDIN_FUNC(getsavepoint) * 2 - Pet coord * 3 - Mob coord (not released) * 4 - Homun coord + * 5 - Mercenary coord + * 6 - Elemental coord * CharName$ - Name object. If miss or "this" the current object * * Return: @@ -12447,6 +12450,24 @@ BUILDIN_FUNC(getmapxy) if (sd && sd->hd) bl = &sd->hd->bl; break; + case 5: //Get Mercenary Position + if(script_hasdata(st,6)) + sd=map_nick2sd(script_getstr(st,6)); + else + sd=script_rid2sd(st); + + if (sd && sd->md) + bl = &sd->md->bl; + break; + case 6: //Get Elemental Position + if(script_hasdata(st,6)) + sd=map_nick2sd(script_getstr(st,6)); + else + sd=script_rid2sd(st); + + if (sd && sd->ed) + bl = &sd->ed->bl; + break; default: ShowWarning("script: buildin_getmapxy: Invalid type %d\n", type); script_pushint(st,-1); |