跳到主要内容

玩家

是否是玩家 is_player

  • args:
名字类型说明、描述
objuserdata对象
---
  • ret: boolean 是否是玩家

  • 示例:

function isc_test_player:is_player()
local obj = module.player:getOwner()
local bRet = edi.player:is_player(obj)
RET_BOOL(bRet, "edi.player:is_player")
end

判断玩家是否死亡 is_dead

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: boolean 是否死亡

获取所有在线玩家 get_all_players

  • args:
名字类型说明、描述
---
  • ret: table 玩家列表

  • 示例:

function isc_test_player:get_all_players()
local players = edi.player:get_all_players()
for _, player in pairs(players) do
LOGI("isc player test:" .. edi.player:get_name(player))
end
end

通过名字获得玩家实例 get_by_name

  • args:
名字类型说明、描述
namestring玩家名字
---
  • ret: userdata 玩家对象

通过唯一id获得玩家实例 get_by_uuid

  • args:
名字类型说明、描述
uuidnumber玩家唯一id
---
  • ret: userdata 玩家对象

获得玩家账号 get_account

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: string 玩家账号

获得玩家名字 get_name

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: string 玩家名字

  • 示例:

function isc_test_player:get_name()
local player = module.player
local name = edi.player:get_name(player)
LOGI("isc player test:".. name)
end

获得玩家等级 get_level

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: number 玩家等级

  • 示例:

function isc_test_player:get_level()
local player = module.player
local level = edi.player:get_level(player)
LOGI("isc player test:".. level)
end

获得玩家转生等级 get_rlevel

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: number 转生等级

  • 示例:

function isc_test_player:get_rlevel()
local player = module.player
local rlevel = edi.player:get_rlevel(player)
LOGI("isc player test:".. rlevel)
end

添加玩家当前经验 add_exp

  • args:
名字类型说明、描述
playeruserdata玩家对象
exp_numnumber经验值
---
  • ret: 无

减少玩家当前经验 sub_exp

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: number 玩家当前经验

获得玩家当前经验 get_exp

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: number 玩家当前经验

获得玩家下一等级经验 get_nexp

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: number 玩家下一等级经验

获得玩家性别 get_sex

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: number 性别

  • 示例:

function isc_test_player:get_sex()
local player = module.player
local sex = edi.player:get_sex(player)
LOGI("isc player test:".. sex)
end

设置玩家性别 set_sex

  • args:
名字类型说明、描述
playeruserdata玩家对象
sexnumber#性别
---
  • ret: 无

获得玩家职业 get_job

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: number 职业

  • 示例:

function isc_test_player:get_job()
local player = module.player
local job = edi.player:get_job(player)
LOGI("isc player test:".. job)
end

设置玩家职业 set_job

  • args:
名字类型说明、描述
playeruserdata玩家对象
jobnumber#职业
---
  • ret: 无

获得玩家uuid get_uuid

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: number uuid

  • 示例:

function isc_test_player:get_uuid()
local player = module.player
local uid = edi.player:get_uuid(player)
LOGI("isc player test:".. uid)
end

获得玩家公会id get_guild_id

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: string 公会id

  • 示例:

function isc_test_player:get_guild_id()
local player = module.player
local guild_id = edi.player:get_guild_id(player)
LOGI("isc player test:".. guild_id)
end

获得玩家当前目标 get_select_target

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: 无

获得货币数量 get_money

  • args:
名字类型说明、描述
playeruserdata玩家对象
item_idnumber货币配置id
---
  • ret: number 货币数量

  • 示例:

function isc_test_player:get_money()
local player = module.player
local item_id = 1
local money = edi.player:get_money(player, item_id)
LOGI("玩家当前金币数量为:".. money)
end

获得对象当前坐标 get_scene_pos

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: pos_info 坐标

获得对象当前场景对象 get_scene

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: userdata 当前场景对象

  • 示例:

function isc_test_player:get_scene()
local player = module.player
local pScene = edi.player:get_scene(player)
local vecAllMonsters = edi.scene:get_all_monsters(pScene)
local monsterNum = #vecAllMonsters
print("--------------------------monsterNum:"..monsterNum)
local scene_uuid = edi.scene:get_uuid(pScene)
LOGI("isc player test:".. scene_uuid)
end

