铁血丹心

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

[分享] 分享DIY诀窍,让你看完就能上手

[复制链接]
发表于 2020-7-24 14:58 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 woabclf 于 2020-7-24 15:20 编辑

要怎么提升DIY的功力?

有个主要诀窍,蓝烟清蓝大有教过,就是问电脑(游戏),只要学会问电脑就能知道正确答案。

UPedit的资料库调阅不一定能找到正确资料,UPedit常因Mod或版本问题导致资料库混乱。

我也认为直接问电脑最快也最方便,设置事件也最安全 (先后剧情顺序细节等等)

怎么提问?就是用说话函数或弹出框 say 或 DrawStrBox 或  QZXS。
我都用say,后面两个我常记不起来,格式也类似,say比后面两个复杂一点。
但也只是后面多了两个数值  say("str",pid,flag) pid是人物编号 flag用0是主角 1是他人
我觉得flag没什么差别就是了,差在显示框一个在上面,一个在下面。
我比较喜欢下面,都用1  格式 say("str", pid, 1) pid设0就是主角

懂得将字串连接对得知答案更好。

代码:调查主角的坐标

-------------

local str = "我的坐标X  "
local x = JY.Base["人X1"] --主角场景坐标x
local y = JY.Base["人Y1"] --主角场景坐标y
local str2 = "  我的坐标Y  "

str = str..x..str2..y  --重设str变量,将两个字串和答案连成一行,..是连接符号

say(str, 0, 1) --这样就完成了

------------

顺便讲一个让很多人对DIY打退堂鼓的最大原因。

就是不会看 Debug  (代码错误回报)

看Debug.txt刚好也是几位大大没有提到却非常重要的编程要素。

有两种代码错误,一种是语法错误,一种是逻辑错误。

语法错误很单纯,格式错了就会闪退。

几点:几分:几秒 ./script/jymain.lua:10712(行数) :attempt to compare nil with number
几点:几分:几秒 stack traceback:                       (用空值跟数字比较)
        ./script/jymain.lua:108: in function '__lt'
        ./script/jymain.lua:10712: in function 'say' (在say函数內)
        ./script/DIY.lua:3: in main chunk

看似是10712行的错误,但实际上并不一定是10712行的问题 (用空值跟数字比较)

10712行在 say函数里,判断flag数值的位置  say(str,pid,flag,name)  

我的实际错误是我的say缺了第三个位置。
say("str",pid)   "必需" say("str",pid,flag)

我的say就在 DIY.lua 的第三行,只要在flag补上0或1就行。

第二个例子

几点:几分:几秒 ./script/jymain.lua:10680: attempt to index field '?' (a nil value)
几点:几分:几秒 stack traceback:               (尝试索引字串) (空值)
        ./script/jymain.lua:108: in function '__index'
        ./script/jymain.lua:10680: in function 'say'  (在say函数內)
        ./script/DIY.lua:4: in main chunk

10680 一样在say函数里 (尝试索引字串) (空值)

代码 10680行

------

name = name or JY.Person[pid]["姓名"]

------

10680行看不出是哪里的问题

找DIY.lua第4行  say("str", pid, 1)   "也看不出问题,那就往前找,找DIY和jymain档"

先找DIY档   DIY第2行  local pid = -1

问题找到了,pid不能是负数,把pid转正数就能执行了 (或0) (主角)

这多少有一点概念了吧?

第二种错误,逻辑错误,也叫隐形错误,逐条执行代码会遇到连编程者都没发现的错误。

不会闪退,但你会发现跑出来的数字或战斗攻防非常奇怪,原因跟语法错误(表面错误)没有关系。

这要大师级的功力才能解,其实满多的Mod都有这些隐形错误,尤其是特效越多的Mod越容易遇到。

今天就讲到这里了,下次有空来讲事件函数的总整理。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2020-7-24 16:15 | 显示全部楼层
6666666666
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2020-7-27 17:11 | 显示全部楼层
自从二宫走了后,很少有楼主这样年轻有为的后起之秀了。期待楼主出新作品。同时保留DIY允许修改。期待
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2020-8-18 08:26 | 显示全部楼层
楼主加油,支持个
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2020-8-18 12:28 | 显示全部楼层
666666666666666666
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2021-10-11 17:10 | 显示全部楼层

自从二宫走了后,很少有楼主这样年轻有为的后起之秀了。期待楼主出新作品。同时保留DIY允许修改。期待
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2023-9-21 22:51 | 显示全部楼层
有收藏~~~~~~~
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

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

GMT+8, 2024-9-8 11:03

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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