转弯 发表于 2021-12-2 17:22:51

关于分割字符串(别笑..)

首先我必须要说,感谢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+右键的功能系统都让我感觉它无所不能

上面只是我作为一个新手看见的功能,还有很多我目前还接触不到,但我见过我小哥的版本只能用强悍来形容...........
关键还免费!!(不是前期免费后期收韭菜那种!!!)





转弯 发表于 2021-12-2 17:41:34

分割之前一定要把这段贴到脚本里

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

猫总 发表于 2021-12-2 19:18:21

6666{:3_59:}

dazunde 发表于 2022-9-1 09:46:57

66666666666666666666666666666

TTMir2.Net 发表于 2024-9-16 16:12:36

学习学习,刚入这个引擎,有没有编辑器啥的。
页: [1]
查看完整版本: 关于分割字符串(别笑..)