玩家
是否是玩家 is_player
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
obj | userdata | 对象 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
- 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:
名字 | 类型 | 说明、描述 |
---|---|---|
name | string | 玩家名字 |
- | - | - |
- ret:
userdata
玩家对象
通过唯一id获得玩家实例 get_by_uuid
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
uuid | number | 玩家唯一id |
- | - | - |
- ret:
userdata
玩家对象
获得玩家账号 get_account
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
- ret:
string
玩家账号
获得玩家名字 get_name
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
exp_num | number | 经验值 |
- | - | - |
- ret: 无
减少玩家当前经验 sub_exp
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
- ret:
number
玩家当前经验
获得玩家当前经验 get_exp
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
- ret:
number
玩家当前经验
获得玩家下一等级经验 get_nexp
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
- ret:
number
玩家下一等级经验
获得玩家性别 get_sex
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
sex | number | #性别 |
- | - | - |
- ret: 无
获得玩家职业 get_job
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
job | number | #职业 |
- | - | - |
- ret: 无
获得玩家uuid get_uuid
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
- ret: 无
获得货币数量 get_money
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
item_id | number | 货币配置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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
- ret:
pos_info
坐标
获得对象当前场景对象 get_scene
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
- ret:
number
当前方向
获取当前登录时间 (秒) get_login_time
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
- ret:
number
最近一次登录时间
获得上一个场景id get_last_map_id
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
state | ROLE_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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
newName | string | 新名字 |
ItemIdent | number | 消耗物uid |
ItemNum | number | 消耗物数量 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
ensure | boolean | 是否穿人 |
- | - | - |
- ret: 无
设置穿怪 set_through_monster
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
ensure | boolean | 是否穿怪 |
- | - | - |
- ret: 无
设置攻击模式 set_attack_mode
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
mode | number | 攻击模式:0全体,1和平,2编组,3行会,4善恶,5阵营,6盟友,7敌 |
force | boolean | 是否强制 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
monsters | table? | 怪物配置id,nil为清空 |
- | - | - |
- ret: 无
添加货币 add_money
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
item_id | number | 货币配置id |
count | number | 货币数量 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
item_id | number | 货币配置id |
count | number | 货币数量 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
pos | pos_info | 坐标 |
scene_id | number | 场景配置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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
level | number | 等级 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
rlevel | number | 转生等级 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
object_id | number | 攻击目标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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
attr_id | number | 属性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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
attr_id | number | 属性id(attribute.xlsx表,对应attrDef.lua的AttrDef枚举, attr_id需1000以内) |
val | number | 属性值 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
attr_id | number | 属性id(attribute.xlsx表,对应attrDef.lua的AttrDef枚举, attr_id需1000以内) |
val | number | 属性值 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
mod | KV_MODE | 自定义模块ID(core_def.lua的KVModeDef枚举,引擎提供枚举值100以内, 客户自定义模块枚举值需>100,若使用引擎提供mod枚举,key需要>3000) |
key | number | 自定义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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
mod | KV_MODE | 自定义模块ID(core_def.lua的KVModeDef枚举,引擎提供枚举值100以内, 客户自定义模块枚举值需>100,若使用引擎提供mod枚举,key需要>3000) |
- | - | - |
- ret:
table
自定义模块对应key
设置指定模块的键值对Key对应值(int2int) set_int_kv
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
mod | KV_MODE | 自定义模块ID(core_def.lua的KVModeDef枚举,引擎提供枚举值100以内, 客户自定义模块枚举值需>100,若使用引擎提供mod枚举,key需要>3000) |
key | number | 自定义Key |
val | number | 自定义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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
mod | KV_MODE | 自定义模块ID |
key | string | 自定义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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
mod | KV_MODE | 自定义模块ID |
- | - | - |
- ret:
table
自定义模块kv值
设置指定模块的键值对Key对应值(str2str) set_str_kv
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
mod | KV_MODE | 自定义模块ID |
key | string | 自定义Key |
val | string | 自定义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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
mod | KV_MODE | 自定义模块ID(core_def.lua的KVModeDef枚举,引擎提供枚举值100以内, 客户自定义模块枚举值需>100,若使用引擎提供mod枚举,key需要>3000) |
- | - | - |
- ret: 无
获取指定模块的键值对Key对应的值(str2int) get_growth_kv
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
mod | KV_MODE | 自定义模块ID(core_def.lua的KVModeDef枚举) |
key | string | 自定义Key |
- | - | - |
- ret:
number
自定义Key对应值
设置指定模块的键值对Key对应值(str2int) set_growth_kv
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
mod | KV_MODE | 自定义模块ID(core_def.lua的KVModeDef枚举) |
key | string | 自定义Key |
val | number | 自定义Key对应值 |
- | - | - |
- ret: 无
获取指定模块的Key(str2int) get_mod_growth_key
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
mod | KV_MODE | 自定义模块ID |
- | - | - |
- ret:
table
自定义模块kv值
设置玩家额外离线数据 set_offline_ext_data
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player_id | number | 玩家uuid |
key | string | 自定义Key |
val | string | 自定义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_id | number | 玩家uuid |
vec_key | OFFLINE_INFO_TYPE[] or string[] | 离线数据key集合 |
call_back | function | 回调 |
str_params | string | 透传参数 |
- | - | - |
- ret: 无
清除玩家额外离线数据 clear_offline_ext_data
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player_id | number | 玩家uuid |
- | - | - |
- ret: 无
设置红点 set_red_point
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
red_point | number | 红点id |
notify | boolean | 是否通知客户端 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
red_point | number | 红点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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
ret: 无
示例:
function isc_test_player:save_db()
local player = module.player
edi.player:save_db(player)
end
player添加定时器 add_timer
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
index_key | string | 标记 |
tick | number | 间隔时间(毫秒) |
count | number | 重复次数 |
callback_func | function | 回调函数 |
callback_data | string? | 回调数据 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
index_key | string | 标记 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
index_key | string | 标记 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
ret: 无
示例:
function isc_test_player:send_attr_change()
local player = module.player
edi.player:send_attr_change(player)
end
充值接口 recharge
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
product | string | 充值商品 |
custom_data | string | 用户自定义透传数据 |
is_real | 1 or 0 | =1真实充值 =0扶持充值(直接发货) |
resource | string | 原因 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
show | player_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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
id | number | 显示信息id |
- | - | - |
ret:
player_show_info
显示信息对象(player_show_info结构)示例:
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
type | OUTLOOK_TYPE | 外观显示类型 |
val | number | 外观显示类型对应值 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
type | OUTLOOK_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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
color | integer | 颜色 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象(爆出装备的玩家对象) |
attacker | userdata | 攻击者 |
bag_type | string | 背包类型 |
item_list | table | {item_info} 道具列表 |
reason | string | undefined |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
drop_id_list | integer[] | 掉落id 列表 {id1, id2} |
coefficient | integer | 系数 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
panel_index | PANEL_INDEX | 面板index |
close | boolean? | 是否执行关闭 |
- | - | - |
- ret: 无
打开/关闭自动战斗 operator_auto_game
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
open | boolean? | 是否执行开启 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
item_uuid | integer | 道具uid |
num | integer | 使用数量 |
use_type | E_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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
item_uuid_list | table | {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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
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:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
- | - | - |
- ret:
slaver_list
table {creature} 随从对象列表
获取指定随从模式 get_slaver_mode
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
slaver | userdata | 随从对象(pet,monster) |
- | - | - |
- ret:
mode
模式(0:锁定 1:休息 2:跟随 3:战斗)
设置指定随从模式 set_slaver_mode
- args:
名字 | 类型 | 说明、描述 |
---|---|---|
player | userdata | 玩家对象 |
slaver | userdata | 随从对象(pet,monster) |
mode | number | 模式(0:锁定 1:休息 2:跟随 3:战斗) |
- | - | - |
- ret:
boolean
是否成功