获得对象当前行会名称 get_guild_name

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: string 行会名称

  • 示例:

function isc_test_player:get_guild_name()
local player = module.player
local guild_name = edi.player:get_guild_name(player)
LOGI("isc player test:".. guild_name)
end

获得攻击模式 get_attack_mode

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: number 攻击模式:0全体,1和平,2编组,3行会,4善恶,5阵营,6盟友,7敌

  • 示例:

function isc_test_player:get_attack_mode()
local player = module.player
local attack_mode = edi.player:get_attack_mode(player)
LOGI("isc player test:".. attack_mode)
end

获得玩家状态 get_state

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: ROLE_STATE 玩家状态(枚举在constDef.lua)

  • 示例:

function isc_test_player:get_state()
local player = module.player
local state = edi.player:get_state(player)
LOGI("isc player test:".. state)
end

获得玩家当前方向 get_director

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: number 当前方向

获取当前登录时间 (秒) get_login_time

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: number 最近一次登录时间

获得上一个场景id get_last_map_id

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: number 场景id(配置id)

  • 示例:

function isc_test_player:get_last_map_id()
local player = module.player
local map_id = edi.player:get_last_map_id(player)
LOGI("isc player test:".. map_id)
end

获得当前副本对象 get_dg

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: userdata 副本对象

  • 示例:

function isc_test_player:get_dg()
local player = module.player
local dg = edi.player:get_dg(player)
if dg then
local dg_uuid = edi.dg:get_uuid(dg)
LOGI("isc player test:".. dg_uuid)
end
end

设置玩家状态 set_state

  • args:
名字类型说明、描述
playeruserdata玩家对象
stateROLE_STATE状态((枚举在constDef.lua))
---
  • ret: 无

  • 示例:

function isc_test_player:set_state()
local player = module.player
local state = core_def.ROLE_STATE.play --待进入场景
edi.player:set_state(player, state)
local curr_state = edi.player:get_state(player)
LOGI("isc player test:".. curr_state)
end

设置玩家名字 set_name

  • args:
名字类型说明、描述
playeruserdata玩家对象
newNamestring新名字
ItemIdentnumber消耗物uid
ItemNumnumber消耗物数量
---
  • ret: 无

  • 示例:

function isc_test_player:set_name()
local player = module.player
local uids = edi.bag:get_uuids_by_id(module.player, "bag_system_item", 3708)
if #uids == 0 then
LOGI("isc_test_bag get_type: "..tostring(false))
return
end
local uuid = uids[1]
edi.player:set_name(player, "xiao米", uuid, 1)
end

设置穿人 set_through_hum

  • args:
名字类型说明、描述
playeruserdata玩家对象
ensureboolean是否穿人
---
  • ret: 无

设置穿怪 set_through_monster

  • args:
名字类型说明、描述
playeruserdata玩家对象
ensureboolean是否穿怪
---
  • ret: 无

设置攻击模式 set_attack_mode

  • args:
名字类型说明、描述
playeruserdata玩家对象
modenumber攻击模式:0全体,1和平,2编组,3行会,4善恶,5阵营,6盟友,7敌
forceboolean是否强制
---
  • ret: 无

  • 示例:

function isc_test_player:set_attack_mode()
local player = module.player
local attack_mode = 5 --阵营模式
local force = true
edi.player:set_attack_mode(player, attack_mode, force)
local curr_mode = edi.player:get_attack_mode(player)
LOGI("isc player test:".. curr_mode)
end

设置优先打怪 set_priority_attack_monsters

  • args:
名字类型说明、描述
playeruserdata玩家对象
monsterstable?怪物配置id,nil为清空
---
  • ret: 无

添加货币 add_money

  • args:
名字类型说明、描述
playeruserdata玩家对象
item_idnumber货币配置id
countnumber货币数量
---
  • ret: boolean 是否添加成功

  • 示例:

