diff options
Diffstat (limited to 'npc/functions/npcmove.txt')
-rw-r--r-- | npc/functions/npcmove.txt | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/npc/functions/npcmove.txt b/npc/functions/npcmove.txt deleted file mode 100644 index 612ab036..00000000 --- a/npc/functions/npcmove.txt +++ /dev/null @@ -1,142 +0,0 @@ -// Evol functions. -// Author: -// 4144 -// Description: -// Moving npc utility functions -// Variables: -// none - -function script initpath { - deletearray getvariableofnpc(.movepathcmd$, strnpcinfo(3)); - deletearray getvariableofnpc(.movepathy, strnpcinfo(3)); - deletearray getvariableofnpc(.movepathx, strnpcinfo(3)); - .@cnt = 0; - - for (.@f = 0; .@f < getargcount(); .@f = .@f + 3) - { - set getvariableofnpc(.movepathcmd$[.@cnt], strnpcinfo(3)), getarg(.@f); - set getvariableofnpc(.movepathx[.@cnt], strnpcinfo(3)), getarg(.@f + 1); - set getvariableofnpc(.movepathy[.@cnt], strnpcinfo(3)), getarg(.@f + 2); - .@cnt ++; - } - //debugmes "array size: " + str(getarraysize(getvariableofnpc(.movepath, strnpcinfo(3)))); - return; -} - -function script domoveaction { - //debugmes "domoveaction: " + str(getvariableofnpc(.movepos, strnpcinfo(3))); - .@pos = getvariableofnpc(.movepos, strnpcinfo(3)); - if (.@pos >= getarraysize(getvariableofnpc(.movepathx, strnpcinfo(3))) || .@pos < 0) - return; - //debugmes "walking"; - .@cmd$ = getvariableofnpc(.movepathcmd$[.@pos], strnpcinfo(3)); - //debugmes "cmd: " + .@cmd$; - - if (.@cmd$ == "move") - { - npcwalkto getvariableofnpc(.movepathx[.@pos], strnpcinfo(3)), getvariableofnpc(.movepathy[.@pos], strnpcinfo(3)); - } - else if (.@cmd$ == "dir") - { - setnpcdir getvariableofnpc(.movepathx[.@pos], strnpcinfo(3)); - return 2; - } - else if (.@cmd$ == "wait") - { - set getvariableofnpc(.waitticks, strnpcinfo(3)), getvariableofnpc(.movepathx[.@pos], strnpcinfo(3)); - } - else if (.@cmd$ == "emote") - { - unitemote getnpcid(), getvariableofnpc(.movepathx[.@pos], strnpcinfo(3)); - return 2; - } - else if (.@cmd$ == "class") - { - .class = getvariableofnpc(.movepathx[.@pos], strnpcinfo(3)); - return 2; - } - else if (.@cmd$ == "warp") - { - movenpc strnpcinfo(3), getvariableofnpc(.movepathx[.@pos], strnpcinfo(3)), getvariableofnpc(.movepathy[.@pos], strnpcinfo(3)); - } - else if (.@cmd$ == "goto") - { - set getvariableofnpc(.movepos, strnpcinfo(3)), getvariableofnpc(.movepathx[.@pos], strnpcinfo(3)); - return 0; - } - else if (.@cmd$ == "rmove") - { - getmapxy(.@mapName$, .@x, .@y, 1); - npcwalkto .@x + getvariableofnpc(.movepathx[.@pos], strnpcinfo(3)), .@y + getvariableofnpc(.movepathy[.@pos], strnpcinfo(3)); - } - else if (.@cmd$ == "speed") - { - .speed = getvariableofnpc(.movepathx[.@pos], strnpcinfo(3)); - return 2; - } - else if (.@cmd$ == "sit") - { - npcsit; - } - else if (.@cmd$ == "stand") - { - npcstand; - } - return 1; -} - -function script movetonextpos { - .@wait = getvariableofnpc(.waitticks, strnpcinfo(3)); - if (.@wait > 0) - { - .@wait --; - //debugmes "wait"; - set getvariableofnpc(.waitticks, strnpcinfo(3)), .@wait; - return; - } - .@true = 1; - while (.@true) - { - .@true = 0; - .@pos = getvariableofnpc(.movepos, strnpcinfo(3)); - //debugmes "movetonextpos: " + str(.@pos); - .@res = domoveaction(.@pos); - if (.@res == 1 || .@res == 2) - { - .@pos++; - if (.@pos >= getarraysize(getvariableofnpc(.movepathx, strnpcinfo(3)))) - .@pos = 0; - set getvariableofnpc(.movepos, strnpcinfo(3)), .@pos; - } - if (.@res == 0 || .@res == 2) - { - .@true = 1; - } - } - return; -} - -function script initialmove { - set getvariableofnpc(.movepos, strnpcinfo(3)), 0; - set getvariableofnpc(.waitticks, strnpcinfo(3)), -1; - movetonextpos; - return; -} - -function script getmovecmd { - .@pos = getvariableofnpc(.movepos, strnpcinfo(3)); - if (.@pos >= getarraysize(getvariableofnpc(.movepathx, strnpcinfo(3))) || .@pos < 0) - return ""; - return getvariableofnpc(.movepathcmd$[.@pos], strnpcinfo(3)); -} - -function script domovestep { - if (isunitwalking()) - { - initnpctimer; - end; - } - movetonextpos; - initnpctimer; - end; -} |