跳到主要内容

道具

获取道具唯一id get_uuid

  • args:
名字类型说明、描述
itemuserdata道具对象
---
  • ret: string 道具唯一id

  • 示例:

function isc_test_item:get_uuid()

edi.bag:add_items(module.player, "bag_system_item", {{item_id = 1001, item_num = 1, bind = false}},"")

local item = edi.bag:get_by_slot(module.player, "bag_system_item", 0)
if item == nil then
return
end
local result = edi.item:get_uuid(item)
LOGI("isc_test_item get_uuid: " .. tostring(result))
end

获取道具配置id get_id

  • args:
名字类型说明、描述
itemuserdata道具对象
---
  • ret: number 道具配置id

  • 示例:

function isc_test_item:get_id()

local item = edi.bag:get_by_slot(module.player, "bag_system_item", 0)
if item == nil then
return
end
local result = edi.item:get_id(item)
LOGI("isc_test_item get_id: " .. tostring(result))
end

获取道具配置信息 get_meta

  • args:
名字类型说明、描述
itemuserdata道具对象
---
  • ret: items_cfg 道具配置信息

  • 示例:

function isc_test_item:get_meta()

local item = edi.bag:get_by_slot(module.player, "bag_system_item", 0)
if item == nil then
return
end
local result = edi.item:get_meta(item)
LOGI("isc_test_item get_meta: " .. tostring(result))
end

获取道具绑定状态 get_bind

  • args:
名字类型说明、描述
itemuserdata道具对象
---
  • ret: boolean 道具绑定状态

  • 示例:

function isc_test_item:get_bind()

local item = edi.bag:get_by_slot(module.player, "bag_system_item", 0)
if item == nil then
return
end
local result = edi.item:get_bind(item)
LOGI("isc_test_item get_bind: " .. tostring(result))
end

设置道具绑定状态 set_bind

  • args:
名字类型说明、描述
itemuserdata道具对象
bindboolean是否绑定
---
  • ret: 无

  • 示例:

function isc_test_item:set_bind()

local item = edi.bag:get_by_slot(module.player, "bag_system_item", 0)
if item == nil then
return
end
edi.item:set_bind(item, true)
LOGI("isc_test_item set_bind: ")
end

获取道具来源 get_source

  • args:
名字类型说明、描述
itemuserdata道具对象
---
  • ret: string 道具来源信息

  • 示例:

function isc_test_item:get_source()

local item = edi.bag:get_by_slot(module.player, "bag_system_item", 0)
if item == nil then
return
end
local result = edi.item:get_source(item)
LOGI("isc_test_item get_source: " .. tostring(result))
end

设置道具来源 set_source

  • args:
名字类型说明、描述
itemuserdata道具对象
sourcestring道具来源信息
---
  • ret: 无

  • 示例:

function isc_test_item:set_source()

local item = edi.bag:get_by_slot(module.player, "bag_system_item", 0)
if item == nil then
return
end
edi.item:set_source(item, "isc_test_item")
LOGI("isc_test_item set_source: ")
end

获取道具内观 get_inlook

  • args:
名字类型说明、描述
itemuserdata道具对象
---
  • ret: number 道具内观

  • 示例:

function isc_test_item:get_inlook()

local item = edi.bag:get_by_slot(module.player, "bag_system_item", 0)
if item == nil then
return
end
local result = edi.item:get_inlook(item)
LOGI("isc_test_item get_inlook: " .. tostring(result))
end

设置道具内观 set_inlook

  • args:
名字类型说明、描述
itemuserdata道具对象
inlooknumber道具内观
---
  • ret: 无

  • 示例:

function isc_test_item:set_inlook()

local item = edi.bag:get_by_slot(module.player, "bag_system_item", 0)
if item == nil then
return
end
edi.item:set_inlook(item, 1)
LOGI("isc_test_item set_inlook: ")
end

获取道具外观 get_outlook

  • args:
名字类型说明、描述
itemuserdata道具对象
---
  • ret: number 道具外观

  • 示例:

function isc_test_item:get_outlook()

local item = edi.bag:get_by_slot(module.player, "bag_system_item", 0)
if item == nil then
return
end
local result = edi.item:get_outlook(item)
LOGI("isc_test_item get_outlook: " .. tostring(result))
end

设置道具外观 set_outlook

  • args:
名字类型说明、描述
itemuserdata道具对象
outlooknumber道具外观
---
  • ret: 无

  • 示例:

function isc_test_item:set_outlook()

local item = edi.bag:get_by_slot(module.player, "bag_system_item", 0)
if item == nil then
return
end
edi.item:set_outlook(item, 1)
LOGI("isc_test_item set_outlook: ")
end

获取道具过期时间 get_expire_timestamp

  • args:
名字类型说明、描述
itemuserdata道具对象
---
  • ret: number 过期时间戳(秒级),0表示不会过期

  • 示例:

function isc_test_item:get_expire_timestamp()
local items = edi.bag:get_all(module.player, "bag_system_item")
for _, item in pairs(items) do
LOGI("isc_test_item get_expire_timestamp: " .. edi.item:get_expire_timestamp(item) .. " : " .. edi.item:get_id(item))
end
end

添加指定属性id的属性值 add_attr

  • args:
名字类型说明、描述
itemuserdata道具对象
modeATTR_MODE_TYPE属性模块
attr_idnumber属性id
attr_valnumber属性值
---
  • ret: 无

  • 示例:

function isc_test_item:add_attr()

local item = edi.bag:get_by_slot(module.player, "bag_system_item", 0)
if item == nil then
return
end
edi.item:add_attr(item, 1, 1, 1)
LOGI("isc_test_item add_attr: ")
end

获取指定属性id的属性值 get_attr

  • args:
名字类型说明、描述
itemuserdata道具对象
modeATTR_MODE_TYPE属性模块
attr_idnumber属性id
---
  • ret: number 属性值

  • 示例:

function isc_test_item:get_attr()

local item = edi.bag:get_by_slot(module.player, "bag_system_item", 0)
if item == nil then
return
end
local result = edi.item:get_attr(item, 1, 1)
LOGI("isc_test_item get_attr: " .. tostring(result))
end

删除指定属性id的属性值 del_attr

  • args:
名字类型说明、描述
itemuserdata道具对象
modeATTR_MODE_TYPE属性模块
attr_idnumber属性id 填0代表移除指定模块所有属性加成
---
  • ret: boolean 是否成功

  • 示例:

function isc_test_item:del_attr()

local item = edi.bag:get_by_slot(module.player, "bag_system_item", 0)
if item == nil then
return
end
local result = edi.item:del_attr(item, 1, 1)
LOGI("isc_test_item del_attr: " .. tostring(result))
end

添加扩展信息 add_extra

  • args:
名字类型说明、描述
itemuserdata道具对象
extra_idstring扩展信息id
extra_valstring扩展信息数据
---
  • ret: 无

  • 示例:

function isc_test_item:add_extra()

local item = edi.bag:get_by_slot(module.player, "bag_system_item", 0)
if item == nil then
return
end
edi.item:add_extra(item, "extra_id", "extra_val")
LOGI("isc_test_item add_extra: ")
end

获取扩展信息 get_extra

  • args:
名字类型说明、描述
itemuserdata道具对象
extra_idstring扩展信息id
---
  • ret: string 扩展信息数据

  • 示例:

function isc_test_item:get_extra()

local item = edi.bag:get_by_slot(module.player, "bag_system_item", 0)
if item == nil then
return
end
local result = edi.item:get_extra(item, "extra_id")
LOGI("isc_test_item get_extra: " .. result)
end

删除扩展信息 del_extra

  • args:
名字类型说明、描述
itemuserdata道具对象
extra_idstring扩展信息id
---
  • ret: boolean 是否成功

  • 示例:

function isc_test_item:del_extra()

local item = edi.bag:get_by_slot(module.player, "bag_system_item", 0)
if item == nil then
return
end
local result = edi.item:del_extra(item, "extra_id")
LOGI("isc_test_item del_extra: " .. tostring(result))
end

获取二进制数据(包含道具所有动态信息) get_binary

  • args:
名字类型说明、描述
itemuserdata道具对象
---
  • ret: string 二进制数据

  • 示例:

function isc_test_item:get_binary()

local item = edi.bag:get_by_slot(module.player, "bag_system_item", 0)
if item == nil then
return
end
local result = edi.item:get_binary(item)
LOGI("isc_test_item get_binary: " .. tostring(result))
end

添加技能 add_skill

  • args:
名字类型说明、描述
itemuserdata道具对象
skillidnumber技能id
---
  • ret: 无

  • 示例:

function isc_test_item:add_skill()

local item = edi.bag:get_by_slot(module.player, "bag_system_item", 0)
if item == nil then
return
end
edi.item:add_skill(item, 1)
LOGI("isc_test_item add_skill")
end

删除技能 del_skill

  • args:
名字类型说明、描述
itemuserdata道具对象
skillidnumber技能id
---
  • ret: 无

  • 示例:

function isc_test_item:del_skill()

local item = edi.bag:get_by_slot(module.player, "bag_system_item", 0)
if item == nil then
return
end
edi.item:del_skill(item, 1)
LOGI("isc_test_item del_skill")
end

更新道具 update

  • args:
名字类型说明、描述
playeruserdata角色对象
itemuserdata道具对象
---
  • ret: 无

  • 示例:

function isc_test_item:update()
local item = edi.bag:get_by_slot(module.player, "bag_system_item", 0)
if item == nil then
return
end
edi.item:update(module.player, item)
LOGI("isc_test_item update")
end