function isc_test_player:add_money()
local player = module.player
local item_id = 1
local before_money = edi.player:get_money(player, item_id)
LOGI("当前金币数量为:"..before_money)
local count = 1000
LOGI("添加金币"..count.."...........")
edi.player:add_money(player, item_id, count)
local after_money = edi.player:get_money(player, item_id)
LOGI("添加后金币数量为:".. after_money)
end

扣除货币 sub_money

  • args:
名字类型说明、描述
playeruserdata玩家对象
item_idnumber货币配置id
countnumber货币数量
---
  • ret: boolean 是否扣除成功

  • 示例:

function isc_test_player:sub_money()
local player = module.player
local item_id = 1
local before_money = edi.player:get_money(player, item_id)
LOGI("当前金币数量为:"..before_money)
local sub_count = 50
LOGI("扣除金币"..sub_count.."...........")
edi.player:sub_money(player, item_id, sub_count)
local after_money = edi.player:get_money(player, item_id)
LOGI("扣除后金币数量为:".. after_money)
end

设置指定地点复活 relive_assign

  • args:
名字类型说明、描述
playeruserdata玩家对象
pospos_info坐标
scene_idnumber场景配置id
---
  • ret: boolean 是否成功

  • 示例:

function isc_test_player:relive_assign()
local player = module.player
local obj = module.player:getOwner()
local scene = edi.object:get_scene(obj)
local pos = edi.scene:get_born_pos(scene)
LOGI("isc player test: ".. pos.x .. pos.y)
local scene_id = edi.scene:get_id(scene)
LOGI("isc player test: ".. scene_id)
local bRet = edi.player:relive_assign(player, pos, scene_id)
RET_BOOL(bRet,"isc_test_player:assign_relive")
end

原地复活 relive_origin

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: boolean 是否成功

  • 示例:

function isc_test_player:relive_origin()
local player = module.player
local bRet = edi.player:relive_origin(player)
RET_BOOL(bRet, "isc_test_player:origin_relive")
end

设置玩家等级 set_level

  • args:
名字类型说明、描述
playeruserdata玩家对象
levelnumber等级
---
  • ret: 无

  • 示例:

function isc_test_player:set_level()
local player = module.player
local level = 50
edi.player:set_level(player, level)
local curr_level = edi.player:get_level(player)
LOGI("isc player test:".. curr_level)
end

设置玩家转生等级 set_rlevel

  • args:
名字类型说明、描述
playeruserdata玩家对象
rlevelnumber转生等级
---
  • ret: 无

  • 示例:

function isc_test_player:set_rlevel()
local player = module.player
local rlevel = 50
edi.player:set_rlevel(player, rlevel)
local curr_rlevel = edi.player:get_rlevel(player)
LOGI("isc player test:".. curr_rlevel)
end

设置玩家攻击目标 set_attack_target

  • args:
名字类型说明、描述
playeruserdata玩家对象
object_idnumber攻击目标uuid
---
  • ret: 无

  • 示例:

function isc_test_player:set_attack_target()

local scene_bit_player = 1
local scene_bit_monster = 1 << 1

local player = module.player
local obj = module.player:getOwner()
local target = nil
local nearPlayers = edi.scene:get_eye_objects(obj, scene_bit_player | scene_bit_monster)
for _, object in pairs(nearPlayers) do
if edi.object:get_uuid(obj) ~= edi.object:get_uuid(object) then
target = object
break
end
end

local object_id = edi.object:get_uuid(target)
edi.player:set_attack_target(player, tostring(object_id))
LOGI("isc player test: " .. object_id .. " name: " .. edi.object:get_name(target))
end

获取玩家攻击目标 get_attack_target

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: number 攻击目标uuid

  • 示例:

function isc_test_player:get_attack_target()

local player = module.player
local target_uuid = edi.player:get_attack_target(player)
LOGI("isc player test target_uuid:" .. target_uuid)
end

获得指定属性值 get_attr

  • args:
名字类型说明、描述
playeruserdata玩家对象
attr_idnumber属性id(attribute.xlsx表,对应attrDef.lua的AttrDef枚举, attr_id需1000以内)
---
  • ret: number 属性值

  • 示例:

