夜游神论坛,传奇一条龙,GM论坛,GM部落

 找回密码
 立即注册

QQ登录

只需一步,快速开始

安全 996 php 88A
查看: 2988|回复: 1

[文本教程] 传奇3服务端King42魔法插件脚本命令

[复制链接]

签到天数: 806 天

[LV.10]以坛为家III

3138

主题

3879

帖子

3万

钻石

Rank: 9Rank: 9Rank: 9

积分
7017

最佳新人活跃会员推广达人以坛为家灌水之王热心会员

QQ
发表于 2018-11-26 23:38:08 | 显示全部楼层 |阅读模式
传奇3服务端King42魔法插件脚本命令

//////////////////////////////////////////////////////////////////////
actcmd:
//////////////////////////////////////////////////////////////////////

Mov D0 100
INC D8 5
Dec D8 1
Mul //Mul P1 P2 1 //结果P9中,第3个参数=1则影响自定义变量的值 如果使用自定义变量 Mul 测试 %P2 1
Mul P1 P2 //Div P1 P2 //结果P9中 如果使用自定义变量 Div 测试 %P2 1
Movr D0 100
Addstr A2 ")"
RUNSCRIPTLABEL [ALL|GUILD|GROUP|PLAYERNAME] "@_CALLBACK" //标签为 [@~~*] 模式则忽略NPC位置~~可以任意地点调用
MOVETOPLAYER 角色名 //移动到角色
MOVETONPC NPC名 //移动到NPC名
DELFILE //删除文件
SETPROJOB //设置PRO职业
SETPROLVL //设置PRO等级
SETPROEXP //设置PRO经验
SETSTORAGEPASSOK //设置仓库密码
ITEMNAMEPREFIX 位置 名字 //系统名字前缀
CHANGELVL + 100 //等级 + 100
CHANGEPK + 100 //PK值 + 100
SETSUPERCHANGE + 100 //设置超级修改 + 100
SETTEMPJF + 100 //设置积分 + 100
SETSERVEREXPMULTIPLE //设置服务器经验倍数
CHECKCARDPASS //核对人物密码

SETSTFLAG 1 AAAA BBBB
//设置 BBBB 的ST状态为1 ST名字为 AAAA
//SETSTFLAG 1 CCCC //设置自己的ST状态为1 ST名字为CCCC
//0 没有拜师也没有收徒弟
//1 师傅 是师傅 //师傅
//2 徒弟 是徒弟 //徒弟
//3 徒弟 是被逐出师门
//4 师傅 徒弟已经出师
//5 师傅 是 背叛师门
//6 师傅 徒弟已经达到出师等级,暂时还没出师 //师傅
//7 徒弟 自己已到出师等级,暂时还不出师 //徒弟
//8 师傅 徒弟选择不出师 但师傅不在线 没有获得奖励 //师傅
//9 师傅 达到出师等级继续保留的徒弟 决定脱离关系
//10徒弟 保留的师徒关系被师傅解除了并且自己未在线

SUBCARD
SETUSERJF + 100 吃经验 用户名
SETFAME + 100
EDITITEM [FLD_DESC1~FLD_DESCB] +-= 100 makeidx
ADDMAGIC 魔法名 5

GIVEEXPEX 50000 //给经验
KICKUSER //踢出用户
ATTRIBUTEADD [CLEAR]|DC|SC|MC|MAC|MP|AC|AM1~7|HP 100 //属性增加
SETDOUBLEEXP + 1000 //设置双倍经验时间
STARTDOUBLEEXP 100 //开始双倍经验
SETLOCK //设置锁定
SETUNLOCK //解开锁定
TAKEITEMBYIDX 1234 //删除物品IDX号
GIVEEX AAA 1 //给坐标
CHANGEMAGLVL AAA 1 2 //修改魔法等级
GIVEGOLDEX 1000 //增加金币
RESETSERVERTOP 10 //刷新服务器排行榜前10名,结合后面 %*** 使用
SETPOINT + 100 //设置转生加点次数
ACCEPTREBORNBONUS [CLEAR]|DC|SC|MC|MAC|MP|AC|AM1~7|HP 100
ENLOADVALUE P9 ".\A.INI" "设置,测试,默认值" //只能用自定义变量
ENSAVEVALUE P9 ".\A.INI" "设置,测试,默认值" //只能用自定义变量

