|
脚本范例如下: 传奇脚本库教程-996LUA通用操作说明 解析文本 parsetext 可以直接替换传奇脚本里的标记符,可以获取对应的常量,如果say面板里有很多变量需要取,不想自己挨个取,可以直接调用此方法处理文本 参数 类型 空 默认 注释 text string 否 文本内容 object object 是 玩家对象 获取人物/怪物 相关信息 getbaseinfo 参数 类型 空 默认 注释 object object 否 玩家/怪物 对象 nID integer 否 类型(详见说明) param3 integer 是 参数3 (仅ID=1时,可用) say(actor, "您的名字是:"..getbaseinfo(actor,1)) 说明 nID对应值分别为: -1=是否玩家 (true:玩家) 0=是否死亡 (true:死亡状态) 1=角色名 (返回值字符型),当对象为怪物时,param3=0/nil,返回怪物显示名(即去除了尾部的数字),param3=1时返回怪物默认名(怪物表中配置的名字),param3=2时返回怪物实际名(游戏内实际展示的名字,新增于引擎64_23.08.30) 2=角色唯一ID ?(返回值字符型) = userid 3=角色当前地图ID (返回值字符型) 4=角色X坐标 5=角色Y坐标 6=角色等级 7=角色职业 (0-战 1-法 2-道) 8=角色性别 9=角色当前HP 10=角色当前MAXHP 11=角色当前MP 12=角色当前MAXMP 13=角色当前Exp 14=角色当前MaxExp 15=角色物防下限 16=角色物防上限 17=角色魔防下限 18=角色魔防上限 19=角色物攻下限 20=角色物攻上限 21=角色魔攻下限 22=角色魔攻上限 23=角色道攻下限 24=角色道攻上限 25=角色幸运值 26=角色HP恢复 27=角色MP恢复 28=角色中毒恢复 29=毒物躲避 30=角色魔法躲避 //31=角色准确(无法设置) 32=角色敏捷 33=发型 34=背包物品数量(仅人物) 35=队伍成员数量(仅人物) 36=行会名(仅人物) 37=是否会长(仅人物) 38=宠物数量 39=转生等级(仅人物) 40=杀怪经验倍数(仅人物) 41=杀怪经验时间(仅人物) 42=显示延时TIMERECALL还剩多少秒(仅人物) 43=人物杀怪爆率倍数(仅人物) 44=复活时间 45=地图名MAPTITLE 46=PK点 47=是否新人(仅人物) 48=是否安全区 49=是否摆摊中(仅人物) 50=是否交易中(仅人物) 51=自定义扩展属性,需要提供 参数3:属性ID(cfg_att_score.xls设置:1-91,200~249) 52=穿人/怪方式 0=恢复/1=穿人/2=穿怪/3=穿人穿怪 53=登录状态,0:正常,1:断线重连(仅人物) 54=主人UserId 55=Idx 56=颜色(0~255) 57=最后杀死的怪物Index(仅人物) 57=爆怪次数(等同之前 MonItems 功能) 58=时装显示状态(仅人物) 59=主人对象 60=是否在工程区域(bool) 61=是否为离线挂机状态(bool) 62=获取怪物表自定义常量(25列) 63=人物背包大小 64=获取对象当前的身体颜色值 65=获取对象的回城地图 67=获取对象的攻击对象 68=怪物归属对象 69=获取对象当前的方向 设置人物/怪物相关信息 setbaseinfo 参数 类型 空 默认 注释 object object 否 玩家/怪物 对象 nID integer 否 类型(详见说明) value integer 否 属性值 说明 nID对应值分别为: 6:设置等级 7: 职业 8: 性别 9: 当前HP 11: 当前MP 15=物防下限 16=物防上限 17=魔防下限 18=魔防上限 19=物攻下限 20=物攻上限 21=魔攻下限 22=魔攻上限 23=道攻下限 24=道攻上限 25=幸运值 26=HP恢复 27=MP恢复 28=中毒恢复 29=毒物躲避 30=魔法躲避 31=准确 32=敏捷 33: 发型 39:转生等级(仅人物) 40:杀怪经验倍数(仅人物) 41:杀怪经验时间(仅人物) 43:人物杀怪爆率倍数(仅人物) 46:人物PK点(仅人物) 50=行为方式,只针对宠物,包含多个行为时,求和(1:禁止攻击玩家,2:不可被攻击,4:优先攻击 玩家攻击对象,8:优先攻击 玩家受击对象,16:不可被玩家攻击,允许被怪攻击 ) 51=叛变(仅怪物) 52=穿人/怪方式 0=恢复/1=穿人/2=穿怪/3=穿人穿怪 56=颜色(0~255) 57=爆怪次数(等同之前 MonItems 功能) 57=设置时装显示状态(仅人物) 58=设置对象的身体颜色 67=设置对象的攻击对象,参数3为对象,空,0,为清空目标 (object为玩家时无效) 对象是否存在 isnotnull 参数 类型 空 默认 注释 object object 否 玩家/怪物 对象 result bool 否 返回值 true:存在 false:不存在 判断对象是否为玩家 isplayer 参数 类型 空 默认 注释 object object 否 判断对象 result bool 否 true=是玩家 false=不是玩家 判断对象是否为人形怪 isplaymon 参数 类型 空 默认 注释 object object 否 判断对象 result bool 否 true=是人形怪 false=不是人形怪 判断对象是否为宝宝 ismob 参数 类型 空 默认 注释 object object 否 判断对象 result bool 否 true=是宝宝 false=不是宝宝 判断对象是否为怪物 ismon 参数 类型 空 默认 注释 object object 否 判断对象 result bool 否 true=是怪物 false=不是怪物 改变 人/怪物 状态 makeposion 参数 类型 空 默认 注释 object object 否 玩家/怪物 对象 type integer 否 类型(0=绿毒 1=红毒 5=麻痹 12=冰冻 13= 蛛网 其他无效) time integer 否 时间(秒) value integer 否 威力,只针对绿毒有用 model integer 否 引擎64_23.08.30新增 0/不填=不进行防护的判断 1=判断防全毒、防麻痹、防冰冻、防蛛网状态 makeposion(mon, 0, 10, 10) 检测 人/怪物 状态 checkhumanstate 参数 类型 空 默认 注释 object object 否 玩家/怪物 对象 type integer 否 类型: 1.魔法盾 2.护体神盾 3.无极真气 4.幽灵盾 5.神圣战甲术 6.隐身术 7.冰冻 8.麻痹 9.锁定 10.蛛网 11.中毒 result bool 否 返回值1 true:存在 false:不存在 result bool 否 状态的剩余时间 local bool,endTime = checkhumanstate(actor,8) if bool then release_print("剩余时间", endTime) end 使用脚本命令解毒(红绿毒) detoxifcation 参数 类型 空 默认 注释 object object 否 玩家/怪物 对象 opt integer 否 -1,解所有毒;0,绿毒;1,红毒;3,紫毒;5,麻痹;6,冰冻;7,蛛网 回到最近经过的城市安全区 gohome 参数 类型 空 默认 注释 play object 否 玩家对象 在线泡点经验 setautogetexp 参数 类型 空 默认 注释 play object 否 玩家对象 evetime integer 否 时间 experience integer 否 经验 isSafe integer 否 是否安全区 (0为任何地方) mapid integer 否 地图号(任何地图使用*号) opt integer 否 聚灵珠是否能获取经验 (0=不可以 1= 可以) alltime integer 否 时间:秒 (泡点获得经验的时间) level integer 否 等级(多少级以下获得经验) --地图3安全区内每1秒种得到10个经验点 泡经验时间为60秒 100级以下才可以泡经验 setautogetexp(actor,1,10,1,3,1,60,100) 播放音乐声音 playsound 参数 类型 空 默认 注释 play object 否 玩家对象 index integer 否 播放文件的索引 对应声音配置表id(cfg_sound.xls) times integer 否 循环播放次数 flag integer 否 播放模式: 0.播放给自己 1.播放给全服 2.播放给同一地图 4.播放给同屏人物 停止执行 stop 参数 类型 空 默认 注释 play object 否 玩家对象 stop可以停止执行相应的操作: canopenbox, stdmodefunc, updateguildnotice, getexp,triggerchat, magselffunc(合击技能) 案例: function stdmodefunc10(actor, item) if gethumability(actor, 20) = 0 then stop(actor) else changemoney(actor, ConstCfg.money.yb, "+", 10000, "10000元宝", true) end end 表格转换成字符串 tbl2json local cfg = {"a","b","c"} local str = tbl2json(cfg) 字符串转换成表格 json2tbl local cfg = json2tbl(str) for k, v in ipairs(cfg) do release_print(k,v) end cJson库 使用 tbl2json 与 json2tbl代替 sqlite库 sqlite3.dll文件下载 Mir200.rar [[引擎默认加载sqlite库,请先确认 MirServer\Mir200\clibs\luasql 路径有 sqlite3.dll 文件]] function main(self) local env = sqlite3.sqlite3() local db = env:connect("db.sqlite") db:execute([[ CREATE TABLE task( "id" INTEGER, "key" TEXT, "value" TEXT ) ]]) db:execute([[INSERT INTO task values("1", "任务名字1", "任务内容1")]]) db:execute([[INSERT INTO task values("2", "任务名字2", "任务内容2")]]) local results = db:execute([[SELECT * from task]]) local key, value, value2 = results:fetch() while key do release_print(key ..': '.. value .."|"..tostring(value2)) key, value, value2 = results:fetch() end results:close() db:close() env:close() end 拉取客户端充值接口 pullpay 参数 类型 空 默认 注释 player object 否 玩家对象 money integer 否 金额 type integer 否 充值方式: 1-支付宝, 2-花呗, 微信 flagid integer 否 充值货币ID 比如:你后台配置的flagid为 1:10元宝,对应的ID为2,那么下面的拉起充值填写flagid 必须为2 执行GM命令 gmexecute 参数 类型 空 默认 注释 player object 否 玩家对象 GM string 否 GM命令 parma1 string 否 GM命令参数1 parma2 string 否 GM命令参数2 parma3 string 否 GM命令参数3 parma4 string 否 GM命令参数4 parma5 string 否 GM命令参数5 parma6 string 否 GM命令参数6 parma7 string 否 GM命令参数7 parma8 string 否 GM命令参数8 parma9 string 否 GM命令参数9 parma10 string 否 GM命令参数10 播放屏幕特效 screffects 参数 类型 空 默认 注释 player object 否 玩家对象 id integer 否 创建的特效编号 effectid integer 否 特效ID X integer 否 在屏幕上的X坐标 Y integer 否 在屏幕上的Y坐标 speed integer 否 播放速度 times integer 否 播放次数,0-持续播放 type integer 否 播放模式 0-自己 1-所有人 关闭屏幕特效 deleffects 参数 类型 空 默认 注释 player object 否 玩家对象 id integer 否 创建的特效编号 type integer 否 播放模式 0-自己 1-所有人 获取常量 getconst 参数 类型 空 默认 注释 player object 否 玩家对象 varname integer 否 常量名称,支持带尖括号和不带尖括号 <$Name>或$Name result string 否 常量值 添加buff addbuff 参数 类型 空 默认 注释 base object 否 玩家、怪物对象 buffid integer 否 buff id,10000以后 time integer 是 时间,对应buff表里维护的单位 OverLap integer 是 叠加层数,默认1 objOwner object 是 施放者 Abil table 是 属性表 {[1]=200, [4]=20},属性id=值 result bool 否 是否添加成功 删除buff delbuff 参数 类型 空 默认 注释 base object 否 玩家、怪物对象 buffid integer 否 buff id 是否有buff hasbuff 参数 类型 空 默认 注释 base object 否 玩家、怪物对象 buffid integer 否 buff id result bool 否 是否有 获取buff信息 getbuffinfo 参数 类型 空 默认 注释 base object 否 玩家、怪物对象 buffid integer 否 buff id type integer 否 类型,1:叠加层数 2:剩余时间(单位跟配置一致) result integer 否 返回值 获取buff模板信息 getstdbuffinfo 参数 类型 空 默认 注释 buffID/buffName integer/string 否 buffID/buff名称 id integer 否 0:idx 1:名称; 2.组别; 3.配置时间; 4.配置属性; result integer 是 0 对应数值,不存在为0 获取角色所有buff getallbuffid 参数 类型 空 默认 注释 player object 否 玩家对象 result table 是 buff列表 local list_buff = getallbuffid(actor) for i, buffid in ipairs(list_buff) do release_print("buff",i,buffid) end 屏幕震动 scenevibration 参数 类型 空 默认 注释 player object 否 玩家对象 type integer 否 模式(0~4) 0.仅自己; 1.在线所有人; 2屏幕范围内人物; 3.当前地图上所有人; 4.指定地图上所有人; level integer 否 震级(1~3) num integer 否 次数 mapid integer 是 地图ID(模式等于4时,需要该参数) scenevibration(actor,0,1,1) 客户端复制 mircopy 参数 类型 空 默认 注释 player object 否 玩家对象 string string 否 文本内容 游戏中打开网站 openwebsite 参数 类型 空 默认 注释 player object 否 玩家对象 web string 否 网站 MD5加密 md5str 参数 类型 空 默认 注释 str string 否 需要加密的文本 result string 是 0 MD5加密值 等概率或者按权限随机获取分割字符串 ransjstr 参数 类型 空 默认 注释 str string 否 需要获取随机的字符串 param1 integer 否 0=系统权重随机,有几个字符串就是几份之一 1=按#位权重随机总权重为各项位权重的总和 param2 integer 否 0=返回值都显示#权重数字 1=返回值都不显示#权重数字 2=返回值1显示,返回值2不显示 3=返回值2显示,返回值1不显示 result1 integer 否 随机到的字符串 result2 integer 否 剩余的字符串 local result1, result2 = ransjstr("测试1#2000|测试2#10000|测试3#5000", 1, 3) release_print("result1", result1, ", result2", result2) 自定义日志 说明: 配置自定义日志对应后台查看 logact 参数 类型 空 默认 注释 play object 否 玩家对象 logAct integer 否 日志ID 大于等于10000以上 loginfo string 否 日志内容 支持变量,常量等 logact(actor,10001,"玩家:<$username>通过日志测试扣除100元宝获得屠龙*1") 后台上传表格格式 打印脚本总耗时(微秒) 格式:(需要角色游戏权限为10) printusetime 参数 类型 空 默认 注释 play object 否 玩家对象 on/off integer 否 1=开始计时 2=结束计时,并打印耗时信息 printusetime(actor,1) for i = 1, 100, 1 do release_print("打印耗时",i) end printusetime(actor,2) 前端勾选面板控制命令 clientswitch 参数 类型 空 默认 注释 play object 否 玩家对象 type integer 否 0=允许组队1=允许添加好友 2允许交易 3=允许挑战 4允许查看 5=允许添加为行会成员 time integer 否 1=允许(勾选) 0=不允许(不勾选)(秒) for i = 0, 5 do clientswitch(actor,i,1) end 拉起微信和qq等功能 sendforqqwx 参数 类型 空 默认 注释 play object 否 玩家对象 model integer 否 1=拉起QQ 2=QQ好友 3=QQ群 4=微信 param1 integer 否 参数2=2,填入QQ号 参数2=3,填入QQ群号 param2 string 否 参数2=3,填入QQ群key --拉起QQ sendforqqwx(actor,1) --拉起QQ好友 sendforqqwx(actor,2,2881xxxx84) --拉起QQ群,参数3为qq群号,参数4位qq群key(KEY获取地址: https://qun.qq.com/join.html) sendforqqwx(actor,3,2881xxxx84,"https://qm.qq.com/cgi-bin/qm/qr?k=W_xxxx&jump_from=webapi&authKey=xxxx") --拉起微信 sendforqqwx(actor,4) 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓 【天天脚本库】--专业传奇脚本库,全网最全脚本库! 官方网站 :www.ttjbk.com 备用站点:www.gmjbk.com 备用站点:www.gmjbw.com 官方交流群:680930409 承接各种脚本版本制作 修改 等业务!有任何疑问可联系底部QQ联系方式! 所有收费脚本若不会安装可找客服收费安装!不提供免费安装服务! 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓 |





/1 