function isc_test_player:get_attr()
local player = module.player
local attr_id = AttrDef.EN_ATTR_1-- 当前生命
local val = edi.player:get_attr(player, attr_id)
LOGI("isc player test:".. val)
end

设置属性值 set_attr

  • args:
名字类型说明、描述
playeruserdata玩家对象
attr_idnumber属性id(attribute.xlsx表,对应attrDef.lua的AttrDef枚举, attr_id需1000以内)
valnumber属性值
---
  • ret: boolean 是否设置成功

  • 示例:

function isc_test_player:set_attr()
local player = module.player
local attr_id = AttrDef.EN_ATTR_1-- 当前生命 非累加属性id
local attr_val = 50
local before_val = edi.player:get_attr(player, attr_id)
LOGI("isc player test: before_val = ".. before_val)
edi.player:set_attr(player, attr_id, attr_val)
local after_val = edi.player:get_attr(player, attr_id)
LOGI("isc player test: after_val = ".. after_val)

print("set_attr cut2============================================================")

local attr_id2 = AttrDef.EN_ATTR_21-- 暴击 累加属性id
local attr_val2 = 99
local before_val2 = edi.player:get_attr(player, attr_id2)
LOGI("isc player test: before_val2 = ".. before_val2)
edi.player:set_attr(player, attr_id2, attr_val2)
local after_val2 = edi.player:get_attr(player, attr_id2)
LOGI("isc player test: after_val2 = ".. after_val2)

print("set_attr cut3============================================================")

local attr_id3 = 3000-- 自定义属性id
local attr_val3 = 1000
local before_val3 = edi.player:get_attr(player, attr_id3)
LOGI("isc player test: before_val3 = ".. before_val3)
edi.player:set_attr(player, attr_id3, attr_val3)
local after_val3 = edi.player:get_attr(player, attr_id3)
LOGI("isc player test: after_val3 = ".. after_val3)

print("set_attr accumulate============================================================")

local attr_id4 = AttrDef.EN_ATTR_1-- 当前生命 非累加属性id
local attr_val4 = 100
local before_val4 = edi.player:get_attr(player, attr_id4)
LOGI("isc player test: before_val4 = ".. before_val4)
edi.player:change_attr(player, attr_id4, attr_val4)
local after_val4 = edi.player:get_attr(player, attr_id4)
LOGI("isc player test: after_val4 = ".. after_val4)

print("set_attr accumulate2============================================================")

local attr_id5 = AttrDef.EN_ATTR_21-- 暴击 累加属性id
local attr_val5 = 200
local before_val5 = edi.player:get_attr(player, attr_id5)
LOGI("isc player test: before_val5 = ".. before_val5)
edi.player:change_attr(player, attr_id5, attr_val5)
local after_val5 = edi.player:get_attr(player, attr_id5)
LOGI("isc player test: after_val5 = ".. after_val5)
end

修改属性值 change_attr

  • args:
名字类型说明、描述
playeruserdata玩家对象
attr_idnumber属性id(attribute.xlsx表,对应attrDef.lua的AttrDef枚举, attr_id需1000以内)
valnumber属性值
---
  • ret: boolean 是否修改成功

  • 示例:

function isc_test_player:change_attr()
local player = module.player
local attr_id = AttrDef.EN_ATTR_1-- 当前生命
local attr_val = 50
local before_val = edi.player:get_attr(player, attr_id)
LOGI("isc player test:".. before_val)
edi.player:change_attr(player, attr_id, attr_val)
local after_val = edi.player:get_attr(player, attr_id)
LOGI("isc player test:".. after_val)
end

获取指定模块的键值对Key对应的值(int2int) get_int_kv

  • args:
名字类型说明、描述
playeruserdata玩家对象
modKV_MODE自定义模块ID(core_def.lua的KVModeDef枚举,引擎提供枚举值100以内, 客户自定义模块枚举值需>100,若使用引擎提供mod枚举,key需要>3000)
keynumber自定义Key
---
  • ret: number 自定义Key对应值

  • 示例:

function isc_test_player:get_int_kv()
local player = module.player
local curr_exp = edi.player:get_int_kv(player, core_def.KV_MODE.DEFAULT, OtherDef.EN_OTHER_2)
LOGI("isc player test:".. curr_exp)
end

