【多端lua脚本】自定义装备属性问题
本帖最后由 迷糊 于 2024-2-5 01:18 编辑多端那边问lua问题都是让在lua板块问,无奈只能试试了:L。
如下图2个命令,一个是设置自定义属性,一个是绑定自定义属性,第二张的绑定自定义属性放到函数里可以正常使用,就是耗时有点高,这几句代码耗时50微妙左右,如果设置个6-7条不得2000微妙以上。
第一张设置自定义属性是不是也是直接可以设置属性呢?具体咋用呢,我放函数里执行的时候提示:3: in function <:1>错误,难道是我放的不对?我如果写到入包触发的话需要绑定装备么?
脚本如下(不知道怎么用),装备入包给属性,也就是捡取鉴定,txt写的话写入属性的时候耗时太高了,用官方给的lua绑定属性脚本(上边图2),耗时跟TXT差不多,就在想设置脚本那种Json格式写法耗时会不会少点,但是不知道咋用,也不知需不需要关联装备。:L
txt脚本
--------------------------
[@AddBag]
#if
是可以给属性的装(此处检测省略)
#ACT
CallLua script @testaaa
========================分割线=========================
lua脚本
-------------------------------------------------
function testaaa(player)
local tbl = {
["abil"] = {
{
["i"] = 0,
["t"] = "品质",
["c"] = 251,
["v"] = {
{0,3,1,0,1,0,1},
{0,4,1,0,1,0,2},
{0,5,1,0,9,2,3},
{0,6,1,0,9,2,4},
{0,6,1,0,9,2,4},
{0,7,1,0,10,3,5},
{0,8,1,0,10,3,6},
{0,25,0,1,2,4,7},
},
},
},
["name"] = itemName .. "[锻造 + 1]",
}
setitemcustomabil(actor,itemobj,tbl2json(tbl))
refreshitem(actor,itemobj)
end
耗时测试过发现绑定装备时是耗时最高的,给与属性的脚本并没有太多耗时。可以试试用LuaFunc-0,LuaFuncList来封装lua脚本,跟CALLLUA接口相比,不知道耗时上是否会降低 本帖最后由 迷糊 于 2024-2-5 18:25 编辑
大玩家123 发表于 2024-2-5 13:42
耗时测试过发现绑定装备时是耗时最高的,给与属性的脚本并没有太多耗时。可以试试用LuaFunc-0,LuaFuncList ...
现在TXT绑定装备1-2微妙,估计优化过了,但是写属性一条就200多微妙
大佬,下边这个命令是可以直接写属性的吗?需要绑定吗?
设置-setitemcustomabilsetitemcustomabil
参数类型空默认注释
playobject否玩家对象
itemobject否物品对象
valuestring是0Json字符串,自定义属性内容
迷糊 发表于 2024-2-5 18:02
现在TXT绑定装备1-2微妙,估计优化过了,但是写属性一条就200多微妙
这个只是给与自定义属性,前面还是要在入包触发的时候绑定的。但绑定的命令来说lua和txt耗时都挺高的。之前测试过单写入自定义属性来说lua会比txt耗时上低一些。 本帖最后由 迷糊 于 2024-2-6 01:28 编辑
大玩家123 发表于 2024-2-5 19:40
这个只是给与自定义属性,前面还是要在入包触发的时候绑定的。但绑定的命令来说lua和txt耗时都挺高的。之 ...
怎么测试都不对,感觉我用的不对,lua部分执行报错 , [脚本错误2]:test007,,调用函数(@ceshi007)时出错: .\Envir\Market_Def\test007.lua:20: attempt to concatenate global 'itemName' (a nil value)stack traceback: :3: in function <:1> .\Envir\Market_Def\test007.lua:20: in function <.\Envir\Market_Def\test007.lua:1>
txt部分脚本
----------------------
[@AddBag]
#act
LINKPICKUPITEM
CallLua test007 @ceshi007
break
========================================
lua部分脚本
-------------------------
function ceshi007 (player)
local tbl = {
["abil"] = {
{
["i"] = 0,
["t"] = "[星级测试]\\<IMG:3>\\星级:3",
["c"] = 251,
["v"] = {
{0,3,1,0,1,0,1},
{0,4,1,0,1,0,2},
{0,5,1,0,9,2,3},
{0,6,1,0,9,2,4},
{0,6,1,0,9,2,4},
{0,7,1,0,10,3,5},
{0,8,1,0,10,3,6},
{0,25,0,1,2,4,7},
},
},
},
["name"] = itemName .. "[锻造 + 1]",
}
setitemcustomabil(actor,itemobj,tbl2json(tbl))
refreshitem(actor,itemobj)
end
本帖最后由 大玩家123 于 2024-2-17 19:46 编辑
QFunction内容:
[@PickUpItemEX]
#IF
#ACT
testcustom <$CURRTEMMAKEINDEX> <$CURRTEMNAME>
LuaFunc-0.lua内容:
function testcustom(actor,itemOnlyID,itemName)
local itemobj = getitembymakeindex(actor,itemOnlyID)
local tbl = {
["abil"] = {
{
["i"] = 0,
["t"] = "[测试]",
["c"] = 94,
["v"] = {
{254,4,15,0,54,0,0},
{254,4,15,0,54,1,1},
{254,4,15,0,54,2,2},
{254,4,15,0,54,3,3},
{254,4,15,0,54,4,4},
{254,4,15,0,54,5,5},
{254,4,15,0,54,6,6},
{254,4,15,0,54,7,7},
},
},
},
["name"] = itemName .. "[锻造 + 1]",
}
setitemcustomabil(actor,itemobj,tbl2json(tbl))
refreshitem(actor,itemobj)
end
LuaFuncList.txt内容:
testcustom
自定义的属性条目越多,耗时差距会越大 大玩家123 发表于 2024-2-17 16:59
QFunction内容:
[@PickUpItemEX]
#IF
谢谢大佬,我试试 大玩家123 发表于 2024-2-5 19:40
这个只是给与自定义属性,前面还是要在入包触发的时候绑定的。但绑定的命令来说lua和txt耗时都挺高的。之 ...
大佬技术牛逼,官方啥时候能把3端lua部分多弄点例文或者教程就好了,不然对于摸索lua太难了
页:
[1]