⑴ 传奇脚本制作命令
分类: 游戏 >> 游戏工具
问题描述:
我想知道一些传奇脚本制作命令,就是NPC的例如给东西 检测结婚 师徒,传送到那些地方,给宝宝什么的。多多益善 越详细越好谢谢。
解析:
传奇脚本命令大全
命令与函数:
checkjob (Warr, Wizard, Taos) ;测试职业
checkgold (金币数) ;测试金币
checklevel (等级) ;测试等级
checkitem (物品名) (数量) ;测试物品及数量
give gold (金币数) ;给钱
give (物品名) (数量) ;给物及数量
take gold (金币数) ;拿走钱
take (物品名) (数量) ;拿走物及数量
checkpkpoint (pk值) ;测试PK值
checkluckypoint (幸运值) ;幸运值正值为好,负值为差
checkraeva (物品名) (数值) ;一般测试矿物等物品的品质
checkhum (地图名) (数值) ;测试这个地图的人数
checkmonmap (地图名) (数值) ;测试这个地图的怪物数
map (地图名) ;移动到这个地图
mapmove (地图名) (坐标A) (坐标B) ;移动到这个地图指定坐标
monclear 地图清除
close 关闭对话框
TimeRecall (设定时间值) ;分钟,一般指进入地图时间限制
BreakTimeRecall ;中断设定时间
ExchangeMap (地图名) ;与指定地图里的人交换位置
daytime sunset ;一天时间
checkbaggage ;测试背包满没
*** all (变量) (数值) ;测试变量是不是小于指定数值
large (变量) (数值) ;测试变量是不是大于指定数值
equal (变量) (数值) ;测试变量是不是等于指定数值
mov (变量) (数值) ;让变量等于指定数值
sum (变量A) (变量B) ;A+B 注意,如果还要家第3个数直接换行写sum (变量C)
注:关于SUM的详解
首先有MOV (变量X) 0 ;(变量X)清0
sum (变量A) (变量B) ;X=A+B
sum (变量C) ;X=X+C
movr (变量) (数值) ;随机把指定数值以下的数(正数)给变量
inc (变量) (数值) ;让变量自动加指定数值到变量
playdice (骰子数) @xxx ;玩骰子,跳转到标签[@xxx]
random (随机数) ;一般用在#IF语句中作为触发#IF机率,有时随机数=并列#IF语句数用于随机多项选择,既:
#IF RANDOM 3 #SAY() #ELSEACT
#IF RANDOM 3 #SAY() #ELSEACT
#IF RANDOM 3 #SAY() #ELSEACT
Check [条件数] 1 ;测试[条件数]触发与否 1(触发)
SET [条件数] 1 ;设置[条件数]触发
batchDelay (暂停时间) ;一般为1
addbatch (地图名1)
addbatch (地图名2)
addbatch (地图名3)
addbatch (地图名4)
addbatch (地图名5)
batchmove ;一步步到下一个地图直到5
param1 01141 ;01141=(地图名)
param2 10
param3 10
mongen 火焰沃玛2(怪物名) 30 10
;玩骰子脚本解析
#IF
equal p9 1 ;测试 p9是不是等于1
#ACT
goto @cube ;是的,到@cube
BreakTimeRecall (中断设定时间)
break
#IF
equal p9 9 ;测试 p9是不是等于9
#ACT
goto @quit ;是的,到@quit 退出
BreakTimeRecall (中断设定时间)
break
[@main-1]
#IF
#ACT
mov p9 0 ;测试 p9是不是等于0
#SAY
say ;欢迎词
<下一步/@pre_cube>
[@pre_cube]
#IF
checkitem 筹码 1 ;测试有没有筹码
#ACT
mov p9 1 ;有,让p9=1
take 筹码 1 ;给出一个筹码
movr d0 6 ;;随机把6以下的数(正数)给d0
inc d0 1 ;让d0自动加1到d0
playdice 1 @cube ;玩骰子,点击到标签[@cube]
#SAY
正在投骰子. \ <下一个/@cube>
#ELSESAY
quit
<退出/@Quit>
#ELSEACT
mov p9 9 ;转到标签@quit并让P9等于9
[@Quit]
#IF
#ACT
map B011 ;退出到B011地图
[@cube]
#IF
#SAY
骰子的点数 <$STR(D0)> \ ;<$STR(D0)>是变量,把D0数值型转字符型
你可以前进 <$STR(D0)> \ <移动/@next_cube>
[@next_cube]
#IF
equal d0 1 ;如果 d0=1
#ACT
goto @posi1 ;到POSI1
break
#IF
equal d0 2
#ACT
goto @posi2
break
#IF
equal d0 3
#ACT
goto @posi3
break
#IF
equal d0 4
#ACT
goto @posi4
break
#IF
equal d0 5
#ACT
goto @posi5
break
#IF
equal d0 6
#ACT
goto @posi6
break
[@Posi1]
#IF
#ACT
batchDelay 1 ;一般为1(暂停时间)
addbatch B102 ;步进地图名1
batchmove ;移动到最后一个步进地图
[@Posi2]
#IF
#ACT
batchDelay 1
addbatch B102
addbatch B103
batchmove
[@Posi3]
#IF
#ACT
batchDelay 1
addbatch B102
addbatch B103
addbatch B104
batchmove
[@Posi4]
#IF
#ACT
batchDelay 1
addbatch B102
addbatch B103
addbatch B104
addbatch B105
batchmove
[@Posi5]
#IF
#ACT
batchDelay 1
addbatch B102
addbatch B103
addbatch B104
addbatch B105
addbatch B106
batchmove
[@Posi6]
#IF
#ACT
batchDelay 1 ;一般为1(暂停时间)
addbatch B102 ;步进地图名1
addbatch B103 ;步进地图名2
addbatch B104 ;步进地图名3
addbatch B105 ;步进地图名4
addbatch B106 ;步进地图名5
addbatch B107 ;步进地图名6
batchmove ;移动到最后一个步进地图(这里是6)
;结束
SET
语句:
#IF
……
#ACT(SAY)
……
#ELSESAY(ACT) ;ELSE的两句是并列的,都是IF<>(条件)的动作
……
#ELSEACT(SAY)
……
goto (标签名)
break (中断)
\ ;换行
变量:
<$USERNAME> 当前用户名
<$GUILDWARFEE>行会战金币数
<$LORD>沙巴克行会头名
<$OWNERGUILD>沙巴克行会名
<$UPGRADEWEAPONFEE>升级武器价格
<$USERWEAPON> 放在对话框里的武器名字
<$STR(变量)> 把变量转换为字符型
网风传奇脚本编辑器V1.0.1
wfyl/sfrj/sfrj/200603/20060314224115
⑵ 传奇人物升级触发、杀人、使用物品和游戏命令触发的命令脚本什么
脚本文件位于: X:\GameOfmir\Mir200\Envir\Market_Def\QFunction-0.txt
此脚为功能脚本,用于实现各种与脚本有关的功能
;人物升级触发
[@PlayLevelUp]
#ACT
MessageBox 升级
;人物死亡触发
[@PlayDie]
#ACT
MessageBox 死了
;杀人触发
[@KillPlay]
#ACT
MessageBox 你杀人了
;使用物品
[@StdModeFuncX]
#IF
#ACT
sendmsg 7 触发成功!!
;游戏命令
[@Member]
弹出脚本菜单!!!
<关闭/@exit>
⑶ 《传奇》脚本该如何执行
不知道你是什么引擎,有的引擎执行这个脚本要麻烦一些,有的就非常简单。
-------------------------HERO引擎实现攻击目标触发--------------------------------
首先在地图配置文件MapInfo.txt里面添加 @Attack
比如 [3 盟重土城] HITMON(@Attack ) 这个就代表在盟重土城攻击目标时才触发,其他地图则不触发,如果想在其他地图触发,那就在相应的地图后面加上这个参数。
然后在 QFunction-0.txt 这个系统固定脚本文件中添加一段执行脚本
[@Attack]
#IF
checkitemw 开天 1 ;检测手上必须拿的是开天,才触发脚本
CHECKHITMONNAME <$STR(S0)> ;检测攻击的目标取得目标名称
#ACT
SendMsg 0 提示:<$STR(S0)>被<$USERNAME>手中的"开天"击中
break
我们可以参考砍猪的脚本,大致跟这个一样!
---------------------------D3D引擎实现攻击目标触发--------------------------------
这个引擎的就简单了多,直接在 QFunction-0.txt 这个系统固定脚本文件中添加一段执行脚本
下面这是个范例,根据你自己的需要修改都可以。
;所有触发只有攻击到怪物才会触发,有些魔法不会触发,如魔法盾
;======================魔法攻击触发==========================
[@MagicStruck]
#IF
CHECKCURRTARGETRACE
= 0
#ACT
SENDMSG 6 你被人物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255
253
BREAK
#IF
#ACT
SENDMSG 6 你被怪物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255
253
BREAK
[@MagicAttack]
#IF
CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 你攻击了人物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID>
255 249
BREAK
#IF
#ACT
SENDMSG 6 你攻击了怪物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID>
255 249
BREAK
;======================物理攻击触发==========================
[@Struck]
#IF
CHECKCURRTARGETRACE
= 0
#ACT
SENDMSG 6 你被人物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255
253
BREAK
#IF
#ACT
SENDMSG 6 你被怪物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255
253
BREAK
[@Attack]
#IF
CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 你攻击了人物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID>
255 249
BREAK
#IF
#ACT
SENDMSG 6 你攻击了怪物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID>
255 249
BREAK
⑷ 传奇私服设置一个物品或者按钮触发每秒回血和相对应扣除元宝的脚本
这个脚本我有,玩家可以设置当血量少于多少人物开始每秒回血多少点,血量超过设置点停止回血,MP也可以设置
⑸ 传奇私服捡取物品触发提示脚本求助
1、在MapEvent.txt内加“3 -1 -1 -1:1
2:裁决之杖:0 0 1:@MapEventPickUpItem3”及在QFunction-0加:“[@MapEventPickUpItem3]
#ACT
SendMsg 0 “裁决之杖” 已掉落在:[%M].坐标:[%x:%y]”_____在盟重捡取裁决无法提示。
2.mapquest.txt内加3 [603] 0 * 裁决之杖 ZS1,并加了ZS1.txt的相应也无法实现。。。。。。。。
⑹ 传奇服务端脚本命令
1、常用命令
#IF ;如果
#SAY ;输出字符串
#ACT ;执行命令
break ;结束命令
close ;结束对话
2、人物条件命令
CHECKITEM 物品名 数量 ;检测当前人物所带物品及数量
CHECKGOLD 数量 ;检测当前人物所带金币数量
CHECKLEVELEX (>,<,=) 等级数 ;检测当前人物等级
CHECKCREDITPOINT (>,<,=) 声望数 ;检测当前人物声望
CHECKJOB (Warrior,Wizard,Taoist) ;检测当前人物所属职业
CHECKHUM 地图名 数量 ;检测指定地图的玩家数量
CHECKITEMW 物品名 数量 ;检测当前人物是否佩带指定物品
CHECKDURAEVA 物品名 数值 ;检测当前人物所带矿物等物品的品质
CHECKBAGGAGE ;检测当前人物的背包是否已满
ONLINELONGMIN (>,<,=) 时长 ;检测当前人物在线时长
CHECKCASTLEDOOR (损坏,开启,关闭) ;检测沙城城门状态
CASTLEWARAY (>,<,=) 天数 ;检测上次攻城到现在的天数
CASTLECHANGEDAY (>,<,=) 天数 ;检测沙巴克占领天数
CHECKOFGUILD 行会名称 ;检测当前人物行会名称
CHECKNAMELIST 角色名列表.txt ;检测当前人物角色名是否在列表中
CHECKGUILDLIST 行会列表.txt ;检测当前人物行会是否在列表中
CHECKACCOUNTLIST 帐号列表.txt ;检测当前人物帐号是否在列表中
CHECKIPLIST IP列表.txt ;检测当前人物IP是否在列表中
CHECKACCOUNTIPLIST 帐号和IP列表.txt ;检测当前人物登录帐号与IP是否与列表中匹配
CHECKNAMEIPLIST 角色名和IP列表.txt ;检测当前人物角色名称与IP是否与列表中匹配
ISADMIN ;检测当前人物是否为管理员
HAVEGUILD ;检测当前人物是否加入行会
ISCASTLEGUILD ;检测当前人物是否为沙城成员
ISCASTLEMASTER ;检测当前人物是否为沙城老大
ISGUILDMASTER ;检测当前人物是否为行会老大
ISNEWHUMAN ;检测当前人物是否为新人
CHECKSLAVECOUNT (>,<,=) 数量 ;检测传奇私服人物所带宠物的数量
CHECKSLAVELEVEL (>,<,=) 等级数(7) ;检测当前人物所带宠物的等级
CHECKEXP (>,<,=) 经验值 ;检测当前人物经验值
CHECKPOSELEVEL (>,<,=) 等级数 ;检测当前人物对面人物的等级
CHECKPOSEGENDER 性别(男,女) ;检测当前人物对面人物的性别
CHECKMEMBERLEVEL 类型 (>,<,=) 等级数 ;检测当前人物的会员等级
CHECKMEMBERTYPE (=,>,<) 类型数 ;检测当前人物的会员类型
CHECKRENEWLEVEL (=,>,<) 转生次数 ;检测当前人物的转生次数
CheckBagSize 数量 ;检测当前人物背包空格数
CHECKDC (=,>,<) 攻击下限 (=,>,<) 攻击上限 ;检测当前人物攻击力的上限及下限值
CHECKMC (=,>,<) 魔法下限 (=,>,<) 魔法上限 ;检测当前人物魔法力的上限及下限值
CHECKSC (=,>,<) 道术下限 (=,>,<) 道术上限 ;检测当前人物道术力的上限及下限值
CHECKHP (=,>,<) HP下限 (=,>,<) HP上限 ;检测当前人物HP值的上限及下限值
CHECKMP (=,>,<) MP下限 (=,>,<) MP上限 ;检测当前人物MP值的上限及下限值
CHECKUSEITEM 物品位置 ;检测当前人物身上指定位置是否戴物品
CHECKITEMTYPE 物品位置 物品类型 ;检测当前人物身上指定位置戴的物品是否为指定类型
CHECKGAMEPOINT 活力值 ;检测当前人物活力值
ISLOCKPASSWORD ;检测当前人物的仓库是否解锁
PASSWORDERRORCOUNT (=,>,<) 次数 ;检测当前人物输入仓库密码错误次数
CheckRangeMonCount 地图号 X Y 范围 (=,>,<) 数量 ;检测一个坐标范围内怪物数量
CheckMonMap 地图号 数量 ;检测一个指定地图内的怪物数量
CHECKMON 数量 ;检测私服人物所在地图内的怪物数量
CHECKSKILL 技能名称 (=,>,<) 修炼等级 ;检测当前人物已学技能
3、地图功能命令
MAP 地图名 ;将当前人物移动到指定地图
MOVEMAP 地图名 X Y ;将当前人物移动到指定地图的指定坐标
TIMERECALL 时间值 ;指定当前人物到达多少时间后被传回这里
BREAKTIMERECALL ;中断指定人物达多少时间后被传回这里
RECALLMOB 怪物名称 宝宝等级(最高为 7) 叛变时间(分钟) 是否自动变色(0、1)固定颜色(1-7);给予当前人物指定怪物为宝宝
setautogetexp 命令 时间 经验 是否安全区(0为任何地方) 地图号(任何地图请不用填);指定当前人物在线泡经验(直接得到经验)
GAMEGOLD (=,+,-) 数量 ;调整当前人物的元宝数量
SETRANKLEVELNAME 封号 ;调整当前人物的封号
ADDGUILDLIST 行会列表.txt ;将当前人物行会名加入列表
DELGUILDLIST 行会列表.txt ;将当前人物行会名从列表删除
ADLNAMELIST 角色名列表.txt ;将当前人物角色名加入列表
DELNAMELIST 角色名列表.txt ;将当前人物角色名从列表删除
CLEARNAMELIST 列表.txt ;清除列表内的所有信息
HAIRSTYLE 数值 ;调整当前人物的发型
CHANGENAMECOLOR 数值 ;调整当前人物的名字颜色
CHANGEJOB 职业名称(Warrior,Wizard,Taoist) ;调整当前人物的所属职业
CHANGEGENDER 数值 ;调整重庆市人物的所属性别
ADDSKILL 技能名称 技能等级 ;给予当前人物添加指定技能
DELSKILL 技能名称 ;删除当前人物的指定技能
SKILLLEVEL 技能名称 (=,+,-) 技能等级 ;调整当前人物的指定技能为指定等级
DELNOJOBSKILL ;删除当前人物非本职业的所有技能
CLEARSKILL ;删除当前人物的所有技能
GAMEPOINT (=,+,-) 数量 ;调整当前人物的活力值
CREDITPOINT (=,+,-) 数量 ;调整当前人物的声望点数
SETMEMBERLEVEL (=,+,-) 等级数 ;调整当前人物的会员等级
SETMEMBERTYPE (=,+,-) 等级数 ;调整当前人物的会员类型
CHANGELEVEL (=,+,-) 等级数 ;调整当前人物的等级
CHANGEPKPOINT (=,+,-) 点数 ;调整当前人物的PK点数
CHANGEEXP (=,+,-) 经验值 ;调整当前人物的经验值
CHANGEMODE 模式类型(1管理模式、2无敌模式、3隐身模式) 开关(1为开,0为关) ;调整当前人物的游戏模式
CHANGEPERMISSION 权限等级 ;调整当前人物的权限等级
KILLMONEXPRATE 倍率 有效时间 ;调整当前人物的杀怪经验倍率
POWERRATE 倍率 有效时间 ;调整当前人物的攻击力倍率
KICK ;将当前人物踢下线
KILL 数值 ;将当前传奇私服人物杀死,并设置杀死类型
KILLSLAVE ;将当前人物的宝宝全部杀死
CLEARPASSWORD ;清除当前人物的仓库密码
RestRenewLevel ;将人物的转生次数复位为零,即未转生
DELMARRY ;清除当前人物的结婚信息
DELMASTER ;清除当前人物的拜师信息
RENEWLEVEL 转次数 转后等级 0 ;将当前人物转生,并设置转生次数以及转生后人物等级跳到多少级
SENDMSG 信息类型代码 %s信息内容%d ;发送文字信息
CLEARMAPMON 地图号 ;清除指定地图的所有怪物
RESTBONUSPOINT ;清楚当前人物的属性点
PARAM1 地图 ;NPC指定刷怪地图
PARAM2 横坐标 ;NPC刷怪X坐标
PARAM3 纵坐标 ;NPC刷怪Y坐标
MONGEN 怪物名称 数量 时间 ;NPC刷怪命令+怪物+数量+时间
takew可以取走身上装备的物品)
mapmove 移动地图(例如:mapmove 0 634 612)
map 移动地图(不需要具体坐标.例如:map 0)
timerecall 在规定时间内召回(timerecall 5 在5分钟之内召唤回原地图)
takecheckitem 收取checkitem过的物品(不加任何参数)
monclear 清空地图怪物(monclear 0 清空0地图上的所有怪物)
exchangemap 互换地图(exchangemap 地图代码)
recallmap 把某地图的人召唤过来(recallmap 地图代码)
batchmove 3 (此3个连用可以瞬移地图用于赌场)
3、定义变量
RANDOM 随机数 ;一般用在#IF语句中作为触发#IF机率,
EQUAL 变量名 数值 ;检测变量是否等于指定数值
LARGE 变量名 数值 ;检测变量是否大于指定数值
SMALL 变量名 数值 ;检测变量是否小于指定数值
MOV 变量名 数值 ;给予变量赋于指定值
INC 变量名 数值 ;给予变量加上指定值
DEC 变量名 数值 ;给予变量减去指定值
SUM 变量名A 变量名B ;将两个变量相加
MOVR 数值 ;变量赋予小于指定数值的随机非负数
<$STR(变量)> ;把变量转为字符串
SET [变量名] 数值 ;定义变量
RESET [变量名] 连续数字 ;连续将变量清零
CHECK [变量数值] 数值 ;检测变量是否等于指定数值
(6)传奇脚本单键触发扩展阅读
传奇服务器脚本命令常见错误
1、错误一:
#if
RANDOM 3
#act
goto 1
break
#if
RANDOM 3
#act
goto 2
break
#if
RANDOM 3
#act
goto 3
break
很多人认为random的具体运行是首先在3以下随机取一个值,然后该脚本内的random 3都不再取值了。那样理解的时候goto 1、2、3的几率是相等的,都是1/3。
这是一个理解上的错误,实际这里运行的操作是这样的,到达1的几率为1/3,到达2的几率为先2/3然后1/3就是2/9。而到达3的几率则为2/3然后2/3然后1/3实际几率为4/27!
2、错误二:
#if
RANDOM 3
#act
goto 1
break
#if
RANDOM 2
#act
goto 2
break
#if
RANDOM 1
#act
goto 3
break
有人认为在第一个random的时候会给一个隐藏的值在3以下做一个赋值。然后以后的random就是检测是否自己的random值和这个隐藏值相同,如果相同则#act。
这个也是一种错误理解,虽然同是对random理解错误造成的,但是该错误与错误一理解上是不同的。但是这种随机的设计方式是提倡的,利用P变量的随机取值是可以完成的。
⑺ 传奇人物升级触发、杀人、使用物品和游戏命令触发的命令脚本什么
一、命令脚本文件位码和于:X:GameOfmirMir200EnvirMarket_DefQFunction-0.txt。
二、此脚为功困销能脚本,用于实现各种与脚迟尺盯本有关的功能。
三、人物死亡触发,[@PlayDie]#ACT。