获取指定模块的Key(int2int) get_mod_int_key

  • args:
名字类型说明、描述
playeruserdata玩家对象
modKV_MODE自定义模块ID(core_def.lua的KVModeDef枚举,引擎提供枚举值100以内, 客户自定义模块枚举值需>100,若使用引擎提供mod枚举,key需要>3000)
---
  • ret: table 自定义模块对应key

设置指定模块的键值对Key对应值(int2int) set_int_kv

  • args:
名字类型说明、描述
playeruserdata玩家对象
modKV_MODE自定义模块ID(core_def.lua的KVModeDef枚举,引擎提供枚举值100以内, 客户自定义模块枚举值需>100,若使用引擎提供mod枚举,key需要>3000)
keynumber自定义Key
valnumber自定义Key对应值
---
  • ret: 无

  • 示例:

function isc_test_player:set_int_kv()
local player = module.player
local val = 99
local before_exp = edi.player:get_int_kv(player, core_def.KV_MODE.DEFAULT, OtherDef.EN_OTHER_2)
LOGI("isc player test:".. before_exp)
edi.player:set_int_kv(player, core_def.KV_MODE.DEFAULT, OtherDef.EN_OTHER_2, val)
local after_exp = edi.player:get_int_kv(player, core_def.KV_MODE.DEFAULT, OtherDef.EN_OTHER_2)
LOGI("isc player test:".. after_exp)
end

获取指定模块的键值对Key对应的值(str2str) get_str_kv

  • args:
名字类型说明、描述
playeruserdata玩家对象
modKV_MODE自定义模块ID
keystring自定义Key
---
  • ret: string 自定义Key对应值

  • 示例:

function isc_test_player:get_str_kv()
local player = module.player
local kvDef = core_def.KV_MODE.GrowUp
local key = "isc_test_player"
local val = "success"
edi.player:set_str_kv(player, kvDef, key, val)
local curval = edi.player:get_str_kv(player, kvDef, key)
LOGI("isc player test:".. curval)

local tabList = edi.player:get_mod_str_key(player, kvDef)
for _, key in pairs(tabList) do
LOGI("isc player test: key : ".. key)
end

edi.player:clear_mod_key(player, kvDef)
local afterval = edi.player:get_str_kv(player, kvDef, key)
LOGI("isc player test:".. afterval)

end

获取指定模块的Key(str2str) get_mod_str_key

  • args:
名字类型说明、描述
playeruserdata玩家对象
modKV_MODE自定义模块ID
---
  • ret: table 自定义模块kv值

设置指定模块的键值对Key对应值(str2str) set_str_kv

  • args:
名字类型说明、描述
playeruserdata玩家对象
modKV_MODE自定义模块ID
keystring自定义Key
valstring自定义Key对应值
---
  • ret: 无

  • 示例:

function isc_test_player:set_str_kv()
local player = module.player
local kvDef = core_def.KV_MODE.GrowUp
local key = "isc_test_player"
local val = "success"
edi.player:set_str_kv(player, kvDef, key, val)
local curval = edi.player:get_str_kv(player, kvDef, key)
LOGI("isc player test:".. curval)
end

清空指定模块的Key clear_mod_key

  • args:
名字类型说明、描述
playeruserdata玩家对象
modKV_MODE自定义模块ID(core_def.lua的KVModeDef枚举,引擎提供枚举值100以内, 客户自定义模块枚举值需>100,若使用引擎提供mod枚举,key需要>3000)
---
  • ret: 无

获取指定模块的键值对Key对应的值(str2int) get_growth_kv

  • args:
名字类型说明、描述
playeruserdata玩家对象
modKV_MODE自定义模块ID(core_def.lua的KVModeDef枚举)
keystring自定义Key
---
  • ret: number 自定义Key对应值

设置指定模块的键值对Key对应值(str2int) set_growth_kv

  • args:
名字类型说明、描述
playeruserdata玩家对象
modKV_MODE自定义模块ID(core_def.lua的KVModeDef枚举)
keystring自定义Key
valnumber自定义Key对应值
---
  • ret: 无