FormatStr "where fld_username = '%s'" %Username
FormatStr "where fld_time = %s" %D0
READSQL "表名" "字段名,字段名2" "自定义变量1,自定义变量2" %A9 //读取插件数据库的字段数据 默认用户名

FormatStr "%s,%s,%s" FLD_CHARACTER,字段名1,字段名2 //最多3个变量
MOV A7 %A9
FormatStr "'%s',%s,%s" %Username,字段名1值,字段名2值 //最多3个变量
MOV A8 %A9
FormatStr " where FLD_CHARACTER='%s' " %Username
WRITESQL "表名" %A7 %A8 %A9 //写入数据库的字段数据 默认用户名

//初始化数据库
FormatStr "where FLD_CHARACTER = '%s'" %Username
WRITESQL "表名" "FLD_CHARACTER" %Username %A9

TAKEBONUSEX [CLEAR]|[INC]|DC|SC|MC|MAC|MP|AC|AM1~7|HP 100 //设置转生属性

ADDEIMEMOLOG "aaaaaaaaaaaaaaaa" //增加EI记录
SENDUSERSAY "@允许悄悄话"
//////////////////////////////////////////////////////////////////////
checkcmd:
//////////////////////////////////////////////////////////////////////
mov
Equal //支持自定义常量 Equal USERSTNAME "AAAAA" 等于
Large //支持自定义常量 大
Small //支持自定义常量 小
Elarge //支持自定义常量 更大
Esmall //支持自定义常量 更小
Inc
Dec
Checkbonus
CHECKMAPFLAG ksnomove 名字(为空则脚本执行者所在地图) 名字类型 (0: 玩家名 1:NPC名 2:地图名字 3:地图编号)
//////////////
CHECKMAPFLAG MAPGOURP 5 //P9
CHECKMAPFLAG NPARAM1 5 //P9
CHECKMAPFLAG SPARAM1 "AAAAAAAAA" //A9
//////////////
CHECKUSERJF 100 用户名 //检测用户是否有积分
CHECKITEMINFO 参数1 参数2(参数2指明参数1的类型 -> 0:身上位置 1:包裹内物品名字 2:包裹内物品ID 3: 身上装备名字)
CHECKTEMPJF 100 //检测临时积分
CHECKCARDVALUE 100 //检测卡的数值
ISONLINE 用户名 参数2(参数2=1 在需要保证用户不在线的时候使用)
CHECKWEIGHT 物品名 //返回剩余负重
CHECKBAGGAGEEX //返回已经占用的包裹数
CHECKSTORAGEPASSOK //检测仓库密码
ISGROUPOWNER //返回队伍创建人的名字
CHECKFAME 100 //检测声望
FINDNPC NPC名 //查询NPC
GUILDMEMBER [S|T|行会名|空] //行会成员
CHECKITEMPRICE 金创药 0 //是否可以喝药
CHECKREBORNBONUS //检查转生加点次数 setpoint //p1-p8 Dc mc sc hp mp ac mac AddPoint
CHECKALLOWST 玩家名 //检查角色是否允许拜师
ISDUOEXP //组队经验
ISTESTSERVER //测试服务器
CHECKSTFLAG 1 AAA BBB
//检查 BBB 的ST状态是否为1,ST名字是否为AAA
//CHECKSTFLAG 1 AAA 检查自己的ST状态是否为1,ST名字是否为AAA

CHECKITEMCOUNT 物品名 //该物品数量返回到P9里

