北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 3885|回复: 3

请教一段 mush代码的错误信息

[复制链接]
发表于 2014-8-6 22:24:28 | 显示全部楼层 |阅读模式
Run-time error
Plugin: XyjNewBattle (called from world: mep)
Function/Sub: on_battle_buff called by trigger
Reason: processing trigger ""
[string "Plugin"]:549: attempt to index field '?' (a nil value)
stack traceback:
        [string "Plugin"]:549: in function <[string "Plugin"]:545>
Error context in script:
545 : function on_battle_buff(name, line, wildcards)
546 : battle_buff_step = battle_buff_step + 1
547 : if battle_buff_step == 0 then return end
548 : if not battle_target_use_hair then
549*: temp_battle_buff_pk_list[#temp_battle_buff_pk_list+1] = battle_check_pk_list[battle_buff_step][2]
550 : end
551 : battle_target_use_hair = false
552 : if name == "buffend" then
553 : EnableTriggerGroup("battle_buff",false)


请问这一段是什么意思么?
是指数组的某一个变量未被赋值就被引用了么?
那是不是因为调用这个函数之前,对数组赋值的时候出了问题?

最关键的,请问,应该怎么写才能避免此类情况发生呢,
最好麻烦您能写出来,因为我不是写代码的,想代码特别吃力,谢谢

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2014-8-7 01:26:57 | 显示全部楼层
是指数组的某一个变量未被赋值就被引用了么?
——可以这么理解

battle_check_pk_list[battle_buff_step][2]
这个二维数组的定义有问题,系统无法根据你提供的下标去查找对应元素。

在这一行(549行)之前加一句require "tprint"; tprint(battle_check_pk_list)检查一下看看你的这个二维数据具体是个什么情况。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2014-8-7 07:55:25 | 显示全部楼层
回复 2# cappuccino

卡哥 你真棒 各种解决!
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2014-8-7 08:04:25 | 显示全部楼层
回复  cappuccino

卡哥 你真棒 各种解决!
mep 发表于 2014-8-7 07:55 AM



    是卡姐!!!!!
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-28 10:22 AM , Processed in 0.012746 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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