解析文本
parsetext
- 可以直接替换传奇脚本里的标记符,可以获取对应的常量,如果say面板里有很多变量需要取,不想自己挨个取,可以直接调用此方法处理文本
参数 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
text | string |
否 | 文本内容 | |
object | object |
是 | 玩家对象 |
获取人物/怪物 相关信息
getbaseinfo
参数 | 类型 | 允许空 | 默认 | 注释 |
---|---|---|---|---|
object | object |
否 | 玩家/怪物 对象 | |
nID | int |
否 | 类型(详见说明) | |
param3 | int |
是 | 参数3(仅ID=2时,可用) |
function main(self)
say(self, "您的名字是:"..getbaseinfo(self,1))
end
- 说明
nID对应值分别为:
-1=是否玩家(true:玩家)
0=是否死亡(true:死亡状态)
1=角色名 (返回值字符型),当对象为怪物时,param3=0或缺省,返回怪物显示名(即去除了尾部的数字),param=1时返回怪物实际名(怪物表中配置的名字)
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=怪物归属对象
设置人物/怪物相关信息
setbaseinfo
参数 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
object | object |
否 | 玩家/怪物 对象 | |
nID | int |
否 | 类型(详见说明) | |
value | int |
否 | 属性值 |
- 说明
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为玩家时无效)
改变 人/怪物 状态
makeposion
参数 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
object | object |
否 | 玩家/怪物 对象 | |
type | int |
否 | 类型(0=绿毒 1=红毒 5=麻痹 12=冰冻 13= 蛛网 其他无效) | |
time | int |
否 | 时间(秒) | |
value | int |
否 | 威力,只针对绿毒有用 |
function attackdamage(self, mon)
makeposion(mon, 0, 10, 10)
end
调用游戏面板
openhyperlink
参数 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
play | object |
否 | 玩家对象 | |
nId | int |
否 | 面板ID | |
nState | int |
否 | 0=打开,1=打开面板重复点按钮不会关闭,除非主动点关闭按钮(一般做任务配合新手引导用到),2=关闭当前面板ID |
打开仓库面板
openstorage
参数 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
play | object |
否 | 玩家对象 |
新解锁仓库格子
changestorage
参数 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
play | object |
否 | 玩家对象 | |
nCount | int |
否 | 新解锁的格子数 |
开启自动挂机
startautoattack
参数 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
play | object |
否 | 玩家对象 |
播放音乐声音
playsound
参数 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
play | object |
否 | 玩家对象 | |
index | int |
否 | 播放文件的索引 | |
times | int |
否 | 循环播放次数 | |
flag | int |
否 | 播放模式: 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
表格转换成字符串
tbl2json
local js = {"a","b","c"}
local cjs = tbl2json(js)
字符串转换成表格
json2tbl
local ajs = json2tbl(cjs)
for k, v in ipairs(ajs) do
release_print(k,v)
end
### cJson库
使用 tbl2json 与 json2tbl代替
local cjson = require "cjson"
local sampleJson = '{"age":333}';
function main(self)
--解析json字符串
release_print("sampleJson")
release_print(type(cjson))
local data = cjson.decode(sampleJson);
--打印json字符串中的age字段
release_print(data["age"]);
end
sqlite库
local driver = require('luasql.sqlite3')
function main(self)
local env = driver.sqlite3()
local db = env:connect('db.sqlite')
db:execute[[
CREATE TABLE generic(
key varchar(50),
value varchar(150)
)
]]
db:execute[[
INSERT INTO generic VALUES('nome', 'coisa')
]]
local results = db:execute[[
SELECT * FROM generic
]]
local key,value = results:fetch()
while key do
release_print(key ..': '.. value)
key,value = results:fetch()
end
results:close()
db:close()
env:close()
end
拉取客户端充值接口
pullpay
参数 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
player | object |
否 | 玩家对象 | |
money | int |
否 | 金额 | |
type | int |
否 | 充值方式: 1-支付宝, 2-花呗, 微信 |
|
flagid | int |
否 | 充值货币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 | int |
否 | 创建的特效编号 | |
effectid | int |
否 | 特效ID | |
X | int |
否 | 在屏幕上的X坐标 | |
Y | int |
否 | 在屏幕上的Y坐标 | |
speed | int |
否 | 播放速度 | |
times | int |
否 | 播放次数,0-持续播放 | |
type | int |
否 | 播放模式 0-自己 1-所有人 |
关闭屏幕特效
deleffects
参数 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
player | object |
否 | 玩家对象 | |
id | int |
否 | 创建的特效编号 | |
type | int |
否 | 播放模式 0-自己 1-所有人 |
获取常量
getconst
参数 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
player | object |
否 | 玩家对象 | |
varname | int |
否 | 常量名称,支持带尖括号和不带尖括号 <$Name>或$Name |
|
result | string |
否 | 常量值 |
添加buff
addbuff
参数 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
base | object |
否 | 玩家、怪物对象 | |
buffid | int |
否 | buff id,10000以后 | |
time | int |
是 | 时间,对应buff表里维护的单位 | |
OverLap | int |
是 | 叠加层数,默认1 | |
objOwner | object |
是 | 施放者 | |
Abil | table |
是 | 属性表 {[1]=200, [4]=20},属性id=值 | |
result | bool |
否 | 是否添加成功 |
删除buff
delbuff
参数 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
base | object |
否 | 玩家、怪物对象 | |
buffid | int |
否 | buff id |
是否有buff
hasbuff
参数 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
base | object |
否 | 玩家、怪物对象 | |
buffid | int |
否 | buff id | |
result | bool |
否 | 是否有 |
获取buff信息
getbuffinfo
参数 | 类型 | 空 | 默认 | 注释 |
---|---|---|---|---|
base | object |
否 | 玩家、怪物对象 | |
buffid | int |
否 | buff id | |
type | int |
否 | 类型,1:叠加层数 2:剩余时间(单位跟配置一致) | |
result | int |
否 | 返回值 |
© 版权声明
文章版权归作者所有,未经允许请勿转载。
暂无评论...