//////////////////////////////////////////////////////////////////////
DynamicValues
//////////////////////////////////////////////////////////////////////
%USERJF //用户积分
%USERFAME //用户声望
%USERPK //用户PK值
%USERCARDVAL //用户卡的值
%USERSTFLAG //记录地图坐标
%USERSTNAME //记录ST名字
%USERMAPNAME //用户地图名字
%USERSPOUSENAME //用户配偶名字
%USERPROJOB //用户PRO职业
%USERPROLVL //用户PRO等级
%USERPROEXP //用户PRO经验
%USERMAPGOURP //用户地图GOURP
%USERREBORNCOUNT //转生次数
%USERADDBONUSCOUNT //大善加点次数
%CURWEEK //距离开服多少星期
%CURDAY //距离开服多少天
%CURHOUR //距离开服多少小时
%STARTSVRMINUTE //服务器启动多少分钟
%STARTGAMEMINUTE //玩家进入游戏多少分钟

%FLD_NAME //通过 CHECKITEMINFO 来确定物品
%FLD_STDMODE //S物品TD模式
%FLD_SHAPE //物品形状
%FLD_UPLVLTYPE //物品升级类型
%FLD_PRICE //物品价格
%FLD_DESC* //0 -- 13 R G B
%FLD_NAMEPREFIX //物品名字代码
%FLD_MAKEINDEX //生产物品代码号

//在 RESETSERVERTOP 10 后可以获得相应排名的角色相关信息

%WARLVLTOPNAME1 //等级第1武士的名字 %WARLVLTOPNAME10 等级第10武士的名字
%WIZLVLTOPNAME1 //等级第1法师的名字 %WIZLVLTOPNAME10 等级第10法师的名字
%TAOLVLTOPNAME1 //等级第1道士的名字 %TAOLVLTOPNAME10 等级第10道士的名字
%ALLLVLTOPNAME1 //等级第1的名字 %ALLLVLTOPNAME10 等级第10的名字

%WARLVLTOPLVL1 //等级第1武士的等级 %WARLVLTOPLVL10 等级第10武士的等级
%WIZLVLTOPLVL1 //
%TAOLVLTOPLVL1
%ALLLVLTOPLVL1

%WARLVLTOPEXP1 //等级第1武士的当前经验 %WARLVLTOPLVL10 等级第10武士的当前经验
%WIZLVLTOPEXP1
%TAOLVLTOPEXP1
%ALLLVLTOPEXP1

%WARLVLTOPZS1 //等级第1武士的转身等级 %WARLVLTOPLVL10 等级第10武士的转身等级
%WIZLVLTOPZS1
%TAOLVLTOPZS1
%ALLLVLTOPZS1

%ALLLVLTOPJOB1 //所有人排名 第 1 名的职业

%ZSTOPNAME1 //转身等级第1的名字
%ZSTOPLVL1 //转身等级第1的等级
%ZSTOPEXP1 //转身等级第1的当前经验
%ZSTOPJOB1 //转身等级第1的职业

%FAMETOPNAME1 //声望第1的名字
%FAMETOPVALUE1 //声望第1的声望值

//////////////////////////////////////////////////////////////////////
地图标签:
//////////////////////////////////////////////////////////////////////
KSNOMOVE 禁止飞
KSNOMOVEEX 禁止飞坐标
KSNOEXEC 禁止死亡触发 @_USERDIE
KsNoMove
师徒令 天地合一 结婚戒指 魔法

KsNoMoveEx
地牢逃脱卷 随机 回城 行会回城卷 师徒令 天地合一 结婚戒指 魔法

DISKWZJ 禁止卡位自救
KSNOIMMU 不准喝无敌

MAPGOURP(1002)
KSATT(1.2)
KSEXP(1.5)
KSADDDC(1.7)
KSADDAC(0.8)
KSADDMAC(0.9)