获取指定模块的Key(str2int) get_mod_growth_key

  • args:
名字类型说明、描述
playeruserdata玩家对象
modKV_MODE自定义模块ID
---
  • ret: table 自定义模块kv值

设置玩家额外离线数据 set_offline_ext_data

  • args:
名字类型说明、描述
player_idnumber玩家uuid
keystring自定义Key
valstring自定义Key对应值
---
  • ret: 无

  • 示例:

function isc_test_player:set_offline_ext_data()
local player = module.player
local player_uuid = edi.player:get_uuid(player)
local vec_key = "player_base"

local player_base_info = {
name = edi.player:get_name(player),
sex = edi.player:get_sex(player),
}
local str_player_base_info = cjson.encode(player_base_info)
edi.player:set_offline_ext_data(player_uuid,vec_key,str_player_base_info)
LOGI("isc_test_player:set_offline_ext_data")


local call_back = function (player)
print("call back function")
end
edi.player:get_offline_ext_data(player_uuid,vec_key,call_back,str_player_base_info)
LOGI("isc_test_player:get_offline_ext_data")

local tabList = edi.player:clear_offline_ext_data(player_uuid)
LOGI("isc_test_player:clear_offline_ext_data")
end

获取玩家额外离线指定key数据 get_offline_ext_data

  • args:
名字类型说明、描述
player_idnumber玩家uuid
vec_keyOFFLINE_INFO_TYPE[] or string[]离线数据key集合
call_backfunction回调
str_paramsstring透传参数
---
  • ret: 无

清除玩家额外离线数据 clear_offline_ext_data

  • args:
名字类型说明、描述
player_idnumber玩家uuid
---
  • ret: 无

设置红点 set_red_point

  • args:
名字类型说明、描述
playeruserdata玩家对象
red_pointnumber红点id
notifyboolean是否通知客户端
---
  • ret: 无

  • 示例:

function isc_test_player:set_red_point()
local player = module.player
local red_point = 1
local notify = true
edi.player:set_red_point(player, red_point, notify)
local bRet = edi.player:get_red_point(player, red_point)
RET_BOOL(bRet, "isc_test_player:get_red_point")
end

获得红点 get_red_point

  • args:
名字类型说明、描述
playeruserdata玩家对象
red_pointnumber红点id
---
  • ret: boolean 是否存在该红点

  • 示例:

function isc_test_player:get_red_point()
local player = module.player
local red_point = 1
local notify = true
edi.player:set_red_point(player, red_point, notify)
local bRet = edi.player:get_red_point(player, red_point)
RET_BOOL(bRet, "isc_test_player:get_red_point")
end

玩家数据打包入库 save_db

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: 无

  • 示例:

function isc_test_player:save_db()
local player = module.player
edi.player:save_db(player)
end

player添加定时器 add_timer

  • args:
名字类型说明、描述
playeruserdata玩家对象
index_keystring标记
ticknumber间隔时间(毫秒)
countnumber重复次数
callback_funcfunction回调函数
callback_datastring?回调数据
---
  • ret: boolean 是否成功

  • 示例:

function isc_test_player:add_timer()

local _callback = function(uuid, timer_key, callback_params)
print("isc_test_player:callback================================== ", uuid, callback_params)
end

local player = module.player
local index_key = "player_timer"
local tick = 200
local count = 1
local params = "6"

local bRet = edi.player:add_timer(player, index_key, tick, count, _callback, params)
RET_BOOL(bRet, "isc_test_player:add_timer")
end

删除指定定时器 del_timer

  • args:
名字类型说明、描述
playeruserdata玩家对象
index_keystring标记
---
  • ret: 无

  • 示例:

function isc_test_player:del_timer()
local player = module.player
local index_key = "player_timer"
edi.player:del_timer(player, index_key)
end

判断是否有指定定时器 has_timer

  • args:
名字类型说明、描述
playeruserdata玩家对象
index_keystring标记
---
  • ret: boolean 是否成功

  • 示例:

function isc_test_player:has_timer()
local player = module.player
local index_key = "player_timer"
local bRet = edi.player:has_timer(player, index_key)
RET_BOOL(bRet, "isc_test_player:has_timer")
end

