关于分割字符串(别笑..)
首先我必须要说,感谢VV老板和管理组对我的帮助,这种帮助简直让我一个新手有种起飞的体验哈哈,废话不多说,先来讲问题我在写检测UI框的名称,怎么写都不过,我也总结了一下自己的逻辑,觉得貌似没问题?
if not string.find(Player:CustomItem(0).Name,"+")then --检测这个ui框里的名字没有包含了“+”这个符号 然后执行
这里我到现在理解的也不到位,猫总最后给我改成了这样 if not string.find(Player:CustomItem(0).Name,"+")then~= nil then
说是缺少判断语句,但我已经判断了是不是ui框内包含了什么? 为什么还要写个不等于空?(我新手还没吃透。。)
我后面的脚本想做一个字符串分割,说直白点就是分割一个txt的内容然后进行变量
对高手来说可能很容易,但我卡了很久甚至想过放弃,y老板和猫总的支持让我又有了前进的动力
下面这些代码是猫总写的实例:
local OneLineText = gamelib.EnvirPath --EnvirPath: String 这里说明了是个字符串类型?把文件夹路径赋值给了OneLineText
Player:SendMessage(OneLineText) --这应该只是做一下输出想看一下结果吧?
local qhfile = io.open(gamelib.EnvirPath.."强化数据.txt","r") -- 这个我还没明白为什么这样搞(io.open)?,有大佬可以解释一下就最好了
for oneline in qhfile:lines() do --这里的for循环我也不是很懂,跟我看那些新手教程有一些出入。。
--开始分割
local SplitTable=Split(oneline,",")--这个我到最后才明白,是用“,”分割了,怪我太笨了!这是根据“,”号拆成三个
比如Mir200\Envir文件下新建一个txt,强化数据.txt 内容比如你写什么武器,你需求的数值,像金额、职业都用“,”隔开。
井中月,30000,0,1
魔杖,10000,1,2
乌木剑,5000,2,3
上面我随便写了个txt内容的例子(新手看的东西,高手略过哈)
--这里对比UI框里的名字,是不是包含了你放入物品名字的这个字符串
if string.find(Player:CustomItem(0).Name,SplitTable) ~= nil then
Player:SendMessage("当前放入的武器是"..SplitTable..",金额为"..SplitTable..",等级为"..SplitTable)
---------------------------------------
说下使用心得吧,很难用但也很好用
说VV很难用是因为各种东西的使用都跟以前接触的不一样
说它好用是真的强大,UI可以随意剪切,按钮可以设置自定义形式,外置聊天,悬浮框,Ctrl+右键的功能系统都让我感觉它无所不能
上面只是我作为一个新手看见的功能,还有很多我目前还接触不到,但我见过我小哥的版本只能用强悍来形容...........
关键还免费!!(不是前期免费后期收韭菜那种!!!)
分割之前一定要把这段贴到脚本里
function Split(szFullString, szSeparator)
local nFindStartIndex = 1
local nSplitIndex = 1
local nSplitArray = {}
while true do
local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex)
if not nFindLastIndex then
nSplitArray = string.sub(szFullString, nFindStartIndex, string.len(szFullString))
break
end
nSplitArray = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1)
nFindStartIndex = nFindLastIndex + string.len(szSeparator)
nSplitIndex = nSplitIndex + 1
end
return nSplitArray
end 6666{:3_59:} 66666666666666666666666666666 学习学习,刚入这个引擎,有没有编辑器啥的。
页:
[1]