NPARAM1(*)
NPARAM2(*)
NPARAM3(*)

SPARAM1("*")
SPARAM2("*")
SPARAM3("*")

//////////////////////////////////////////////////////////////////////
00DEF标签:
//////////////////////////////////////////////////////////////////////
@_ONHOURCHANGE //小时改变
@_ONDAYCHANGE //天改变
@_ONWEEKCHANGE //周改变

@_ONUSERHOURCHANGE //用户小时改变
@_ONUSERDAYCHANGE //用户天改变
@_ONUSERWEEKCHANGE //用户周改变

@_UPLVLEVENT //升级触发

@_ONREADBOOK(%s)
//(魔法名)
//P9=魔法ID
//执行完后如果 P0=0 就是吃书失败,返回原来的MAGID就吃书成功

//////////////////////////////////////////////////////////////////////
物品数据库:
//////////////////////////////////////////////////////////////////////
免疫药水:
持续时间 DC+ DC2*255
间隔时间 MC+ MC2*255

师徒令修改为 stdmode=0
间隔时间 MC+ MC2*255

//stdmode = 0 shape=2 makeword(ac,ac2)=+血 dc=每250毫秒+血量 makeword(mac,mac2)=+蓝 * 20 dc2=每250毫秒+蓝量
//修改其他 stdmode = 0 shape=2 的物品的属性

怪物数据库增加
Fame AddDc AddMc AddAc AddMac SHRatio SHValue //增强怪物

///
//251 死亡必爆物品
//SQL 注入过滤
//@_USERDIE
武器超17级
//设置特殊物品刷新时间
//天地合一限制

限制不能用毒毒死人
//修正夫妻互飞重叠
超大毒
超大符

//摆摊
//人物锁
//杀怪物获得声望
need=
244: //非土成员不能穿戴
245: //非沙成员不能穿戴

243: //非沙老大不能穿戴
242: //非土老大不能穿戴

NOREVIVAL //不能复活

!!吃药
!!修炼魔法
!!ADDMAGIC
!!RUNSCR

可加密文件

StrRes.txt
MiniMap.txt
MapInfo.txt
MonAIs.txt
MonItems\*.txt
MonAi_Def\*.txt
MonGen.txt
MapQuest.txt
LineNotice.txt
Merchant.txt
GuardList.txt
StartPoint.txt

马的属性
AC 负重
Dc 攻击 上限
DcMax 自然 上限
Mc 灵魂 上限
McMAX 回血速度

@_ONREADBOOK(%s,%s)
//(魔法名,物品名) addmagic 魔法名 1 take 物品名
//P9=魔法ID
//执行完后如果 P9=0 就不继续执行吃书,如果 P9=原来的魔法ID就继续执行吃书!
//吃书处去掉所有魔法排斥检查

nTemp:=FieldByName('FurbishHpMp').AsInteger; //恢复
Item.wFurbishHpRatio:=HiWord(nTemp) ; //恢复 HP 率 6553 19991999 //Random(65535)<=pStdItem.wFurbishHpRatio
Item.wFurbishMpRatio:=LoWord(nTemp); //恢复 MP 率 6553 //Random(65535)<=pStdItem.wFurbishHpRatio

nTemp:=FieldByName('SuperHit').AsInteger; //爆击
Item.wSuperHitRatio:=HiWord(nTemp); //爆击几率 6553 1999 Random(65535) <= pStdItem.wSuperHitRatio
Item.btSuperHitValueMin:=HiByte(LoWord(nTemp)); //爆击倍率 2 0203 Min+random(max-min)
Item.btSuperHitValueMax:=LoByte(LoWord(nTemp)); //爆击倍率 3

