player
<p>[TOC]</p>
<h3>封禁角色</h3>
<pre><code>---@param name string 玩家名称
---@param day number 封禁天数
---@param desc string 封禁描述
---@param iskick boolean 是否踢下线
---@return number 1.玩家在线已成功封禁; 2.玩家离线已成功封禁;
player:set_banned(name,day,desc,iskick)</code></pre>
<h3>解封角色</h3>
<pre><code>---@param name string 玩家名称
player:set_unbanned(name)</code></pre>
<h3>检测是否封禁</h3>
<pre><code>---@param actor any 玩家对象
---@return boolean 是否被封禁
player:check_banned(actor)</code></pre>
<h3>增加键值变量值</h3>
<pre><code>function player:add_key_value(actor,id,key,value,isReturn)
---增加键值变量值
---@param actor any 玩家对象
---@param id number 变量ID
---@param key any 键
---@param value any 值
---@param isReturn boolean 是否返回新的值
---@return number 增加后的变量值
end</code></pre>
<h3>增加变量值</h3>
<pre><code>function player:add_param(actor,id,value,isReturn)
---增加变量值
---@param actor any 玩家对象
---@param id number 变量id
---@param value any 变量value
---@param isReturn number 是否返回新的值
---@return number 当前变量值
end
### 通过idx获取属性数据</code></pre>
<p>player:getAttDataByid(idx)</p>
<pre><code>
### 检测玩家战斗状态 true是攻击状态</code></pre>
<p>player:check_attack_state(actor)</p>
<pre><code>
### 根据id获取npc名字</code></pre>
<p>player:get_npc_name(npcid)</p>
<pre><code>
### 获取装备AniCount值</code></pre>
<p>player:get_equip_aniCount(idx)</p>
<pre><code>
### 推送table数据到前端</code></pre>
<p>player:push_lua_table(actor,cmd,tab})</p>
<pre><code></code></pre>
<p> 推送table数据到前端
actor 玩家对象
cmd 模块名称
tab table数据
player:push_lua_table(actor,cls.name,{action="",data={}})</p>
<pre><code>
### 推送json数据到前端</code></pre>
<p>player:push_lua_json(actor,cmd,param)</p>
<pre><code>
### 推送参数到前端</code></pre>
<p>player:push_lua_param(actor,name,arg1,arg2,arg3)</p>
<pre><code>
### 获取玩家货币数量</code></pre>
<p>player:get_pay_money(actor,id)</p>
<pre><code>
### 设置玩家货币数量</code></pre>
<p>player:set_pay_money(actor,id,value,desc)</p>
<pre><code>
### 增加玩家货币数量</code></pre>
<p>player:add_pay_money(actor,id,value,desc)</p>
<pre><code>
### 获取充值点</code></pre>
<p>player:get_pay_point(actor,id,isPoint)</p>
<pre><code>
### 获取每日真实充值金额</code></pre>
<p>player:get_daily_pay(actor)</p>
<pre><code>
### 获取累计真实充值天数</code></pre>
<p>player:get_pay_day(actor)</p>
<pre><code>
### 获取变量</code></pre>
<p>player:get_param(actor,id)</p>
<pre><code>
### 设置变量</code></pre>
<p>player:set_param(actor,id,value)</p>
<pre><code>
### 清理个人自定义变量</code></pre>
<p>player:clear_param(actor,id)</p>
<pre><code>
### 设置临时变量(下线不保存)</code></pre>
<p>player:set_temp_param(actor,name,key,value)</p>
<pre><code>
### 获取临时变量(下线不保存)</code></pre>
<p>player:get_temp_param(actor,name,key)</p>
<pre><code>
### 检查多个变量是否满足条件</code></pre>
<p>player:check_params(actor,vars)</p>
<pre><code></code></pre>
<p> 检查多个变量是否满足条件
actor 玩家对象
vars table = {{变量ID,变量值},{变量ID,变量值}}
table = {{变量ID,key,变量值},{变量ID,,key,变量值}}
table = {{变量ID,变量值},{变量ID,,key,变量值}}</p>
<pre><code>### 获取排序后的自定义变量</code></pre>
<p>player:get_sort_param(id,type,sort,count)</p>
<pre><code></code></pre>
<p> id 变量ID
type 0.所有玩家; 1.在线玩家; 2.本行会玩家
sort 0.升序; 1.降序;
count 获取前几名,0或nil取所有玩家</p>
<pre><code>### 获取自定义变量当前排名</code></pre>
<p>player:get_rank_param(actor,id,type,sort)</p>
<pre><code></code></pre>
<p> id 变量ID
type 0.所有玩家; 1.在线玩家;
sort 0.升序; 1.降序;</p>
<pre><code>### 获取键值变量</code></pre>
<p>player:get_key_value(actor,id,key)</p>
<pre><code>
### 设置键值变量</code></pre>
<p>player:set_key_value(actor,id,key,value)</p>
<pre><code>
### 获取公会变量</code></pre>
<p>player:get_guild_param(actor,id)</p>
<pre><code>
### 设置公会变量</code></pre>
<p>player:set_guild_param(actor,id,value)</p>
<pre><code>
### 获取公会键值变量</code></pre>
<p>player:get_guild_key_value(actor,id,key)</p>
<pre><code>
### 设置公会键值变量</code></pre>
<p>player:set_guild_key_value(actor,id,key,value)</p>
<pre><code>
### 检测是否封禁</code></pre>
<p>player:check_banned(actor)</p>
<pre><code>
### 封禁角色</code></pre>
<p>player:set_banned(actor)</p>
<pre><code>
### 解封角色</code></pre>
<p>player:set_unbanned(actor)</p>
<pre><code>
### 检测条件</code></pre>
<p>player:check_condi(actor,id,isAlert)</p>
<pre><code>
### 调转超链</code></pre>
<p>player:jump_link(actor,id,data)</p>
<pre><code>
### 获取寻路目标点x</code></pre>
<p>player:get_to_pointx(actor)</p>
<pre><code>
### 获取寻路目标点y</code></pre>
<p>player:get_to_pointy(actor)</p>
<pre><code>
### 发送邮件</code></pre>
<p>player:send_mail(actor,id,awards,double,...)</p>
<pre><code></code></pre>
<p> actor 玩家对象
id 邮件ID,关联cfg_ManageMail表
awards 奖励物品二维数组
double 奖励倍数,默认1</p>
<pre><code>### 发送自定义邮件</code></pre>
<p>player:send_custom_mail(actor,id,title,awards,content)</p>
<pre><code></code></pre>
<p> actor 玩家对象 或 #玩家名称
id 邮件ID
title 邮件标题
awards 奖励物品
content 邮件内容</p>
<pre><code>### 延时回调</code></pre>
<p>player:goto_func(actor,time,funcname)</p>
<pre><code></code></pre>
<p> actor 玩家对象
time 延时时间,单位秒
funcname 字符串函数名称(不可以有大写字母)</p>
<pre><code>### 删除延时回调</code></pre>
<p>player:remove_goto_func(actor,funcname)</p>
<pre><code>
### 设置玩家基础信息</code></pre>
<p>player:set_base_info(actor,id,value)</p>
<pre><code>
### 以某个坐标点,检查角色范围</code></pre>
<p>player:check_range(actor,x,y,r)</p>
<pre><code>
### 获取角色战斗力</code></pre>
<p>player:get_attr_count(actor)</p>
<pre><code>
### 获取玩家在线时间</code></pre>
<p>player:get_online_time(actor)</p>
<pre><code>
### 获取今日在线时间(单位秒)</code></pre>
<p>player:get_today_online_time(actor)</p>
<pre><code>
### 获取玩家累计在线时间</code></pre>
<p>player:get_online_time_count(actor)</p>
<pre><code>
### 获取玩家离线时间</code></pre>
<p>player:get_leave_time(actor)</p>
<pre><code>
### 是否玩家(true:玩家)</code></pre>
<p>player:is_player(actor)</p>
<pre><code>
### 是否活着(true:活着状态)</code></pre>
<p>player:is_alive(actor)</p>
<pre><code>
### 获取角色名称</code></pre>
<p>player:get_name(actor)</p>
<pre><code>
### 获取角色唯一ID,返回字符串</code></pre>
<p>player:get_user_id(actor)</p>
<pre><code>
### 获取当前所在地图</code></pre>
<p>player:get_map_id(actor)</p>
<pre><code>
### 获取当前坐标</code></pre>
<p>player:get_pos(actor)</p>
<pre><code>
### 获取当前所在地图信息</code></pre>
<p>player:get_map_info(actor)</p>
<pre><code></code></pre>
<p> 返回值 table {mapId,x,y}</p>
<pre><code>### 获取角色等级</code></pre>
<p>player:get_level(actor)</p>
<pre><code>
### 设置角色等级</code></pre>
<p>player:set_level(actor,level)</p>
<pre><code>
### 增加角色等级</code></pre>
<p>player:add_level(actor,level)</p>
<pre><code>
### 减少角色等级</code></pre>
<p>player:sub_level(actor,level)</p>
<pre><code>
### 锁定玩家等级</code></pre>
<p>player:lock_level(actor,type,level)</p>
<pre><code></code></pre>
<p> actor 玩家对象
type 0.解除锁定; 1.锁定到达最大等级时并且不获取怪物经验; 2.锁定到达最大等级时累积经验(int64)</p>
<pre><code>
### 获取角色职业(0-战 1-法 2-道)</code></pre>
<p>player:get_job(actor)</p>
<pre><code>
### 设置角色职业(0-战 1-法 2-道)</code></pre>
<p>player:set_job(actor,job)</p>
<pre><code>
### 获取角色性别(1男,2女)</code></pre>
<p>player:get_gender(actor)</p>
<pre><code>
### 设置角色性别(1男,2女)</code></pre>
<p>player:set_gender(actor,gender)</p>
<pre><code>
### 获取生命值百分比</code></pre>
<p>player:get_cur_per_hp(actor)</p>
<pre><code>
### 获取角色当前hp</code></pre>
<p>player:get_cur_hp(actor)</p>
<pre><code>
### 设置人物当前血量</code></pre>
<p>player:set_hp(actor,value)</p>
<pre><code>
### 设置人物当前血量百分比</code></pre>
<p>player:set_hp_per(actor,value)</p>
<pre><code>
### 增加人物当前血量</code></pre>
<p>player:add_hp(actor,value)</p>
<pre><code>
### 减少人物当前血量</code></pre>
<p>player:sub_hp(actor,value)</p>
<pre><code>
### 设置人物满血</code></pre>
<p>player:set_full_hp(actor)</p>
<pre><code>
### 获取角色当前hp最大值</code></pre>
<p>player:get_max_hp(actor)</p>
<pre><code>
### 获取角色当前mp</code></pre>
<p>player:get_cur_mp(actor)</p>
<pre><code>
### 设置人物当前mp</code></pre>
<p>player:set_mp(actor,value)</p>
<pre><code>
### 增加人物当前mp</code></pre>
<p>player:add_mp(actor,value)</p>
<pre><code>
### 减少人物当前mp</code></pre>
<p>player:sub_mp(actor,value)</p>
<pre><code>
### 设置人物满mp</code></pre>
<p>player:set_full_mp(actor)</p>
<pre><code>
### 获取角色当前mp最大值</code></pre>
<p>player:get_max_mp(actor)</p>
<pre><code>
### 获取角色当前经验值</code></pre>
<p>player:get_cur_exp(actor)</p>
<pre><code>
### 获取角色当前最大经验值</code></pre>
<p>player:get_max_exp(actor)</p>
<pre><code>
### 设置人物经验值</code></pre>
<p>player:set_exp(actor,exp)</p>
<pre><code>
### 增加人物经验值</code></pre>
<p>player:add_exp(actor,exp,isItem)</p>
<pre><code>
### 扣除人物经验值</code></pre>
<p>player:remove_exp(actor,exp)</p>
<pre><code>
### 获取角色防御下限</code></pre>
<p>player:get_ac_min(actor)</p>
<pre><code>
### 获取角色魔防上限</code></pre>
<p>player:get_mac_max(actor)</p>
<pre><code>
### 获取角色物攻下限</code></pre>
<p>player:get_dc_min(actor)</p>
<pre><code>
### 获取角色物攻上限</code></pre>
<p>player:get_dc_max(actor)</p>
<pre><code>
### 获取角色魔攻下限</code></pre>
<p>player:get_mc_min(actor)</p>
<pre><code>
### 获取角色魔攻上限</code></pre>
<p>player:get_mc_max(actor)</p>
<pre><code>
### 获取角色道攻下限</code></pre>
<p>player:get_sc_min(actor)</p>
<pre><code>
### 获取角色道攻上限</code></pre>
<p>player:get_sc_max(actor)</p>
<pre><code>
### 获取角色幸运值</code></pre>
<p>player:get_luck(actor)</p>
<pre><code>
### 获取角色HP恢复</code></pre>
<p>player:get_regain_hp(actor)</p>
<pre><code>
### 获取角色MP恢复</code></pre>
<p>player:get_regain_mp(actor)</p>
<pre><code>
### 获取角色中毒恢复</code></pre>
<p>player:get_regain_bane(actor)</p>
<pre><code>
### 获取角色毒物躲避</code></pre>
<p>player:get_bane_avoid(actor)</p>
<pre><code>
### 获取角色魔法躲避</code></pre>
<p>player:get_mac_avoid(actor)</p>
<pre><code>
### 获取角色准确</code></pre>
<p>player:get_accurate(actor)</p>
<pre><code>
### 获取角色敏捷</code></pre>
<p>player:get_agile(actor)</p>
<pre><code>
### 设置角色敏捷</code></pre>
<p>player:set_agile(actor,value)</p>
<pre><code>
### 获取角色发型</code></pre>
<p>player:get_hair(actor)</p>
<pre><code>
### 立即杀死角色</code></pre>
<p>player:kill(actor,target)</p>
<pre><code>
### 获取队伍成员数量</code></pre>
<p>player:get_team_num(actor)</p>
<pre><code>
### 获取行会名</code></pre>
<p>player:get_guild_name(actor)</p>
<pre><code>
### 是否是行长</code></pre>
<p>player:is_leader(actor)</p>
<pre><code>
### 获取转生等级</code></pre>
<p>player:get_rein_level(actor)</p>
<pre><code>
### 设置转生等级</code></pre>
<p>player:set_rein_level(actor,level)</p>
<pre><code>
### 获取杀怪经验倍数</code></pre>
<p>player:get_exp_rate(actor)</p>
<pre><code>
### 设置杀怪经验倍数</code></pre>
<p>player:set_exp_rate(actor,value)</p>
<pre><code>
### 获取杀怪经验时间</code></pre>
<p>player:get_exp_time(actor)</p>
<pre><code>
### 设置杀怪经验时间</code></pre>
<p>player:set_exp_time(actor,time)</p>
<pre><code>
### 获取杀怪爆率倍数</code></pre>
<p>player:get_drop_rate(actor)</p>
<pre><code>
### 设置杀怪爆率倍数</code></pre>
<p>player:set_drop_rate(actor,value)</p>
<pre><code>
### 获取被传回原来地图的时间</code></pre>
<p>player:get_call_time(actor)</p>
<pre><code>
### 获取复活时间</code></pre>
<p>player:get_revive_time(actor)</p>
<pre><code>
### 获取地图玩家列表</code></pre>
<p>player:get_map_plays(map,die,dumy)</p>
<pre><code>
### 获取当前地图名称</code></pre>
<p>player:get_map_name(actor)</p>
<pre><code>
### 获取当前地图ID</code></pre>
<p>player:get_cur_map(actor,isTemp)</p>
<pre><code>
### 获取当前pk值</code></pre>
<p>player:get_pk_value(actor)</p>
<pre><code>
### 设置当前pk值</code></pre>
<p>player:set_pk_value(actor,value)</p>
<pre><code>
### 是否是新角色</code></pre>
<p>player:is_new_role(actor)</p>
<pre><code>
### 是否是安全区</code></pre>
<p>player:is_safe(actor)</p>
<pre><code>
### 是否在摆摊中</code></pre>
<p>player:is_stall(actor)</p>
<pre><code>
### 停止摆摊</code></pre>
<p>player:stop_stall(actor)</p>
<pre><code>
### 是否在交易中</code></pre>
<p>player:is_trade(actor)</p>
<pre><code>
### 获取玩家移动状态</code></pre>
<p>player:get_move_state(actor)</p>
<pre><code>
### 设置目标移动状态</code></pre>
<p>player:set_move_state(actor,type,time,target)</p>
<pre><code></code></pre>
<p> type 模式:0.恢复默认; 1.穿人; 2.穿怪; 3.穿人穿怪;
time 时间(秒)
target 对象: 0.玩家; 1.宝宝; (默认玩家)</p>
<pre><code>### 设置玩家移动状态</code></pre>
<p>player:set_state(actor,state)</p>
<pre><code></code></pre>
<p>设置玩家移动状态(穿人/怪方式 0=恢复/1=穿人/2=穿怪/3=穿人穿怪)</p>
<pre><code>### 获取登录状态 (0:正常,1:断线重连)</code></pre>
<p>player:get_login_state(actor)</p>
<pre><code>
### 通过玩家名称获取玩家对象</code></pre>
<p>player:get_actor_by_name(name)</p>
<pre><code>
### 通过玩家唯一ID获取玩家对象</code></pre>
<p>player:get_actor_by_id(userid)</p>
<pre><code>
### 获取累计登录天数</code></pre>
<p>player:get_login_day(actor)</p>
<pre><code>
### 检测玩家是否在线</code></pre>
<p>player:is_online(actor)</p>
<pre><code>
### 获取玩家Idx</code></pre>
<p>player:get_idx(actor)</p>
<pre><code>
### 获取角色名称颜色</code></pre>
<p>player:get_name_color(actor)</p>
<pre><code>
### 设置角色名称颜色</code></pre>
<p>player:set_name_color(actor,color)</p>
<pre><code>### 设置角色外观</code></pre>
<p>player:set_role_view(actor,type,animId,time,param1,param2)</p>
<pre><code></code></pre>
<p> actor 玩家对象
type 0.衣服;1.武器;2.衣服特效(翅膀);3.武器特效;4.盾牌;5.盾牌特效;6.左手武器;7.左手武器特效
animId 特效ID,-1表示清除
time 有效时间(单位秒)
param1 仅在type为0时有效,0.覆盖时装外观;1.时装外观优先;
param2 仅在type为0时有效,0.斗笠和头发不变;1.隐藏斗笠;2.隐藏头发;3.隐藏斗笠和头发;5.隐藏盾牌和特效</p>
<pre><code>### 移除角色外观</code></pre>
<p>player:remove_role_view(actor,type)</p>
<pre><code></code></pre>
<p> actor 玩家对象
type 0.衣服;1.武器;2.衣服特效(翅膀);3.武器特效;4.盾牌;5.盾牌特效;6.左手武器;7.左手武器特效</p>
<pre><code>### 设置角色衣服外观</code></pre>
<p>player:set_cloth_view(actor,animId,time,viewType,showType)</p>
<pre><code></code></pre>
<p> actor 玩家对象
animId 特效ID
viewType 0.覆盖时装外观;1.时装外观优先;
showType 隐藏类型,0.斗笠和头发不变;1.隐藏斗笠;2.隐藏头发;3.隐藏斗笠和头发;5.隐藏盾牌和特效</p>
<pre><code>### 移除角色外观</code></pre>
<p>player:remove_cloth_view(actor)</p>
<pre><code>
### 获取最后杀死的怪物Index</code></pre>
<p>player:get_kill_mon(actor)</p>
<pre><code>
### 设置武器外观</code></pre>
<p>player:set_weapon_view(actor,animId,time)</p>
<pre><code>
### 移除武器外观</code></pre>
<p>player:remove_weapon_view(actor)</p>
<pre><code>
### 设置衣服外观</code></pre>
<p>player:set_cloth_anim(actor,animId,time)</p>
<pre><code>### 移除角色衣服外观特效</code></pre>
<p>player:remove_cloth_anim(actor)</p>
<pre><code>
### 设置角色护盾外观</code></pre>
<p>player:set_hudun_view(actor,animId,time)</p>
<pre><code></code></pre>
<p> actor 玩家对象
animId 特效ID
time 有效时间(单位秒)</p>
<pre><code>
### 移除角色护盾外观特效</code></pre>
<p>player:remove_hudun_view(actor)</p>
<pre><code></code></pre>
<p> actor 玩家对象</p>
<pre><code>
### 设置角色护盾外观特效</code></pre>
<p>player:set_hudun_anim(actor,animId,time)</p>
<pre><code></code></pre>
<p> actor 玩家对象
animId 特效ID
time 有效时间(单位秒)</p>
<pre><code>
### 移除角色护盾外观特效</code></pre>
<p>player:remove_hudun_anim(actor)</p>
<pre><code>
### 设置角色武器外观特效</code></pre>
<p>player:set_weapon_anim(actor,animId,time)</p>
<pre><code></code></pre>
<p> actor 玩家对象
animId 特效ID
time 有效时间(单位秒)</p>
<pre><code>
### 移除角色武器外观特效</code></pre>
<p>player:remove_weapon_anim(actor)</p>
<pre><code>
### 设置角色左手武器外观</code></pre>
<p>player:set_weapon_view_left(actor,animId,time)</p>
<pre><code></code></pre>
<p> actor 玩家对象
animId 特效ID
time 有效时间(单位秒)</p>
<pre><code>### 移除角色左手武器外观</code></pre>
<p>player:remove_weapon_view_left(actor)</p>
<pre><code>
### 设置角色左手武器外观特效</code></pre>
<p>player:set_weapon_anim_left(actor,animId,time)</p>
<pre><code>
### 移除角色左手武器外观特效</code></pre>
<p>player:remove_weapon_anim_left(actor)</p>
<pre><code>
### 移除角色身上播放特效</code></pre>
<p>player:remove_role_anim(actor,animId)</p>
<pre><code>
### 杀怪</code></pre>
<p>player:kill_monster(actor,mon,isDrop,isKill,showdie)</p>
<pre><code>
### 杀怪物品再爆</code></pre>
<p>player:kill_mon_drop(actor,count)</p>
<pre><code>
### 获取时装显示状态(0=不显示 1=显示)</code></pre>
<p>player:get_fashion_state(actor)</p>
<pre><code>
### 设置时装显示状态(0=不显示 1=显示)</code></pre>
<p>player:set_fashion_state(actor,state)</p>
<pre><code>
### 获取主人对象</code></pre>
<p>player:get_master_obj(actor)</p>
<pre><code>
### 是否在攻城区域</code></pre>
<p>player:is_war_space(actor,isCell)</p>
<pre><code>
### 是否为离线挂机状态</code></pre>
<p>player:is_off_line(actor)</p>
<pre><code>
### 获取怪物表是否是Boss (怪物表 23列 为1是boss)</code></pre>
<p>player:get_mon_isBoss(mobObj)</p>
<pre><code>
### 获取怪物表自定义常量(25列)</code></pre>
<p>player:get_mon_config(mobObj)</p>
<pre><code>
### 获取对象当前的身体颜色值</code></pre>
<p>player:get_obj_color(actor)</p>
<pre><code>
### 设置对象当前的身体颜色值</code></pre>
<p>player:set_obj_color(actor,color)</p>
<pre><code>
### 获取对象的回城地图</code></pre>
<p>player:get_back_map(actor)</p>
<pre><code>
### 设置对象状态</code></pre>
<p>player:set_obj_state(actor,type,time,value)</p>
<pre><code></code></pre>
<p> actor 玩家/怪物 对象
type 类型(0=绿毒 1=红毒 5=麻痹 12=冰冻 13= 蛛网 其他无效)
time 时间(秒)
value 威力,只针对绿毒有用</p>
<pre><code>### 调用引擎游戏面板</code></pre>
<p>player:open_hyperlink(actor,id,state)</p>
<pre><code></code></pre>
<p> state 0=打开,1=打开面板重复点按钮不会关闭,除非主动点关闭按钮(一般做任务配合新手引导用到),2=关闭当前面板ID</p>
<pre><code>### 打开仓库面板</code></pre>
<p>player:open_depot(actor)</p>
<pre><code>
### 解锁仓库新格子</code></pre>
<p>player:add_depot_cell(actor,count)</p>
<pre><code>
### 获取仓库所有物品</code></pre>
<p>player:get_depot_item_list(actor)</p>
<pre><code>
### 获取仓库剩余格子数</code></pre>
<p>player:get_depot_blank(actor)</p>
<pre><code>
### 获取仓库最大格子数</code></pre>
<p>player:get_depot_size(actor)</p>
<pre><code>
### 获取仓库所有物品,返回以物品Idx为key得数据</code></pre>
<p>player:get_depot_items(actor)</p>
<pre><code>
### 获取仓库所有物品,返回以物品唯一ID为key得数据</code></pre>
<p>player:get_depot_makes(actor)</p>
<pre><code>
### 通过物品Idx检查仓库是否有该物品</code></pre>
<p>player:check_depot_by_id(actor,itemId)</p>
<pre><code>
### 通过物品唯一ID检查仓库是否有该物品</code></pre>
<p>player:check_depot_by_makeid(actor,makeid)</p>
<pre><code>
### 通过物品Idx移除仓库物品(删除所有IDX物品)</code></pre>
<p>player:remove_depot_item(actor,itemId)</p>
<pre><code>
### 开启自动挂机</code></pre>
<p>player:start_play(actor)</p>
<pre><code>
### 停止自动挂机</code></pre>
<p>player:stop_play(actor)</p>
<pre><code>
### 播放声音</code></pre>
<p>player:play_sound(actor,idx,time,flag)</p>
<pre><code></code></pre>
<p> idx 播放文件的索引
time 循环播放次数
flag 播放模式:0.播放给自己 1.播放给全服 2.播放给同一地图 4.播放给同屏人物
</p>
<pre><code>### 在事件触发前停止操作</code></pre>
<p>player:stop(actor)</p>
<pre><code></code></pre>
<p> 在事件触发前停止操作
针对以下事件有效
canopenbox, stdmodefunc, updateguildnotice, getexp,triggerchat, magselffunc(合击技能)</p>
<pre><code>
### 拉起充值</code></pre>
<p>player:push_pay(actor,money,type,flagId)</p>
<pre><code></code></pre>
<p> money 充值金额
type 充值方式 1(支付宝),2(花呗),3(微信)
flagId 充值货币ID
比如:你后台配置的flagid为 1:10元宝,对应的ID为2,那么下面的拉起充值填写flagid 必须为2</p>
<pre><code>
### 执行GM命令</code></pre>
<p>player:game_master(actor,cmd,...)</p>
<pre><code>
### 获取分辨率宽度</code></pre>
<p>player.width(actor)</p>
<pre><code>
### 获取分辨率高度</code></pre>
<p>player.height(actor)</p>
<pre><code>
### 在屏幕上播放特效</code></pre>
<p>player:play_animate(actor,id,animaId,x,y,speed,time,type)</p>
<pre><code></code></pre>
<p> id 创建的特效编号
animaId 特效ID
x 在屏幕上的X坐标
y 在屏幕上的Y坐标
speed 播放速度
time 播放次数 0(持续播放)
type 播放模式 0(自己) 1(所有人)</p>
<pre><code>### 移除特效</code></pre>
<p>player:remove_animate(actor,id,type)</p>
<pre><code></code></pre>
<p> type 播放模式 0(自己) 1(所有人)</p>
<pre><code>### 获取脚本常量</code></pre>
<p>player:get_const(actor,name)</p>
<pre><code>### 获取BUFF基础信息,cfg_buff表配置的信息</code></pre>
<p>player:get_buff_base_info(buffId,type)</p>
<pre><code></code></pre>
<p> buffId buffID
type 0.idx; 1.名称; 2.组别; 3.配置时间; 4.配置属性;
返回值 对应值,不存在返回0</p>
<pre><code>### 获取BUFF信息</code></pre>
<p>player:get_buff_info(actor,buffId,type)</p>
<pre><code></code></pre>
<p> 获取BUFF信息
actor 玩家对象
buffId BUFFID
type 1.叠加层数; 2.剩余时间; 3.获取施法者对象(对象离线返回nil); 4.获取额外属性;</p>
<pre><code>### 获取buff的id</code></pre>
<p>player:get_buff_id(name)</p>
<pre><code>
### 添加buff</code></pre>
<p>player:add_buff(actor,id,time,overlay,objowner,attr)</p>
<pre><code></code></pre>
<p> actor 玩家/怪物(对象)
id buff id,10000以后
time 时间,对应buff表里维护的单位
overlay 叠加层数,默认1
objowner 施放者
attr 属性表 {[1]=200, [4]=20} 属性id=值
返回值:bool</p>
<pre><code>
### 设置buff属性</code></pre>
<p>player:set_buff_attr(actor,value,array,time)</p>
<pre><code></code></pre>
<p> actor 玩家/怪物(对象)
value BUFFID或BUFF名称
time 时间,对应buff表里维护的单位,可空
array 属性二维数组 {
[1] = {
[1] = id, 属性ID
[2] = value, 属性值
},
}
返回值:bool</p>
<pre><code>
### 移除buff</code></pre>
<p>player:remove_buff(actor,id)</p>
<pre><code>
### 检查玩家是否有该buff</code></pre>
<p>player:check_buff(actor,id)</p>
<pre><code>
### 检查buff数组(一维),全部满足返回true</code></pre>
<p>player:check_buffs(actor,buffs)</p>
<pre><code></code></pre>
<p> actor 玩家对象
buffs = {buffId,buffId,buffId}</p>
<pre><code>
### 检查buff数组(一维),满足一个返回true</code></pre>
<p>player:check_buffsex(actor,buffs)</p>
<pre><code></code></pre>
<p>buffs = {buffId,buffId,buffId}</p>
<pre><code>### 获取buff信息</code></pre>
<p>player:get_buff(actor,id,type)</p>
<pre><code></code></pre>
<p> id buff id,10000以后
type 类型,1:叠加层数 2:剩余时间(单位跟配置一致) </p>
<pre><code>
### 获取角色所有buff</code></pre>
<p>player:get_buff_list(actor)</p>
<pre><code>
### 通过字符串设置对应属性值</code></pre>
<p>player:set_attr_list(actor,name,attr,type)</p>
<pre><code>
### 检查玩家名称</code></pre>
<p>player:check_name(actor,name)</p>
<pre><code></code></pre>
<p> 0.可以使用
1.2.6名称被过滤
3.名字已经存在
5.长度不符合要求</p>
<pre><code>### 修改玩家名称</code></pre>
<p>player:set_name(actor,name)</p>
<pre><code>
### 刷新角色属性</code></pre>
<p>player:fresh_role_attr(actor)</p>
<pre><code>
### 获取人物永久属性</code></pre>
<p>player:get_role_attr(actor,id)</p>
<pre><code>
### 设置人物永久属性</code></pre>
<p>player:set_attr(actor,id,value)</p>
<pre><code>
### 获取人物临时属性</code></pre>
<p>player:get_temp_attr(actor,id)</p>
<pre><code>
### 设置人物临时属性</code></pre>
<p>player:set_temp_attr(actor,id,value,modelName,time,double)</p>
<pre><code>
### 增加人物临时属性</code></pre>
<p>player:add_temp_attr(actor,id,value,modelName,time,double)</p>
<pre><code>
### 减少人物临时属性</code></pre>
<p>player:sub_temp_attr(actor,id,value,modelName,time,double)</p>
<pre><code>
### 获取自定义属性,不过滤临时属性</code></pre>
<p>player:get_custom_attr(actor,attrId)</p>
<pre><code>
### 获取基础属性,过滤临时属性(cfg_att_score.xls设置:1-91,200~249)</code></pre>
<p>player:get_base_attr(actor,attrId)</p>
<pre><code>
### 获取属性,基础属性+临时属性(cfg_att_score.xls设置:1-91,200~249)</code></pre>
<p>player:get_base_attr_count(actor,attrId)</p>
<pre><code>
### 获取人物标记/标识值[0-799]</code></pre>
<p>player:get_role_flag(actor,index)</p>
<pre><code>
### 设置人物标记/标识值[0-799]</code></pre>
<p>player:set_role_flag(actor,index,value)</p>
<pre><code>
### 设置人物模式</code></pre>
<p>player:set_role_mode(actor,mode,time,param1,param2)</p>
<pre><code></code></pre>
<p> param1 参数1 12-13, 18,20,21代表几率,其余代表属性值
param2 参数2,代表属性值</p>
<p> 1=无敌 2=隐身 3=HP 4=MP 5=攻击力 6=魔法力 7=道术力 8=攻击速度 9=禁止攻击 10=锁定
11=禁锢(释放一个类似困魔咒的光圈,敌对人物或怪物只能在这个圈子里移动,无法走出圈子外面,所有传送失效,不能小退)
12=冰冻 13=蛛网 14=防麻痹 15=防禁锢 16=防冰冻 17=防蛛网 18=麻痹 19=护身
20=吸血 21=吸蓝 22=隐身 23=复活 24=破复活 25=0防御 26=0魔防
第三个参数无敌,隐身,禁止攻击时没有使用.
如果是禁锢时,第三个参数表示禁锢范围</p>
<pre><code>### 顶戴花翎</code></pre>
<p>player:set_icon(actor,pos,type,id,x,y,auto,isAll,posM)</p>
<pre><code></code></pre>
<p> pos 位置0-9
type 播放类型,0图片,1特效
id 特效id或图片名称
auto 自动补全空白位置0,1(0=掉 1=不掉)
isAll 是否只有自己看见(0=所有人都可见 1=仅仅自己可见)
posM 0在角色之上,1在角色之下</p>
<pre><code>### 在人物身上播放特效</code></pre>
<p>player:play_role_animate(actor,id,x,y,count,pos,isAll)</p>
<pre><code>
### 移除人物身上播放的特效</code></pre>
<p>player:remove_anim(actor,id)</p>
<pre><code>
### 检测角色状态</code></pre>
<p>player:check_state(actor,type)</p>
<pre><code></code></pre>
<p> 检测角色状态 1.魔法盾;2.护体神盾;3.无极真气;4.幽灵盾;5.神圣战甲术;6.隐身术;7.冰冻;8.麻痹;9.锁定;10.蛛网,11.中毒;</p>
<pre><code>### 设置人物伤害吸收</code></pre>
<p>player:set_suckdamage(actor,sum,rate,prob)</p>
<pre><code></code></pre>
<p> sum 吸收总量
rate 吸收比率(千分比)
prob 吸收成功率</p>
<pre><code>### 增加人物伤害吸收</code></pre>
<p>player:add_suckdamage(actor,sum,rate,prob)</p>
<pre><code>
### 减少人物伤害吸收</code></pre>
<p>player:sub_suckdamage(actor,sum,rate,prob)</p>
<pre><code>
### 穿戴装备</code></pre>
<p>player:wear_item(actor,pos,makeId)</p>
<pre><code>
### 脱下装备</code></pre>
<p>player:take_item(actor,pos,makeId)</p>
<pre><code>
### 是否拥有装备</code></pre>
<p>player:has_item(actor,makeId)</p>
<pre><code>
### 开启首饰盒</code></pre>
<p>player:open_box(actor)</p>
<pre><code>
### 关闭首饰盒</code></pre>
<p>player:close_box(actor)</p>
<pre><code>
### 设置武器、衣服外观</code></pre>
<p>player:set_item_view(actor,itemData,looks)</p>
<pre><code>
### 设置武器特效</code></pre>
<p>player:set_weapon_effect(actor,id,isAll)</p>
<pre><code>
### 设置衣服特效</code></pre>
<p>player:set_cloth_effect(actor,id,isAll)</p>
<pre><code>
### 通过物品唯一id移除物品</code></pre>
<p>player:remove_item_by_makeid(actor,makeIds,count)</p>
<pre><code></code></pre>
<p> makeIds 物品唯一ID,多个id用,分割
count 叠加物品扣除数量,不填此参数,默认全部扣除不可叠加物品全部扣除
return bool</p>
<pre><code>### 使用物品(吃药、使用特殊物品等)</code></pre>
<p>player:use_item(actor,itemName,num)</p>
<pre><code></code></pre>
<p> actor 玩家对象
item 物品ID或物品名称
num 使用次数,默认1次</p>
<pre><code>### 设置物品来源</code></pre>
<p>player:set_item_source(actor,itemData,source)</p>
<pre><code></code></pre>
<p> actor 玩家对象
itemData 物品数据
source = { 来源数据
map = 地图id
source = 来源类型 1.GM生成; 2.NPC; 3.商城; 4.NPC商店; 5.怪物掉落; 6.系统给与; 7.挖矿; 8.批量生成; 9.宝箱;
player = 玩家角色名称
time = 来源时间"2021-11-11 00:00:00"
}</p>
<pre><code>### 获取物品来源</code></pre>
<p>player:get_item_source(actor,itemData)</p>
<pre><code>
### 检测装备的元素属性</code></pre>
<p>player:check_attr_element(actor,pos,attr,flag,value)</p>
<pre><code></code></pre>
<p> 检测装备的元素属性
pos 装备位置:-1-OK框中的装备 0~55-身上的装备
attr 属性
flag 比较符(=<>)
value 数值</p>
<pre><code> (0)暴击几率增加 1~100%
(1)增加攻击伤害 1~100%
(2)物理伤害减少 1~100%
(3)魔法伤害减少 1~100%
(4)忽视目标防御 1~100%
(5)所有伤害反弹 1~100%
(6)增加目标暴率 1~100%
(7)人物体力增加 1~100%
(8)人物魔力增加 1~100%
(11)暴击伤害增加 1~100%</code></pre>
<pre><code>### 设置装备的元素属性</code></pre>
<p>player:set_attr_element(actor,pos,attr,value)</p>
<pre><code></code></pre>
<p> pos 装备位置:-1-OK框中的装备 0~55-身上的装备
attr 属性
flag 比较符(=+-)
value 数值</p>
<pre><code>### 增加装备的元素属性</code></pre>
<p>player:add_attr_element(actor,pos,attr,value)</p>
<pre><code>
### 减少装备的元素属性</code></pre>
<p>player:sub_attr_element(actor,pos,attr,value)</p>
<pre><code>
### 整理背包</code></pre>
<p>player:fresh_bag(actor)</p>
<pre><code>
### 给人物装备面板加特效</code></pre>
<p>player:add_eff_to_equip_panel(actor,effId,pos)</p>
<pre><code></code></pre>
<p> effId 特效ID, 0-删除特效
pos 显示位置:0-前面 1-后面</p>
<pre><code>### 删除装备面板特效</code></pre>
<p>player:remove_eff_from_equip_panel(actor,pos)</p>
<pre><code>
### 获取技能信息</code></pre>
<p>player:get_skill(actor,id,type)</p>
<pre><code></code></pre>
<p> id 技能id
type 1.等级 2强化等级 3熟练度
返回值:属性值,没有技能返回nil</p>
<pre><code>### 设置技能信息</code></pre>
<p>player:set_skill(actor,id,type,value)</p>
<pre><code></code></pre>
<p> id 技能id
type 1.等级 2强化等级 3熟练度
value 等级或点数</p>
<pre><code>### 添加技能</code></pre>
<p>player:add_skill(actor,id,level)</p>
<pre><code>
### 删除技能</code></pre>
<p>player:remove_skill(actor,id)</p>
<pre><code>
### 删除所有技能</code></pre>
<p>player:remove_all_skill(actor)</p>
<pre><code>
### 删除非本职业技能</code></pre>
<p>player:remove_not_job_skill(actor)</p>
<pre><code>
### 通过id获取技能名称</code></pre>
<p>player:get_skill_name(id)</p>
<pre><code>
### 通过名称获取技能id</code></pre>
<p>player:get_skill_id(name)</p>
<pre><code>
### 用脚本命令释放技能</code></pre>
<p>player:release_skill(actor,id,type,level,target,show)</p>
<pre><code></code></pre>
<p> id 技能ID
type 类型:1普通技能,2强化技能
level 技能等级
target 技能对象:1攻击目标,2自身
show 是否显示施法动作 0不显示,1显示</p>
<pre><code>### 设置技能威力</code></pre>
<p>player:set_skill_power(actor,skill,power,type)</p>
<pre><code></code></pre>
<p> actor any 角色
skill string 技能名称
power number 技能威力
type number 类型:0.按照点数计算 1.按照百分比计算</p>
<pre><code>### 设置技能防御</code></pre>
<p>player:set_skill_def(actor,skill,power,type)</p>
<pre><code>
### 设置人物攻击威力备注</code></pre>
<p>player:set_power(actor,rate,time)</p>
<pre><code></code></pre>
<p> rate 攻击威力比率,100=100%
time 有效时间,超过时间恢复正常</p>
<pre><code>
### 获取actor自定义数字变量排名</code></pre>
<p>player:var_sotr_by_self(actor,varId,type,sotr)</p>
<pre><code>
### 添加称号</code></pre>
<p>player:add_title(actor,item,use)</p>
<pre><code></code></pre>
<p> item 称号物品名称或物品ID
use 开启激活,1激活
返回值:是否成功</p>
<pre><code>### 删除称号</code></pre>
<p>player:remove_title(actor,item)</p>
<pre><code>
### 设置显示称号</code></pre>
<p>player:show_title(actor,name)</p>
<pre><code></code></pre>
<p> 设置显示称号
name 称号文本,和名字一起显示</p>
<pre><code>### 检查人物称号</code></pre>
<p>player:check_title(actor,item)</p>
<pre><code></code></pre>
<p> 检查人物称号
item 称号物品名称或称号物品ID</p>
<pre><code>### 获取人物所有称号</code></pre>
<p>player:get_title_list(actor)</p>
<pre><code>
### 添加足迹特效</code></pre>
<p>player:add_foot(actor,animId,model)</p>
<pre><code></code></pre>
<p> actor 玩家对象
animId 特效ID
model 播放模式 0.两步播放; 1.单步播放</p>
<pre><code>### 移除当前足迹特效</code></pre>
<p>player:remove_foot(actor)</p>
<pre><code>
### 设置攻击模式</code></pre>
<p>player:set_pk_mode(actor,mode,isCoerce)</p>
<pre><code>
### 强制修改攻击模式</code></pre>
<p>player:set_pk_mode_ex(actor,mode,time)</p>
<pre><code></code></pre>
<p> mode 攻击模式 -1提前结束强制状态
time 强制切换时间时间</p>
<pre><code> 攻击模式:</code></pre>
<p>0-全体攻击
1-和平攻击
2-夫妻攻击
3-师徒攻击
4-编组攻击
5-行会攻击
6-红名攻击
7-国家攻击
8-阵营攻击</p>
<pre><code>### 获取当前攻击模式</code></pre>
<p>player:get_pk_mode(actor)</p>
<pre><code>
### 设置阵营模式</code></pre>
<p>player:set_camp(actor,camp,type,color)</p>
<pre><code></code></pre>
<p> actor 玩家对象
camp 1.红方;2.蓝方
color 名字颜色ID,默认颜色橙色和蓝色
type 提示加入阵营的类型</p>
<pre><code>### 获取阵营模式</code></pre>
<p>player:get_camp(actor)</p>
<pre><code></code></pre>
<p>获取阵营模式(0.没有加入阵营,1.蓝方;2.红方)</p>
<pre><code>### 获取玩家pk等级</code></pre>
<p>player:get_pk_level(actor)</p>
<pre><code></code></pre>
<p>获取玩家pk等级 0.白名;1.黄名;2.红名;3.灰名;</p>
<pre><code>### 进入地图 不填后三个为随机</code></pre>
<p>player:enter_map(actor,mapId,x,y,range)</p>
<pre><code>
### 创建镜像地图</code></pre>
<p>player:create_temp_map(actor,mapId,mapName,time,backMap,miniMapId,x,y)</p>
<pre><code></code></pre>
<p> mapId 地图ID
mapName 新地图名称
time 有效时间(秒)
bakcMap 回城地图(有效时间结束后,传回去的地图)</p>
<p> 引擎64_23.0628新增
miniMapId 小地图编号
x 回城地图坐标x
y 回城地图坐标y</p>
<pre><code>### 删除镜像地图</code></pre>
<p>player:remove_temp_map(actor,mapId)</p>
<pre><code>
### 通过原地图ID获取镜像地图ID</code></pre>
<p>player:get_temp_map(actor,mapId)</p>
<pre><code>
### 进入镜像地图</code></pre>
<p>player:enter_temp_map(actor,mapId,x,y,range)</p>
<pre><code>
### 检查是否是镜像地图</code></pre>
<p>player:is_temp_map(actor,mapId)</p>
<pre><code>
### 返回上一个地图</code></pre>
<p>player:back_map(actor)</p>
<pre><code>
### 回到最近经过的城市安全区</code></pre>
<p>player:go_home(actor)</p>
<pre><code>
### 回到1大陆主城</code></pre>
<p>player:gohome(actor)</p>
<pre><code></code></pre>
<p>回到1大陆主城,例如:盟重省,关联cfg_ManageGlobal表配置</p>
<pre><code>
### 获取GM权限等级</code></pre>
<p>player:get_gm_level(actor)</p>
<pre><code>
### 复活玩家</code></pre>
<p>player:realive(actor,isHp,isMp)</p>
<pre><code></code></pre>
<p> isHp true满血复活
isMp true满蓝复活</p>
<pre><code>
### 延时跳转</code></pre>
<p>player:delay_goto(actor,time,func,isRemove)</p>
<pre><code></code></pre>
<p> time 时间(毫秒)
func 回调
isRemove 换地图是否删除此延时(0或为空时=不删除 1=删除)</p>
<pre><code>
### 删除延时跳转</code></pre>
<p>player:remove_delay_goto(actor,func)</p>
<pre><code>
### 延时消息跳转</code></pre>
<p>player:delay_goto_msg(actor,time,funcStr)</p>
<pre><code></code></pre>
<p> time 时间(毫秒)
func 回调 通过消息机制实现延时跳转,允许触发函数内嵌跳转,实现多次跳转,需要传递参数,将参数与函数名使用“,”连接。本延时跳转不支持删除。</p>
<pre><code>
### 增加附加伤害效果</code></pre>
<p>player:add_harm(actor,x,y,range,power,type,value,state,targetType,effId)</p>
<pre><code></code></pre>
<p> 增加附加伤害效果
range 影响范围
power 攻击力
type 附加类型:0.无;1.击退;2.冻结;3.麻痹;4.吸血;5.吸蓝;6.真实伤害数值;7.蛛网效果;8.红毒;9.绿毒;10.定身;11.防禁锢;12.最大hp百分比真实伤害;13.当前hp百分比真实伤害
value 附加属性值:1.击退距离;2.冻结时间;3.麻痹时间;4.吸血值;5.吸蓝值;6.真实伤害值;7.蛛网时间;8;红毒时间;9.绿毒时间;10.定身时间(定身时间单位是毫秒);11.防禁锢时间(秒);12.最大hp百分比真实伤害的值;13.当前hp百分比真实伤害的值
state 是否检查防冻结/麻痹/石化/冰冻/蛛网/红毒/绿毒属性 0=直接设置状态;1=检查后设置状态)
targetType 目标类型(0或空=所有目标;1=仅人物;2=仅怪物)
effId 目标身上播放的特效ID</p>
<pre><code>### 人物飘血飘字特效</code></pre>
<p>player:send_eff_font(actor,type,value,target)</p>
<pre><code></code></pre>
<p> 人物飘血飘字特效
actor 飘血飘字的主体,一般为受攻击者
type 显示类型 1.伤害; 2.暴击伤害; 3.弯腰效果; 4.加HP; 5.格挡; 8.扣减HP和MP; 9.伤害; 10.扣减MP; 11.致命一击;
value 显示的数值
target 可看到飘血飘字的主体,一般为攻击者
[actor可以为玩家对象、怪物对象]
[target可以传入字符串“*”表示该飘血飘字特效为广播特效,即视野范围内玩家均可见]</p>
<pre><code>### 设定人物攻击飘血飘字类型</code></pre>
<p>player:set_eff_font_type(actor,type)</p>
<pre><code></code></pre>
<p> actor 玩家对象
type 1.伤害; 2.暴击伤害; 3.弯腰效果; 4.加HP; 5.格挡; 8.扣减HP和MP; 9.伤害; 10.扣减MP; 11.致命一击;
[设定人物飘血飘字类型,传入参数为攻击者,当前攻击飘血时有效,一次设定后,即返回默认值]</p>
<pre><code>### 采集挖矿等进度条操作</code></pre>
<p>player:set_collect(actor,time,funcStr,msg,stop,stopFuncStr)</p>
<pre><code></code></pre>
<p> actor 玩家对象
time 进度条时间(秒)
funcStr 成功后跳转的函数(函数名字符串)
msg 提示消息
stop 能否中断 0.不可中断; 1.可以中断;
stopFuncStr 中断触发的函数(函数名字符串)</p>
<pre><code>### 设置玩家速度</code></pre>
<p>player:set_speed(actor,type,speed)</p>
<pre><code></code></pre>
<p> actor 玩家对象
type 速度类型:1.移动速度; 2.攻击速度; 3.施法速度;
speed 速度等级: -10~10 0为原始速度,+1时间间隔减少10%,-1时间间隔增加10%</p>
<pre><code>### 设置当前攻击目标</code></pre>
<p>player:set_cur_attack_target(actor,target)</p>
<pre><code></code></pre>
<p> actor 玩家或英雄或怪物对象1
target 玩家或英雄或怪物对象2
[将obj1当前的攻击目标设定为obj2]
[注意:玩家实际攻击目标由客户端锁定,以修改当前玩家攻击目标为目的会失效。]</p>
<pre><code>### 增加聊天框顶部气泡</code></pre>
<p>player:add_bubble(actor,id,name,func)</p>
<pre><code></code></pre>
<p> actor 玩家对象
id 气泡ID
name 显示名称
func 函数名(多参数用逗号分割)</p>
<pre><code>### 删除聊天框顶部气泡</code></pre>
<p>player:remove_bubble(actor,id)</p>
<pre><code>
### 获取背包所有物品</code></pre>
<p>player:get_bag_items(actor)</p>
<pre><code>
### 获取背包物品唯一ID为键</code></pre>
<p>player:get_bag_makes(actor)</p>
<pre><code>
### 增加背包格子数量</code></pre>
<p>player:add_bag_cell(actor,count)</p>
<pre><code>
### 获取背包物品总数量</code></pre>
<p>player:get_bag_count(actor)</p>
<pre><code>
### 获取角色背包大小</code></pre>
<p>player:get_bag_size(actor)</p>
<pre><code>
### 设置角色背包格子数</code></pre>
<p>player:set_bag_size(actor,count)</p>
<pre><code>
### 获取背包剩余空格数</code></pre>
<p>player:get_bag_black(actor)</p>
<pre><code>
###获取货币改变之后数量</code></pre>
<p>player:get_cur_money(actor)</p>
<pre><code>
### 遍历背包勾选物品</code></pre>
<p>player:get_select_item(actor)</p>
<pre><code>
### 获取货币改变之前数量</code></pre>
<p>player:get_old_money(actor)</p>
<pre><code>
### 获取货币</code></pre>
<p>player:get_money(actor,id)</p>
<pre><code>
### 设置货币</code></pre>
<p>player:set_money(actor,id,count,desc)</p>
<pre><code>
### 增加货币</code></pre>
<p>player:add_money(actor,id,count,desc)</p>
<pre><code>
### 减少货币</code></pre>
<p>player:sub_money(actor,id,count,desc)</p>
<pre><code>
### 清理货币</code></pre>
<p>player:clear_money(actor,id,desc)</p>
<pre><code>
### 获取物品基础信息</code></pre>
<p>player:get_item_info(actor,itemObj,id)</p>
<pre><code></code></pre>
<p>0:idx
1:名称
2:StdMode
3:Shape
4:重量
5:AniCount
6:最大持久
7:叠加数量
8:价格(price)
9:使用条件
10:使用等级
11:自定义常量(29列)
12:自定义常量(30列)
13:道具颜色</p>
<pre><code>
### 获取物品名称</code></pre>
<p>player:get_item_name(actor,value)</p>
<pre><code>
### 获取物品装备位置</code></pre>
<p>player:get_item_pos(actor,itemId)</p>
<pre><code>
### 获取物品stdmode字段值</code></pre>
<p>player:get_item_stdmode(actor,itemId)</p>
<pre><code>
### 获取背包及身上物品数量(包含货币)</code></pre>
<p>player:get_item_num(actor,itemId,pos)</p>
<pre><code>
### 获取背包物品数量</code></pre>
<p>player:get_item_count(actor,item,model)</p>
<pre><code></code></pre>
<p> actor 玩家对象
item 物品名称或物品ID
model 0.忽略;1.非绑定;2.绑定;</p>
<pre><code>
### 通过物品对象获取物品唯一id</code></pre>
<p>player:get_item_makeid(actor,itemobj)</p>
<pre><code>
### 通过物品对象获取物品id</code></pre>
<p>player:get_item_id(actor,itemobj)</p>
<pre><code>
### 通过物品唯一ID获得物品对象</code></pre>
<p>player:get_item_by_makeid(actor,makeId)</p>
<pre><code>
### 批量给予物品</code></pre>
<p>player:gives_item(actor,items,desc)</p>
<pre><code>
### 给与一些物品</code></pre>
<p>player:give_items(actor,items)</p>
<pre><code>
### 给与物品</code></pre>
<p>player:give_item(actor,item)</p>
<pre><code>
### 给与物品(可设置物品规则)</code></pre>
<p>player:give_item_ex(actor,item,num,bind)</p>
<pre><code>
### 移除物品</code></pre>
<p>player:remove_item(actor,item,desc,type,double,equipPos)</p>
<pre><code></code></pre>
<p> actor 玩家对象
items 物品或货币数组
desc 扣除描述
double 扣除倍数
equipPos 对应装备位,优先扣除身上装备
type 0.所有都扣除; 1.极品不扣除;
返回值:bool</p>
<pre><code>### 移除一些物品</code></pre>
<p>player:remove_items(actor,items,desc,ty,double,equipPos)</p>
<pre><code></code></pre>
<p> actor 玩家对象
items 物品或货币数组
desc 扣除描述
double 扣除倍数
equipPos 对应装备位,优先扣除身上装备
ty 0.所有都扣除; 1.极品不扣除;
返回值: 扣除装备位的位置</p>
<pre><code>### 通过唯一ID删除物品</code></pre>
<p>player:remove_item_by_maid(actor,makeId,count)</p>
<pre><code>
### 通过装备位删除物品</code></pre>
<p>player:remove_item_by_pos(actor,pos)</p>
<pre><code>
### 检测物品数组数量是否足够</code></pre>
<p>player:check_items(actor,items,isAlert,double,equipPos)</p>
<pre><code>
### 通过装备位给予装备直接穿戴</code></pre>
<p>player:give_item_by_pos(actor,pos,name,num,bind)</p>
<pre><code>
### 通过装备位获取装备数据</code></pre>
<p>player:get_item_by_pos(actor,pos)</p>
<pre><code>
### 通过装备对象获取装备位Id</code></pre>
<p>player:get_item_pos_id(actor,item)</p>
<pre><code>
### 通过装备对象获取装备基本信息</code></pre>
<p>player:get_item_base(actor,item,id)</p>
<pre><code>
### 获取物品记录信息</code></pre>
<p>player:get_item_add_value(actor,itemData,type,pos)</p>
<pre><code></code></pre>
<p> actor 玩家对象
itemData 物品对象
type 1,2,3
pos 当type=1,取值范围[0..49] type=2,取值范围[0..19]</p>
<pre><code>### 设置物品记录信息</code></pre>
<p>player:set_item_add_value(actor,itemData,type,pos,value)</p>
<pre><code></code></pre>
<p> actor 玩家对象
itemData 物品对象
type 1,2,3
pos 当type=1,取值范围[0..49] type=2,取值范围[0..19]</p>
<pre><code> type=1对应位置定义(范围:0~49)</code></pre>
<p>0.AC
1.MAC
2.DC
3.MC
4.SC
5.幸运
6.准确
7.敏捷
8.攻击速度
9.魔法躲避
10.毒物躲避
11.体力恢复
12.魔法恢复
13.中毒恢复
15.沙巴克武器升级标记
19.是否有自定义名称
20.物理伤害减少
21.魔法伤害减少
22.忽视目标防御
23.所有伤害反弹
24.人物体力增加
25.人物魔力增加
26.增加目标爆率
27.神 圣
28.强 度
29.诅 咒
30.暴击率
31.暴击伤害
32.攻击伤害
33.神秘戒指 神秘手镯 神秘头盔 三个装备是否被穿戴过 ==> 在 祝福罐, 聚灵珠 这个位置表示是否重置 当前持久为 0
34~39.宠物相关
40~44. 脚本使用
45.投保次数
46.限时道具激活方式
47~48.背包特效与装备内观特效
49.拍卖行相关
type=2对应位置定义(范围:0~19)
0:用来记录剩余时间(秒),到期后,自动销毁,只针对穿着装备/称号
1:物品规则。1.禁止扔 2.禁止交易 4.禁止存 8.禁止修 16.禁止出售 32.禁止爆出 64.丢弃消失 128.死亡必爆 256.禁止拍卖 512.禁止挑战 1024.爆出消失;
2:物品名字颜色
3.装备升级次数或星星数量
4~6.装备初始时,附带特殊属性(Word+Word)共6个
7~17.引擎使用
18.装备自定义属性标记 1代表有自定义属性
19.装备标记,脚本使用,一共32个标记,位运算,注意使用转换成无符号的,当设定值=0,相当于清空所有标记。
type=3对应位置定义(范围:0~31)
装备标记,脚本使用,一共32个标记。设置时,只有识别2进制最低位有效,即设定值=5时,相当于设定值=1。
例如:setitemaddvalue(self,item,3,1,5),设定值=5,支取5的二进制最低位1,相当于setitemaddvalue(self,item,3,1,1)
如果物品对象获取失败,返回-1</p>
<pre><code>### 通过物品对象获取附加属性带组名称</code></pre>
<p>player:get_item_attr(actor,item,value)</p>
<pre><code></code></pre>
<p> actor 玩家对象
item 物品对象
value 属性值格式 3#3#2|3#4#10|3#4#2|3#5#10|3#23#2|3#74#10</p>
<pre><code>### 通过物品对象设置附加属性带组名称</code></pre>
<p>player:set_item_attr(actor,item,value)</p>
<pre><code></code></pre>
<p> actor 玩家对象
item 物品对象
value 属性值格式 3#3#2|3#4#10|3#4#2|3#5#10|3#23#2|3#74#10</p>
<pre><code>
### 通过物品对象批量增加附加属性</code></pre>
<p>player:add_item_attr(actor,item,value)</p>
<pre><code></code></pre>
<p> actor 玩家对象
item 物品对象
value 属性值格式 3#3#2|3#4#10|3#4#2|3#5#10|3#23#2|3#74#10</p>
<pre><code>### 通过物品对象批量减少附加属性</code></pre>
<p>player:sub_item_attr(actor,item,value)</p>
<pre><code></code></pre>
<p> actor 玩家对象
item 物品对象
value 属性值格式 3#3#2|3#4#10|3#4#2|3#5#10|3#23#2|3#74#10</p>
<pre><code>
### 设置物品位置1值(取值范围0-49)</code></pre>
<p>player:set_item_value(actor,itemObj,pos,value)</p>
<pre><code></code></pre>
<p> actor 玩家对象
item 物品对象
value 属性值格式 3#3#2|3#4#10|3#4#2|3#5#10|3#23#2|3#74#10</p>
<pre><code>### 获取物品位置1值(取值范围0-49)</code></pre>
<p>player:get_item_value(actor,itemObj,pos)</p>
<pre><code>
### 设置物品标记</code></pre>
<p>player:set_item_flag(actor,itemObj,flag)</p>
<pre><code>
### 获取物品标记</code></pre>
<p>player:get_item_flag(actor,itemObj)</p>
<pre><code>
### 刷新物品信息</code></pre>
<p>player:fresh_item(actor,itemData)</p>
<pre><code>
### 创建空的自定义属性</code></pre>
<p>player:create_item_custom_attr(actor,itemobj,title,index,color,name)</p>
<pre><code>
### 获取装备自定义属性</code></pre>
<p>player:get_item_custom_attr(actor,itemobj,index)</p>
<pre><code></code></pre>
<p> 返回值 json字符串,失败返回nil</p>
<pre><code>### 设置装备自定义属性</code></pre>
<p>function player:set_item_custom_attrs(actor,itemobj,group,data,title,color,name,send)</p>
<pre><code></code></pre>
<pre><code> actor 玩家
itemobj 物品对象
group: 0~5 属性组</code></pre>
<p> data = { --属性数组
[1] = {
id = 属性ID
value = 属性值
color = 颜色
type = 0.数值; 1.百分比;
show = 显示自定义类名称(cfg_custpro_caption表里面的ID)
row = 所在行
index = 索引,显示顺序
}
}
title 标题
color 颜色
name 自定义物品名称
send 是否刷新到前端</p>
<pre><code>
### 获取装备自定义属性
</code></pre>
<p>-- 参数group 为nil时 返回所有。装备没有自定义属性 返回值为 nil
function player:get_item_custom_attrs(actor,itemobj,group)</p>
<pre><code>
### 设置装备强化等级</code></pre>
<p>player:set_item_up_level(actor,itemobj,level)</p>
<pre><code>
### 获取装备强化等级</code></pre>
<p>player:get_item_up_level(actor,itemobj)</p>
<pre><code>
### 移除装备自定义属性</code></pre>
<p>player:remove_item_custom_attr(actor,itemData,group)</p>
<pre><code></code></pre>
<p> group -1.所有组; 0~5.对应组别;</p>
<pre><code>### 绑定自定义装备属性</code></pre>
<p>player:bind_item_custom_attr(actor,itemData,index,type,value,group)</p>
<pre><code></code></pre>
<p> 绑定自定义装备属性
actor 玩家对象
itemData 物品对象
index 属性位置(0~9)每个装备可以自定义10个属性
type 绑定类型(0~4)
value 绑定的值
group 显示分类位置(0~2 ;为空默认为0)</p>
<p> 绑定类型(0~4):
0=标识该属性绑定的颜色值默认读取(属性表:cfg_custpro_caption.xls)里面的颜色
1=表示该绑定属性表(属性ID:cfg_att_score.xls的属性ID),必须绑定,否则该属性无效,游戏也不会显示
2=标示该属性绑定自定义属性表:cfg_custpro_caption.xls里面的属性ID
3=表示该属性是否是百分比属性(0,1) 0不是百分比 1是百分比
4=属性显示位置(0~9) 如果一行有多个属性,这里位置就写同一行
5=是否显示</p>
<p> 绑定的值:
参数3=0时 绑定属性颜色(0~255) 默认读取(属性表:cfg_custpro_caption.xls)里面的颜色
参数3=1时 绑定属性表:cfg_att_score.xls里面的属性ID
参数3=2时 绑定自定义属性表:cfg_custpro_caption.xls里面的属性ID
参数3=3时 绑定的值(0~1)
参数3=4时 显示位置(0~9)
参数3=5时 0=隐藏,1=显示(默认为显示)</p>
<pre><code>### 设置自定义属性值</code></pre>
<p>player:set_custom_attr_value(actor,itemData,index,value,group)</p>
<pre><code></code></pre>
<p> actor 玩家对象
itemData 物品对象
index 属性位置(0~9)每个装备可以自定义10个属性
value 属性值
group 显示分类位置(0~2 ;为空默认为0)</p>
<pre><code>### 增加自定义属性值</code></pre>
<p>player:add_custom_attr_value(actor,itemData,index,value,group)</p>
<pre><code>
### 减少自定义属性值</code></pre>
<p>player:sub_custom_attr_value(actor,itemData,index,value,group)</p>
<pre><code>
### 设置自定义属性分类名称</code></pre>
<p>player:set_custom_attr_name(actor,itemData,typeName,group)</p>
<pre><code></code></pre>
<p> actor 玩家对象
itemData 物品对象
typeName 分类名称(-1为清空)
group 显示分类位置(0~2 ;为空默认为0)</p>
<pre><code>### 移除自定义属性分类名称</code></pre>
<p>player:remove_custom_attr_name(actor,itemData,group)</p>
<pre><code>
### 设置分类名称颜色</code></pre>
<p>player:set_custom_attr_color(actor,itemData,color,group)</p>
<pre><code></code></pre>
<p> actor 玩家对象
itemData 物品对象
color 分类颜色(0~255)
group 显示分类位置(0~2 ;为空默认为0)</p>
<pre><code>### 根据位置返回背包物品信息</code></pre>
<p>player:get_bag_item_by_pos(actor,pos)</p>
<pre><code>
### 设置自定义进度条参数</code></pre>
<p>player:set_custom_bar(actor,itemData,index,data)</p>
<pre><code></code></pre>
<p> actor 玩家对象
itemData 物品数据
index 装备精度条索引(0~2)
data table or json = {
open:1, 0.关闭; 1.打开
show:1, 0.不显示数值; 1.百分比; 2.数字;
name:"锻造", 进度条文本
color:3, 进度条颜色,0~255
imgcount:0, 0.不循环绘制; 1.图片循环绘制
cur:0, 当前值
max:100, 最大值
level:0 级别(0~65535)
}</p>
<pre><code>### 获取自定义进度条数据</code></pre>
<p>player:get_custom_bar(actor,itemData,index,dataType)</p>
<pre><code></code></pre>
<p> actor 玩家对象
itemData 物品数据
index 装备精度条索引(0~2)
dataType 返回值类型 1.返回table; 2.返回json (默认返回table)</p>
<pre><code>### 装备开孔</code></pre>
<p>player:set_item_hole(actor,itemData,data)</p>
<pre><code></code></pre>
<p> actor 玩家对象
itemData 物品数据
data table or json = {
hole0: 1, 第0个孔位置 0.不开孔; 1.开孔
hole1: 1, 第1个孔位置
hole2: 0, 第2个孔位置
hole3: 1, 第3个孔位置
hole4: 1, 第4个孔位置
hole5: 1, 第5个孔位置
hole6: 0, 第6个孔位置
hole7: 1, 第7个孔位置
hole8: 1, 第8个孔位置
hole9: 1 第9个孔位置
}</p>
<pre><code>### 获取装备开孔数据</code></pre>
<p>player:get_item_hole(actor,itemData,dataType)</p>
<pre><code></code></pre>
<p> actor 玩家对象
itemData 物品数据
dataType 返回值类型,1.table; 2.json (默认返回table)</p>
<pre><code>### 检查装备孔是否开启</code></pre>
<p>player:is_hole(actor,itemData,pos)</p>
<pre><code></code></pre>
<p> 检查装备孔是否开启
itemData 装备数据
pos 孔位
返回值 bool</p>
<pre><code>### 镶嵌道具到装备孔</code></pre>
<p>player:item_inlay_to_hole(actor,itemData,pos,itemId)</p>
<pre><code></code></pre>
<p> actor 玩家对象
itemData 装备数据
pos 孔位,0~9
itemId 道具id</p>
<pre><code>### 获取装备钻石镶嵌情况</code></pre>
<p>player:get_inlay_data(actor,itemData,dataType)</p>
<pre><code></code></pre>
<p> actor 玩家对象
itemData 物品数据
dataType 返回值类型 1.table; 2.json (默认返回table)</p>
<pre><code>### 设置物品特效</code></pre>
<p>player:set_item_effect(actor,pos,effId1,effId2)</p>
<pre><code></code></pre>
<p> actor 玩家对象
pos 装备位
effId1 背包特效id
effId2 内观特效id</p>
<pre><code>### 创建行会</code></pre>
<p>player:create_guild(actor,name)</p>
<pre><code>
### 检查玩家是否有行会</code></pre>
<p>player:is_guild(actor)</p>
<pre><code>
### 获取行会成员数量</code></pre>
<p>player:get_guild_count(actor,isOnline)</p>
<pre><code></code></pre>
<p> isOnline 是否只计算在线人数</p>
<pre><code>### 获取行会成员列表</code></pre>
<p>player:get_guild_members(guildobj)</p>
<pre><code>
### 把行会添加到攻城列表</code></pre>
<p>player:add_guild_war_list(name,day)</p>
<pre><code>
### 强制把行会添加到攻城列表</code></pre>
<p>player:add_guild_war_list_ex(name,day)</p>
<pre><code>
### 获取玩家所在的行会对象</code></pre>
<p>player:get_guild(actor)</p>
<pre><code>
### 创建队伍</code></pre>
<p>player:create_team(actor)</p>
<pre><code>
### 是否有队伍</code></pre>
<p>player:is_team(acotr)</p>
<pre><code>
### 获取队伍人数</code></pre>
<p>player:get_team_count(actor)</p>
<pre><code>
### 添加队员</code></pre>
<p>player:add_team_member(actor,userid)</p>
<pre><code>
### 删除队员</code></pre>
<p>player:remove_team_member(actor,userid)</p>
<pre><code>
### 获取组队所有成员</code></pre>
<p>player:get_team_members(actor)</p>
<pre><code>
### 获取宠物数量</code></pre>
<p>player:get_mob_count(actor)</p>
<pre><code>
### 通过怪物名称创建宠物</code></pre>
<p>player:call_mob(actor,name,lv,time,param1,param2,param3)</p>
<pre><code></code></pre>
<p> actor 玩家对象
name 怪物名称
level 宝宝等级(最高为7)
time 叛变时间(分钟)
param1 预留(填0)
param2 预留(填0)
param3 设置大于0,检测时不计算该宝宝数量(仅M2控制的召唤数量)</p>
<pre><code>### 获取主人UserId</code></pre>
<p>player:get_mob_owner_id(mob)</p>
<pre><code>
### 获取mob主人对象</code></pre>
<p>player:get_mob_owner(mob)</p>
<pre><code>
### 通过索引获取宠物对象</code></pre>
<p>player:get_mob_by_id(actor,id)</p>
<pre><code>
### 设置怪物为宝宝</code></pre>
<p>player:set_mon_for_mob(mon,actor)</p>
<pre><code>
### 设置宝宝名称</code></pre>
<p>player:set_mob_name(mob,name)</p>
<pre><code>
### 设置宝宝属性值</code></pre>
<p>player:set_mob_attr(actor,mob,attrId,value,time)</p>
<pre><code></code></pre>
<p> actor 玩家对象
mob 宠物对象
attrId 1.防御下限; 2.防御上限; 3.魔御下限; 4.魔御上限; 5.攻击下限; 6.攻击上限; 7.魔法下限;
8.魔法上限; 9.道术下限; 10.道术上限; 11.MaxHP; 12.MaxMP; 13.攻击加速; 14.移动加速;
value 属性值
time 有效时间</p>
<pre><code>### 增加宝宝属性值</code></pre>
<p>player:add_mob_attr(actor,mob,attrId,value,time)</p>
<pre><code>
### 减少宝宝属性值</code></pre>
<p>player:sub_mob_attr(actor,mob,attrId,value,time)</p>
<pre><code>
### 设置宝宝等级</code></pre>
<p>player:set_mob_level(actor,mob,level)</p>
<pre><code></code></pre>
<p> actor 玩家对象
mob 宠物对象
level 等级</p>
<pre><code>### 增加宠物等级</code></pre>
<p>player:add_mob_level(actor,mob,level)</p>
<pre><code>
### 减少宠物等级</code></pre>
<p>player:add_mob_level(actor,mob,level)</p>
<pre><code>
### 召唤捡取小精灵</code></pre>
<p>player:create_sprite(actor,name)</p>
<pre><code></code></pre>
<p> actor 玩家对象
name 精灵名称
cfg_monster.xls怪物表格式:Race=216</p>
<pre><code>### 召回捡取小精灵</code></pre>
<p>player:release_sprite(actor)</p>
<pre><code>
### 小精灵捡取模式</code></pre>
<p>player:set_sprite_mode(actor,mode,range,interval)</p>
<pre><code></code></pre>
<p> actor 玩家对象
mode 模式: 0.以人物为中心捡取; 1.以小精灵为中心捡取;
range 捡取范围
interval 间隔,最小500ms</p>
<pre><code>### 停止拾取</code></pre>
<p>player:stop_sprite(actor)</p>
<pre><code>
### 在指定位置优先打指定打怪</code></pre>
<p>player:set_point_kill_mon(actor,mapId,monName,x,y)</p>
<pre><code></code></pre>
<p> monName MonName支持多个怪物名称,怪物名称中间用|分隔</p>
<pre><code>### 设置标记值</code></pre>
<p>player:set_flag(actor,flag,value)</p>
<pre><code>
### 获取标记值</code></pre>
<p>player:get_flag(actor,flag)</p>
<pre><code>
### 临时增加怪物爆出物品</code></pre>
<p>player:add_temp_drop(actor,mon,names)</p>
<pre><code></code></pre>
<p> 多个物品使用|分隔;
增加爆出物品,需要在KillMon触发中使用,仅一次有效。
actor 玩家对象
mon 怪物对象
names 物品名称|物品名称</p>
<pre><code>### 注册个人定时器 (先在manageTimer.lua 中的个人或全局定时器中配置 [定时器Id] = {} --模块名)</code></pre>
<p>player:register_timer(id,name,time,count,kf)</p>
<pre><code></code></pre>
<p> id 定时器ID,不可重复
name 模块名称
type 定时器类型,1.个人定时器,2.全局定时器
time 执行间隔(秒)
count 执行次数
kf 跨服是否继续执行,1.继续</p>
<pre><code>
### 启动个人定时器</code></pre>
<p>player:start_timer(actor,id,callback,data)</p>
<pre><code></code></pre>
<p> actor 玩家对象
id 定时器ID
callback 回调函数,无回调函数则试试引擎调用法,ontimer+定时器ID
data 回调数据</p>
<pre><code>### 停止个人定时器</code></pre>
<p>player:stop_timer(actor,id)</p>
<pre><code>
### 停止个人所有定时器</code></pre>
<p>player:stop_timers(actor)</p>
<pre><code>
### 获取玩家沙巴克身份</code></pre>
<p>player:get_sbk_identity(actor)</p>
<pre><code></code></pre>
<p> 返回值 0.非沙巴克成员; 1.沙巴克成员; 2.沙巴克老大;</p>
<pre><code>### 是否是沙巴克成员</code></pre>
<p>player:is_sbk_member(actor)</p>
<pre><code>
### 是否是沙巴克老大</code></pre>
<p>player:is_sbk_leader(actor)</p>
<pre><code>
### 传送到当前地图坐标点</code></pre>
<p>player:goto_point(actor,x,y,mapId,range)</p>
<pre><code>
### 移动到当前地图坐标点</code></pre>
<p>player:move_point(actor,x,y)</p>
<pre><code>
### 在npc附近点击npc</code></pre>
<p>player:click_npc(actor,npcId,range)</p>
<pre><code>
### 移动到npc附近</code></pre>
<p>player:move_npc(actor,npcId)</p>
<pre><code>
### 传送到npc附近</code></pre>
<p>player:goto_npc(actor,npcId)</p>
<pre><code>
### 移动到npc附近并点击</code></pre>
<p>player:move_npc_click(actor,npcId)</p>
<pre><code>
### 传送到npc附近并点击</code></pre>
<p>player:goto_npc_click(actor,npcId)</p>
<pre><code>
### 获取当前npc对象</code></pre>
<p>player:get_npc(actor)</p>
<pre><code>
### 设置NPC特效</code></pre>
<p>player:set_npc_effect(actor,npcId,effId,x,y)</p>
<pre><code>
### 移除npc特效</code></pre>
<p>player:remove_npc_effect(actor,npcId)</p>
<pre><code>
### 关闭当前的npc对话框</code></pre>
<p>player:close_npc(actor)</p>
<pre><code>
### 调用其他NPC的lua函数</code></pre>
<p>player:call_npc_func(actor,npcId,delayTime,funcName,param)</p>
<pre><code></code></pre>
<p> actor 玩家对象
npcId NPC索引(NPC配置表中的ID),特殊npcid:QF=999999999,QM=999999996,LuaCond=999999995,LuaFunc=999999994
delayTime 延迟时间ms,0立即执行
funcName 函数名
param 参数</p>
<p> callfunbynpc(self, 999999999, 1000, 'test', 'abc=1')</p>
<pre><code>### NPC界面文本发送</code></pre>
<p>player:npc_say(actor,msg)</p>
<pre><code></code></pre>
<p> say(self, "欢迎. 我可以为<你/FCOLOR=249>做什么吗?\<购买/@buy,1> 物品\<出售/@sell,1> 物品\<离 开/@exit>")</p>
<pre><code>### 增加自定义按钮</code></pre>
<p>player:add_button(actor,winId,btnId,icon)</p>
<pre><code>
### 删除自定义按钮</code></pre>
<p>player:remove_button(actor,winId,btnId)</p>
<pre><code>
### 打开OK框</code></pre>
<p>player:open_ok_box(actor,title)</p>
<pre><code>
### 回收OK框物品</code></pre>
<p>player:recyle_box_item(actor,count)</p>
<pre><code>
### 返回OK框物品到背包</code></pre>
<p>player:recyle_item_to_bag(actor)</p>
<pre><code>
### 创建任务</code></pre>
<p>player:create_task(actor,id,...)</p>
<pre><code></code></pre>
<p> 创建任务 任务表:cfg_newtask.xls
actor 玩家对象
id 任务ID
param1-10 用来替换任务内容里的%s</p>
<pre><code>### 更新任务</code></pre>
<p>player:update_task(actor,id,...)</p>
<pre><code></code></pre>
<p> actor 玩家对象
id 任务ID
param1-10 用来替换任务内容里的%s</p>
<pre><code>### 完成任务</code></pre>
<p>player:complete_task(actor,id)</p>
<pre><code>
### 删除任务</code></pre>
<p>player:remove_task(actor,id)</p>
<pre><code>
### 任务置顶</code></pre>
<p>player:set_task_top(actor,id)</p>
<pre><code>
### 创建一个镖车</code></pre>
<p>player:create_dart(actor,monId,mapId,x,y,count,range,color)</p>
<pre><code>
### 获取镖车对象</code></pre>
<p>player:get_dart(actor)</p>
<pre><code>
### 获取镖车x、y、mapid</code></pre>
<p>player:get_dart_info(actor)</p>
<pre><code>
### 移除镖车</code></pre>
<p>player:remove_dart(actor)</p>
<pre><code></code></pre>
<p> actor 玩家对象
x 移动到坐标x
y 移动到坐标y
range 人物离镖车距离内自动寻路取值范围:0-12, 0.不检测</p>
<pre><code>
### 玩家镖车是否存在</code></pre>
<p>player:is_dart(actor)</p>
<pre><code>
### 镖车自动寻路到指定坐标</code></pre>
<p>player:move_dart(actor,x,y,range)</p>
<pre><code>
### 人物下线,镖车存活设置</code></pre>
<p>player:set_dart(actor,time,type)</p>
<pre><code></code></pre>
<p> actor 玩家对象
time 镖车存活时间,秒
type 下线是否消失 0.消失; 1.时间到达消失;</p>
<pre><code>
### 是否满足指定条件显示(CanShowShopItem触发中使用)</code></pre>
<p>player:can_show_store_item(actor,show)</p>
<pre><code></code></pre>
<p> actor 玩家对象
show 1.不显示; 0.显示</p>
<pre><code>### 是否满足指定条件购买(CanBuyShopItem触发中使用)</code></pre>
<p>player:can_buy_store_item(actor,buy)</p>
<pre><code></code></pre>
<p> actor 玩家对象
buy 1.不允许购买; 0允许购买</p>
<pre><code>### 发送消息</code></pre>
<p>player:alert(actor,type,color,msg)</p>
<pre><code></code></pre>
<p> type 发送类型 1.自己; 2.全服,3行会,4当前地图,5组队
color 0 白,1 红,2 绿,3 黄 ,4蓝
msg 消息内容字符串</p>
<pre><code>
### 权重</code></pre>
<p>player:getRanomByWeight(weights)</p>
<pre><code>
### 创建假人</code></pre>
<p>player:create_dummy(actor,mapId,x,y,range,job,num,time,mode,gender)</p>
<pre><code></code></pre>
<p>mode 0.顺序;1.倒顺;2.随机;</p>
<pre><code>### 是否是假人</code></pre>
<p>player:is_dummy(actor)</p>
<pre><code>
### 假人开始行动</code></pre>
<p>player:dummy_run(actor)</p>
<pre><code>
### 假人停止行动</code></pre>
<p>player:dummy_stop(actor)</p>
<pre><code>
### 开启假人说话</code></pre>
<p>player:dummy_chat(actor)</p>
<pre><code>
### 踢出所有假人</code></pre>
<p>player:dummy_exit(actor)</p>
<pre><code>
### 锁定当前目标 mode 0.随机;1.锁定</code></pre>
<p>player:dummy_lock(actor,mode)</p>
<pre><code>
### 假人自动寻路到当前地图坐标</code></pre>
<p>player:dummy_auto_move(actor,x,y)</p>
<pre><code>
### 检测当前地图是否有假人</code></pre>
<p>player:is_map_dummy(actor,mapId)</p>
<pre><code>
### 检测当前服务器是否有假人</code></pre>
<p>player:is_server_dummy(actor)</p>
<pre><code>
### 假人下线</code></pre>
<p>player:exit_dummy(dummy)</p>
<pre><code>
### 获取当前第几大陆</code></pre>
<p>player:get_cur_dalu(actor)</p>
<pre><code>
### 获取玩家登录账号ID</code></pre>
<p>player:get_account(actor)</p>
<pre><code>
### 检测当前人物是否在跨服的地图</code></pre>
<p>player:is_kuafu(actor)</p>
<pre><code>
### 本服推送消息到跨服</code></pre>
<p>player:push_lua_kuafu(actor,name,param1,param2)</p>
<pre><code>
### 跨服推送消息到本服</code></pre>
<p>player:push_lua_benfu(actor,name,param1,param2)</p>
<pre><code>
### 创建宠物</code></pre>
<p>player:create_pet(actor,name,level)</p>
<pre><code>
### 召唤宠物</code></pre>
<p>player:call_pet(actor,petId)</p>
<pre><code>
### 召回宠物</code></pre>
<p>player:uncall_pet(actor,petId)</p>
<pre><code>
### 检查是否有宠物</code></pre>
<p>player:is_pet(actor,petId)</p>
<pre><code>
### 宠物是召唤状态</code></pre>
<p>player:is_pet_call(actor,petId)</p>
<pre><code>
### 宠物是召回状态</code></pre>
<p>player:is_pet_uncall(actor,petId)</p>
<pre><code>
### 宠物是死亡状态</code></pre>
<p>player:is_pet_die(actor,petId)</p>
<pre><code>
### 设置宠物外观</code></pre>
<p>player:set_pet_view(actor,petId,monId)</p>
<pre><code>
### 获取宠物对象</code></pre>
<p>player:get_pet(actor,petId)</p>
<pre><code>
### 检查宠物状态</code></pre>
<p>player:check_pet_state(actor,petId)</p>
<pre><code></code></pre>
<p> 0.收回状态
1.召唤出状态
2.死亡状态
-1.没有该宠物</p>
<pre><code>### 设置宠物名称</code></pre>
<p>player:set_pet_name(actor,petId,name)</p>
<pre><code>
### 设置宠物穿戴装备</code></pre>
<p>player:set_pet_take(actor,petId,itemId,itemName)</p>
<pre><code></code></pre>
<p> itemName 装备名称#装备名称,多个装备用#分割
itemId 可以是整数装备ID,可以是装备ID数组</p>
<pre><code>### 设置宠物脱下装备</code></pre>
<p>player:set_pet_untake(actor,petId,itemId,itemName)</p>
<pre><code></code></pre>
<p> itemName 装备名称#装备名称,多个装备用#分割
itemId 或 itemName 如果是-1,则脱下全部装备</p>
<pre><code>### 获取宠物身上穿戴的装备列表</code></pre>
<p>player:get_pet_item_list(actor,petId,type)</p>
<pre><code></code></pre>
<p> type 1.返回值string,装备名称#装备名称,多个装备用#分割</p>
<pre><code>### 设置宠物属性</code></pre>
<p>player:set_pet_attr(actor,petId,attrId,value,attrName)</p>
<pre><code>
### 增加宠物属性</code></pre>
<p>player:add_pet_attr(actor,petId,attrId,value,attrName)</p>
<pre><code>
### 减少宠物属性</code></pre>
<p>player:sub_pet_attr(actor,petId,attrId,value,attrName)</p>
<pre><code>
### 设置宠物属性数组</code></pre>
<p>player:set_pet_attrs(actor,petId,attrs,attrName)</p>
<pre><code>
### 增加宠物属性数组</code></pre>
<p>player:add_pet_attrs(actor,petId,attrs,attrName)</p>
<pre><code>
### 减少宠物属性数组</code></pre>
<p>player:sub_pet_attrs(actor,petId,attrs,attrName)</p>
<pre><code></code></pre>