多善于使用print查找问题 - 神奇石器时代技术研究交流
神奇石器技术研究交流网 - 业务联系QQ:420004208

多善于使用print查找问题

  • 内容
  • 相关

我们无论是在叫代码还是在写LUA的时候往往遇到不少问题,比如不执行,或者数值不对。这个时候我们要善于多用print这个函数来找出问题所在。

举例:

function Talked(meindex, talkerindex , szMes, color)
	if npc.isFaceToFace(meindex, talkerindex) == 1 then
		token = "3\n                 「"..char.getChar(meindex, "名字").."」"
		       .."\n这是一个例子"
			   .."\n这是一个例子"
			   .."\n这是一个例子"
			   .."\n                 [ 按钮点击1 ]"
			   .."\n                 [ 按钮点击2 ]"
		lssproto.windows(talkerindex, "选择框", "确定", 1, char.getWorkInt(meindex, "对象"), token)
	end
end

function WindowTalked ( meindex, talkerindex, seqno, select, data)
	if seqno == 1 then
		num = other.atoi(data)
		if num == 1 then
			char.TalkToCli(talkerindex, -1, "执行成功1。", "黄色")
		elseif num == 2 then
			char.TalkToCli(talkerindex, -1, "执行成功2。", "黄色")
		end
    end
end

通过代码放到游戏中测试,可以知道按钮点击1没反应,但按钮点击2却出来的是执行成功1,这里我们需要在num == 1num == 2里加print(11111)print(22222)

重新读取LUA再测试会发现按钮点击1输出的是22222按钮点击2则是无任何输出,由此我们可以断定是错位了,将token = "3\n中的3改成4,再进行测试,这下就对了。

我们在调试LUA或者代码的时候要多用用print,当遇到语句不执行的时候,要看看到底是因为判断语句没执行还是语句本身是错误导致的不执行下面的语句。

版权声明:若无特殊注明,本文皆为《sa60》原创,转载请保留文章出处。

本文链接:多善于使用print查找问题 - http://sa60.com/post-142.html

本文标签:

多善于使用print查找问题