nTemp:=FieldByName('SuperPoison').AsInteger;//爆毒
Item.wSuperPoisonRatio:=HiWord(nTemp); //爆毒几率 6553 1999 191A Random(65535) <= pStdItem.wSuperPoisonRatio
Item.btSuperPoisonValueMin:=HiByte(LoWord(nTemp)); //爆击倍率 25 Min+random(max-min) 191A
Item.btSuperPoisonValueMax:=LoByte(LoWord(nTemp)); //爆击倍率 26

!!带上某装备可以从攻击力回血(有几率) //Random(65535)<=Ratio //FurbishHpMp=makelong(MpRatio,HpRatio)

!!爆击(1:几率 2:爆击攻击倍率) //Random(65535)<=Ratio Min+random(max-min) //SuperHit=makelong(makeword(ValueMax,ValueMin),HitRatio)

!!爆毒(1:几率 2:爆击攻击倍率) //Random(65535)<=Ratio Min+random(max-min) //SuperPoison=makelong(makeword(ValueMax,ValueMin),PoisonRatio)

!!金刚套装加防减攻 //229 228 227 226 225新金刚套装 //maxax=(mindc+maxdc)*2; mindc,maxdc=mindc/3,maxdc/3 攻击下限=攻击下限/3 攻击上限=攻击上限/3 防御上限=自身防御+攻击力*2

武器升级 17 级后升附加属性

积分买卖系统

!!守财奴的戒指 //224 守财奴的戒指 Anicount 1 为 * (Anicount/10)10 表示1倍金币 25表示 2.5倍

武器升级 17 级后升附加属性
//

积分买卖系统
//数据库 BuyBackJf
//@jfbuy(0) (0 武器 1 衣服 2 帽子 3 项链 4 手镯 5 戒指 6 鞋子 7 杂物)
//@jfsell
//物品保存路径 .\Market\JfGoods\JfGood_*.dat

!!1。怪物数量物品
// (数据库) LogKillCount=1 记录一共被杀了多少个
//.\Envir\KillMonLog\AllKillMonLog.ini 记录怪物总共被杀的个数
//.\Envir\KillMonLog\AllKillMonLog.ini 记录怪物每天被杀的个数
//爆率文件设置 -5/6 MonKillCount>(5+random(6)) 则爆出

!!2。积分兑换卷 //Envir\ParamControl\EI内部参数.ini DropItemName=要爆的物品名 DropItemCount=还有多少个要爆 EndDropItemDatetime=爆到什么时候结束

!!4。指定时间指定怪物 指定角色爆 //.\Envir\Monitems\SetMonItem.ini [@ADDMONITEMS 时间(2007-05-06@12:12:20) 物品名 怪物名(nil='') 角色名(nil='')] @RELOADADDMONITEMS

//SETPKMODE 1 0
//参数1=1设置成PK竞技模式(可以在NOSPELL的地图内使用魔法,而且只能攻击该模式的玩家) 0取消PK竞技模式
//同时设置成执行该命令的NPC所在地图为挑战地图
//参数2=0 为允许吃药 =1 为禁止吃药

@_ONDELGUILDMEMBER
//ARG(1) = 退出行会的角色的名字
//沙 土行会触发 执行完后如果 P9=0 就正常退出行会,否则就退出失败

@_ONGUILDMAKEALLY
//ARG(1) = 对方名字
//ARG(2) = 对方行会名
//沙 土行会触发 执行完后如果 P9=0 就正常结盟,否则就结盟失败





上一篇:Win7 64位系统架设安装传奇3注意事项
下一篇:传奇3服务端刷怪文件解答说明
锄禾日当午,签到不辛苦...
回复

使用道具 举报

签到天数: 31 天

[LV.5]常住居民I

0

主题

79

帖子

178

钻石

Rank: 1

积分
79
发表于 2019-2-1 19:28:39 | 显示全部楼层
感谢分享,继续学习~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

传奇广告代理|传奇脚本|微变传奇|单职业传奇|热血传奇|传奇私服|GM论坛|英雄合击|小黑屋|百度统计|夜游神论坛 |网站地图

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.