通知客户端属性变化 send_attr_change

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: 无

  • 示例:

function isc_test_player:send_attr_change()
local player = module.player
edi.player:send_attr_change(player)
end

充值接口 recharge

  • args:
名字类型说明、描述
playeruserdata玩家对象
productstring充值商品
custom_datastring用户自定义透传数据
is_real1 or 0=1真实充值 =0扶持充值(直接发货)
resourcestring原因
---
  • ret: 无

  • 示例:

function isc_test_player:recharge()
local player = module.player
edi.player:recharge(player, "com.cq.1", "1|2|4", 1, "test reason")
edi.player:recharge(player, "com.cq.1", "1|2|4", 0, "test reason")
end

设置显示信息 set_show

  • args:
名字类型说明、描述
playeruserdata玩家对象
showplayer_show_info显示信息对象(player_show_info结构)
---
  • ret: boolean 是否成功

  • 示例:

function isc_test_player:set_show()
local player = module.player
local ret = edi.player:set_show(player, {id = 1, show_type=1, ctx="context"})
print("result = ", ret)
end

获取显示信息 get_show

  • args:
名字类型说明、描述
playeruserdata玩家对象
idnumber显示信息id
---
function isc_test_player:get_show()
local player = module.player
local ret = edi.player:get_show(player, 1)
print("result = ", ret)
end

设置外观显示 set_outlook

  • args:
名字类型说明、描述
playeruserdata玩家对象
typeOUTLOOK_TYPE外观显示类型
valnumber外观显示类型对应值
---
  • ret: boolean 是否成功

  • 示例:

function isc_test_player:set_outlook()
local player = module.player
local ret = edi.player:set_outlook(player, 1, 1)
print("result = ", ret)
end

获取外观显示 get_outlook

  • args:
名字类型说明、描述
playeruserdata玩家对象
typeOUTLOOK_TYPE外观显示类型
---
  • ret: number 外观显示类型对应值

  • 示例:

function isc_test_player:get_outlook()
local player = module.player
local ret = edi.player:get_outlook(player, 1)
print("result = ", ret)
end

设置名字颜色 set_name_color

  • args:
名字类型说明、描述
playeruserdata玩家对象
colorinteger颜色
---
  • ret: 无

  • 示例:

function isc_test_player:set_name_color()
local player = module.player
local color = tonumber('FF', 16)
edi.player:set_name_color(player, color)
LOGI("isc_test_player:set_name_color")
end

获取玩家登录渠道 get_channel

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: string 玩家登录渠道

  • 示例:

function isc_test_player:get_channel()
local player = module.player
local result = edi.player:get_channel(player)
print("get_channel result ", result)
end

获取玩家登录平台 get_plat

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: number 玩家登录平台

  • 示例:

function isc_test_player:get_plat()
local player = module.player
local result = edi.player:get_plat(player)
print("get_plat result ", result)
end

指定背包爆出道具 burst_items

  • args:
名字类型说明、描述
playeruserdata玩家对象(爆出装备的玩家对象)
attackeruserdata攻击者
bag_typestring背包类型
item_listtable{item_info} 道具列表
reasonstringundefined
---
  • ret: 无

  • 示例:

function isc_test_player:burst_items()
local player = module.player
local bag_type = include("engine.define.bag_def").EN_BAG_1
local items = edi.bag:get_all(player, bag_type);
local M = include("engine.core.module.struct")
local drops = {}
for _, item in pairs(items) do
local uuid = edi.item:get_uuid(item)
local num = edi.bag:overlap_count(player, bag_type, uuid)
local data = M:make_item_uuid_info(uuid, num)
table.insert(drops, data)
end
edi.player:burst_items(player, player, bag_type, drops, "reason")
end

获取掉落物 get_drop_items

  • args:
名字类型说明、描述
playeruserdata玩家对象
drop_id_listinteger[]掉落id 列表 {id1, id2}
coefficientinteger系数
---
  • ret: item_info[] 掉落物

  • 示例:

