diff options
author | Kpy! <ouroboros.ai@gmail.com> | 2015-04-21 13:48:25 +0200 |
---|---|---|
committer | Kpy! <ouroboros.ai@gmail.com> | 2015-04-21 21:24:47 +0200 |
commit | 79aa56c704ff4117511cd33be3efd0321683d89a (patch) | |
tree | e8f26bd445a9985e47486281f203b0eeb67bb23b /npc/dev | |
parent | 0a65f85dd2576fc1555abced812bd58bf1251019 (diff) | |
download | hercules-79aa56c704ff4117511cd33be3efd0321683d89a.tar.gz hercules-79aa56c704ff4117511cd33be3efd0321683d89a.tar.bz2 hercules-79aa56c704ff4117511cd33be3efd0321683d89a.tar.xz hercules-79aa56c704ff4117511cd33be3efd0321683d89a.zip |
Fix script function return always removing references from NPC variables.
Bugreport:8642 http://hercules.ws/board/tracker/issue-8642-script-engine-issue-quo/
Diffstat (limited to 'npc/dev')
-rw-r--r-- | npc/dev/test.txt | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/npc/dev/test.txt b/npc/dev/test.txt index 7b498e922..8e94d6ee7 100644 --- a/npc/dev/test.txt +++ b/npc/dev/test.txt @@ -86,6 +86,15 @@ function script F_TestNPCArrays { return getarraysize(.y); } +function script F_TestVarOfAnotherNPC { + return getvariableofnpc(.x, getarg(0)); +} + +- script TestVarOfAnotherNPC -1,{ + // Used to test getvariableofnpc() + end; +} + function script HerculesSelfTestHelper { if (.once > 0) return .errors; @@ -618,6 +627,9 @@ function script HerculesSelfTestHelper { callsub(OnCheck, "Callsub (parent array vars isolation)", getarraysize(.@x), .@z); deletearray .@x; deletearray .@y; + .x = 2; + set getvariableofnpc(.x, "TestVarOfAnotherNPC"), 1; + callsub(OnCheck, "Callsub (return NPC variables from another NPC)", callsub(OnTestVarOfAnotherNPC, "TestVarOfAnotherNPC"), 1); // Callfunc callsub(OnCheck, "Callfunc return value", callfunc("F_TestReturnValue", 1)); @@ -663,6 +675,9 @@ function script HerculesSelfTestHelper { callsub(OnCheck, "Callfunc (parent array NPC vars isolation)", getarraysize(.@x), .@z); deletearray .x; deletearray .y; + .x = 2; + set getvariableofnpc(.x, "TestVarOfAnotherNPC"), 1; + callsub(OnCheck, "Callfunc (return NPC variables from another NPC)", callfunc("F_TestVarOfAnotherNPC", "TestVarOfAnotherNPC"), 1); if (.errors) { debugmes "Script engine self-test [ \033[0;31mFAILED\033[0m ]"; @@ -704,6 +719,9 @@ OnTestScopeArrays: setarray .@x, 1, 2, 3, 4; copyarray .@y, getarg(0), getarraysize(getarg(0)); return getarraysize(.@y); + +OnTestVarOfAnotherNPC: + return getvariableofnpc(.x, getarg(0)); OnReportError: .@msg$ = getarg(0,"Unknown Error"); |