diff options
Diffstat (limited to 'npc/functions/main.txt')
-rw-r--r-- | npc/functions/main.txt | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/npc/functions/main.txt b/npc/functions/main.txt index 4a6f89d80..f491c24fe 100644 --- a/npc/functions/main.txt +++ b/npc/functions/main.txt @@ -279,6 +279,26 @@ function script getmap { return .@mapName$; } +// isin( map, x1, y1, {[x2, y2][radius]} ) +function script isin { + if (getmapxy(.@mapName$, .@xpos, .@ypos, 0) != 0) + return false; + if (.@mapName$ != getarg(0)) + return false; + + if (getarg(4,-1) < 0) { + // Radius Based + if (.@xpos >= getarg(1)-getarg(3) && .@xpos <= getarg(1)+getarg(3) && .@ypos >= getarg(2)-getarg(3) && .@ypos <= getarg(2)+getarg(3)) + return true; + } else { + // Coordinate based + if (.@xpos >= getarg(1) && .@xpos <= getarg(3) && .@ypos >= getarg(2) && .@ypos <= getarg(4)) + return true; + } + return false; +} + +// isinrad( map, x1, y1, radius) function script isin { if (getmapxy(.@mapName$, .@xpos, .@ypos, 0) != 0) return false; |