function isc_test_player:get_drop_items()
local player = module.player
local items = edi.player:get_drop_items(player, {2001}, 0)
for _, v in pairs(items) do
print("item ", v.item_id, v.item_num, v.bind)
end
end

获取玩家好友列表 get_friends_list

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: table 好友列表(玩家uuid)

  • 示例:

function isc_test_player:get_friends_list()
local player = module.player
local tabList = edi.player:get_friends_list(player)
LOGI("isc_test_player:get_friends_list friend num :"..#tabList)
end

踢玩家下线 kick_out

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: 无

  • 示例:

function isc_test_player:kick_out()
local player = module.player
edi.player:kick_out(player)
LOGI("isc_test_player:kick_out")
end

关闭当前对话框 close_dialog

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: 无

  • 示例:

function isc_test_player:close_dialog()
local player = module.player
edi.player:close_dialog(player)
LOGI("isc_test_player:close_dialog")
end

打开/关闭游戏面板 operator_panel

  • args:
名字类型说明、描述
playeruserdata玩家对象
panel_indexPANEL_INDEX面板index
closeboolean?是否执行关闭
---
  • ret: 无

打开/关闭自动战斗 operator_auto_game

  • args:
名字类型说明、描述
playeruserdata玩家对象
openboolean?是否执行开启
---
  • ret: 无

  • 示例:

function isc_test_player:operator_auto_game()
local player = module.player
local open = true
local bRet = edi.player:operator_auto_game(player, open)
if bRet then
LOGI("打开自动战斗")
end
end

tlog

获取玩家信息 get_info

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: { mid:string, device_id:string, ip:string, port:integer } #tlog信息包含 mid device_id ip port

  • 示例:

function isc_test_player:get_info()
local player = module.player
local player_info = edi.player:get_info(player)
local mid = player_info.mid
LOGI("mid " .. mid)
local device_id = player_info.device_id
LOGI("device_id ".. device_id)
local ip = player_info.ip
LOGI("ip ".. ip)
local port = player_info.port
LOGI("port ".. port)
end

使用道具 eat_item

  • args:
名字类型说明、描述
playeruserdata玩家对象
item_uuidinteger道具uid
numinteger使用数量
use_typeE_USE_ITEM_TYPE使用类型
---
  • ret: 无

  • 示例:

function isc_test_player:eat_item()
local player = module.player
local uids = edi.bag:get_uuids_by_id(module.player, "bag_system_item", 1001)
if #uids == 0 then
LOGI("isc_test_bag rem_more_by_uid: "..tostring(false))
return
end
local uuid = uids[1]
edi.player:eat_item(player, uuid, 1, "bag_system_item")
print("recycle_items")
end

使用道具 recycle_items

  • args:
名字类型说明、描述
playeruserdata玩家对象
item_uuid_listtable{integer-id} 道具uid列表
---
  • ret: 无

  • 示例:

function isc_test_player:recycle_items()
local player = module.player
local uids = edi.bag:get_uuids_by_id(module.player, "bag_system_item", 1001)
if #uids == 0 then
LOGI("isc_test_bag rem_more_by_uid: "..tostring(false))
return
end
edi.player:recycle_items(player, uids)
print("recycle_items")
end

获取pk等级(罪恶等级,灰名,黄名,红名) get_pk_lv

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: ENUM_GAELV | integer 红名规则等级

  • 示例:

function isc_test_player:get_pk_lv()
local player = module.player
local result = edi.player:get_pk_lv(player)
print("player pk level: ", result)
end

获取随从列表 get_slaver_list

  • args:
名字类型说明、描述
playeruserdata玩家对象
---
  • ret: slaver_list table {creature} 随从对象列表

获取指定随从模式 get_slaver_mode

  • args:
名字类型说明、描述
playeruserdata玩家对象
slaveruserdata随从对象(pet,monster)
---
  • ret: mode 模式(0:锁定 1:休息 2:跟随 3:战斗)

设置指定随从模式 set_slaver_mode

  • args:
名字类型说明、描述
playeruserdata玩家对象
slaveruserdata随从对象(pet,monster)
modenumber模式(0:锁定 1:休息 2:跟随 3:战斗)
---
  • ret: boolean 是否成功