diff options
author | mekolat <mekolat@users.noreply.github.com> | 2015-09-01 15:01:01 -0400 |
---|---|---|
committer | mekolat <mekolat@users.noreply.github.com> | 2016-04-15 11:46:35 -0400 |
commit | f3dd34b5172f2bcb4f79d472e4c8ba2dbfe9cce0 (patch) | |
tree | 68e4507bc2aa8e66d4770876a45276b617028f6b /src/map/script-fun.cpp | |
parent | cf6f557700db4f88050674468a70a38f93441e98 (diff) | |
download | tmwa-f3dd34b5172f2bcb4f79d472e4c8ba2dbfe9cce0.tar.gz tmwa-f3dd34b5172f2bcb4f79d472e4c8ba2dbfe9cce0.tar.bz2 tmwa-f3dd34b5172f2bcb4f79d472e4c8ba2dbfe9cce0.tar.xz tmwa-f3dd34b5172f2bcb4f79d472e4c8ba2dbfe9cce0.zip |
convert unhandled types for scope vars
Diffstat (limited to 'src/map/script-fun.cpp')
-rw-r--r-- | src/map/script-fun.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/map/script-fun.cpp b/src/map/script-fun.cpp index 75df30f..7e55565 100644 --- a/src/map/script-fun.cpp +++ b/src/map/script-fun.cpp @@ -1059,7 +1059,7 @@ void builtin_set(ScriptState *st) { if (name_[1] == '@') { - set_scope_reg(st, reg, AARG(1)); + set_scope_reg(st, reg, &AARG(1)); return; } bl = map_id2bl(st->oid)->is_npc(); @@ -1106,13 +1106,13 @@ void builtin_setarray(ScriptState *st) } if (prefix == '.' && name[1] != '@') bl = map_id2bl(st->oid)->is_npc(); - else if (prefix != '$') + else if (prefix != '$' && !(prefix == '.' && name[1] == '@')) bl = map_id2bl(st->rid)->is_player(); for (int j = 0, i = 1; i < st->end - st->start - 2 && j < 256; i++, j++) { if (prefix == '.' && name[1] == '@') - set_scope_reg(st, reg.iplus(j), AARG(i)); + set_scope_reg(st, reg.iplus(j), &AARG(i)); else if (postfix == '$') set_reg(bl, VariableCode::VARIABLE, reg.iplus(j), conv_str(st, &AARG(i))); else @@ -1141,13 +1141,13 @@ void builtin_cleararray(ScriptState *st) } if (prefix == '.' && name[1] != '@') bl = map_id2bl(st->oid)->is_npc(); - else if (prefix != '$') + else if (prefix != '$' && !(prefix == '.' && name[1] == '@')) bl = map_id2bl(st->rid)->is_player(); for (int i = 0; i < sz; i++) { if (prefix == '.' && name[1] == '@') - set_scope_reg(st, reg.iplus(i), AARG(i)); + set_scope_reg(st, reg.iplus(i), &AARG(i)); else if (postfix == '$') set_reg(bl, VariableCode::VARIABLE, reg.iplus(i), conv_str(st, &AARG(1))); else |