铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 1308|回复: 2

移动函数问题求教

[复制链接]
发表于 2013-8-27 17:40 | 显示全部楼层 |阅读模式

马上注册,结交更多侠友!

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
不好意思~~在下又来麻烦各位板友了

最近在试做移动特效的时候
调用了 WAR_MovePerson 函数来移动人物
可是却在战斗时跳出
DEBUG文件显示

17:00:07 .\script\LDCR.lua:8747: attempt to perform arithmetic on field '人方向' (a nil value)
17:00:07 stack traceback:
        .\script\LDCR.lua:37308: in function <.\script\LDCR.lua:37306>
        .\script\LDCR.lua:8747: in function 'WarCalPersonPic'
        .\script\LDCR.lua:43529: in function 'War_MovePerson'
        .\script\LDCR.lua:23542: in function 'WarMain'
        readkdef.hsk:911: in function 'ReadKDEF'
        readkdef.hsk:2: in function 'oldCallEvent'
        .\script\LDCR.lua:38869: in function 'oldEventExecute'
        .\script\LDCR.lua:28692: in function 'EventExecute'
        .\script\LDCR.lua:29162: in function 'Game_SMap'
        .\script\LDCR.lua:28957: in function 'Game_Cycle'
        .\script\LDCR.lua:35902: in function <.\script\LDCR.lua:35817>
        [C]: in function 'xpcall'
        .\script\LDCR.lua:35815: in function <.\script\LDCR.lua:35813>

好像是在 WarCalPersonPic 里

--计算战斗人物贴图
function WarCalPersonPic(id)
  local n = 5106
  n = n + JY.Person[WAR.Person[id]["人物编号"]]["头像代号"] * 8 + WAR.Person[id]["人方向"] * 2
  return n
end

人方向的部份值为 nil 造成的
可是我并没有动到关于此函数的部分
只有直接呼叫 WAR_MovePerson 函数

              if War_CanMoveXY(jump[locate][1], jump[locate][2], 0) == true then
                War_MovePerson(jump[locate][1], jump[locate][2])
                DIYdisplay("Jump!!") --试做显示用
                break;
              else
                movefail = movefail + 1
                locrnm[locate] = 1
              end

像这样做而已,请问是什么地方没有设定到吗 ?
因为我看 movemenu 里

    local r = nil
    local x, y = War_SelectMove()
    if x ~= nil then
      War_MovePerson(x, y, 1)
      r = 1
    else
      r = 0
      WAR.ShowHead = 1
      Cls()
    End

也是直接呼叫并没有另外设定数值 ?

因此想请教各位程序大大,是我有什么地方忽略了吗 ?
还请不吝指教~~感激不尽
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2013-8-27 18:03 | 显示全部楼层
我目测WAR.Person[id] 这个id 超过了默认人物的数据初始值, 造成"人方向"取到了空

你看看这个id值是多少

点评

謝謝藍大的幫忙~~我再試看看~~  发表于 2013-8-28 02:51
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-11-15 11:48

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表