当前位置:首页 » 网页前端 » 传奇炼星脚本怎么写
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

传奇炼星脚本怎么写

发布时间: 2023-07-25 17:30:40

A. 传奇脚本教程入门

传奇脚本教程入门:

1、第一步:打开传奇挂机脚本编辑器(仅适用于木剑会议),并选择相应的类型的西装你正在发挥。如果是内部/3K/HGE引擎的点击坐标,点击LEG引擎右侧进入。

2、第二步:按照脚本编辑器中给出的说明,一步一步填写需要的函数。

3、第三步:按照说明一步一步填写后,点击生成脚本,脚本生成后点击保存。

4、第四部分:打开木剑会议助手,点击挂机功能,点击脚本路径后面的浏览,上传刚刚保存的脚本,或者直接昌团拖拽脚本到这个界面。

比如:检测职业:checkjob Warrior 意思就是检测职业是不是战士如果不羡孙是就无法下一步,也就是说满足战士职业才可以耐派橘进行下级命令。

检测人物金币数量:CHECKGOLD >3000 意思就是说人物金币大于3000才可以进入或者下一步。

MOVEMAP 3 339 339 意思就是说 移动地图3土城意思 移动到土城坐标为339,339位置。

B. 传奇脚本 怎么制作

多人都或多或少的接触过传奇服务器端脚本文件,也很想自己制作一点脚本来试试,但又不敢乱碰生怕改坏一点东西造成不能运行服务器端,其实“脚本语言“(我们暂且称他为一种语言)和C语言等等程序语言比起来那真是不值得一提。看完我给大家写的这篇文章后,你就自己偷着做吧...
可以说传奇服务器端所有的重点都集中在\mir200\envir\中,这里面记载着所有服务器要在游戏中表现的东西。在游戏中的npc信息也在其中,npcs.txt文件和merchant.txt文件中记载着npc的名称、出现的地图、坐标、范围和形象代码。你要问两个记载的npc有什么不同?为什么不和在一起算了?我来告诉你,npcs.txt中记载的npc是对话型npc,在进入游戏后,不能够使用@reloadnpc刷新信息的npc。而merchant.txt是交易型和任务型npc,可以使用@reloadnpc刷新信息。但我也做过试验,两种npc互换后也可以使用,好像没有太大的限制。
npcs.txt对应的文件在.\npc_def\文件夹中,merchant.txt对应的文件在.\market_def\文件夹中。你如果要添加npc的时候,要注意npc的文件名,例如你要创建一个超级商人的npc要他出现在比奇省330:330的坐标。首先你要在.\market_def\文件夹中创建一个文本文件命名为“超级商人-0“(这里你可以使用英文,也可以使用中文,但后面的数字必须要是这个npc出现的地图代码!),然后把你写好的脚本粘贴在里面。再打开merchant.txt文件,添加以下信息:
;调用的文件
地图
坐标x
坐标y
范围
人物代码
刷新时间
超级商人
0
330
330
0
5
0
相信大家可以看懂吧,这里面的空格不要紧,没有规定信息之间必须空几格。人物代码自己换吧,现在的npc有46种模样。
和脚本的规则一样,这两个文件里面以;开头的行就当作注释部分不做编译。

C. 传奇服务端脚本命令

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 [变量数值] 数值 ;检测变量是否等于指定数值

(3)传奇炼星脚本怎么写扩展阅读

传奇服务器脚本命令常见错误

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变量的随机取值是可以完成的。



D. 传奇加星装备还原属性脚本怎么写

引擎:heroM2
网址:http://bbs.1x.la
功能: 清除使用宝石升级的装备属性.
格式: ClearStoneUpgrade 位置(0-14)
注意: 此命令不区分极品和普通装备,清除时所有属性都将消失.

例子: 清除衣服升级的星
[@main]
#IF
#ACT
ClearStoneUpgrade 0

物品位置:
0 盔甲
1 武器
2 照明物
3 项链
4 头盔
5 右手镯
6 左手镯
7 右戒指
8 右戒指
9 无(放护身符位置)
10 腰带
11 鞋子
12 宝石

E. 求传奇脚本编写

第一个脚本如下:
[@main]
#if
ISCASTLEGUILD
#act
goto @检查等级
break
#elsesay
你不是沙巴克成员,不能领取会员证明!

[@检查等级]
#if
checklevelex > 59
#act
goto @检查名单
break
#elsesay
你的等级还没到达60级,不能领取会员证明!

[@检查名单]
#if
CHECKNAMELIST ..\QuestDiary\领取证明\已领取名单.txt
;说明(检查\QuestDiary\领取证明\已领取名单.txt是否有名单,需要在D:\MirServer\Mir200\Envir\QuestDiary\下创建文件夹“领取证明”\里面创建“领取名单.txt”)
#act
break
#say
你已经领取过会员证明了,不能再领取了
#elseact
give 会员证明 1
addnamelist ..\QuestDiary\领取证明\已领取名单.txt
;说明(给予会员证明后,把人物名字添加到\QuestDiary\领取证明\已领取名单.txt下)
#elsesay
恭喜你领取了会员证明!

第二个脚本思路跟上面的是一样的,至于每天用机器人进行清除就用上面的脚本举例,脚本如下

AutoRunRobot.txt 文档下写 #AutoRun NPC RUNONDAY 00:00 @清理数据
RobotManage.txt 文档下写 如下:

[@清理数据]
#IF
#ACT
GMEXECUTE StartQuest @名单清理
;说明(上面的清理数据路径是在登陆脚本QManage.txt里面的)

QManage.txt登陆脚本 的脚本如下:
[@名单清理]
#if
#act
#CALL [领取证明\名单清理.txt] @清理名单
;说明(\QuestDiary\领取证明\添加一个名单清理.txt里面写一个清理脚本)
BREAK

;[领取证明\名单清理.txt] @清理名单 清理脚本如下:
[@清理名单]
{
#if
#act
CLEARNAMELIST ..\QuestDiary\领取证明\已领取名单.txt
}

注意:{ }很重要,没有的话M2会报错

网络搜索 传奇技术吧 里面有很多脚本,很适合新手

F. 传奇任务脚本怎么写我

A: NPC领取杀怪任务100只,当杀怪达到100只的时候回来NPC处领取奖励
B:人物在某地图杀怪提示。即每杀一只怪 聊天框 就提示你目前杀怪总数为:
C:当杀怪达到100只,;聊天框提示:杀怪总数完成,请回去领取奖励

A 用到自定义变量
B 用到杀怪触发
C 一样杀怪触发
临时写的 看下面的
[@main]
#if
#say
<领取杀怪100任务/@领取> <任务完成领取奖励/@奖励>
[@领取]
#if
Check [100] 0
#act
set [100] 1
SENDMSG 6 提示:任务领取完毕,请尽快完成.
#elseact
SENDMSG 6 提示:草,领取过的还来捣乱,劳资干死你.
break
[@奖励]
#if
CHECKVAR HUMAN SGCF > 99
#act
set [100] 0
CREDITPOINT + 5
SENDMSG 6 提示:任务完成奖励声望+5.
CALCVAR HUMAN SGCF = 0
SAVEVAR HUMAN YUAN ..\QuestDiary\数据文件\变量数据.txt
#elseact
SENDMSG 6 提示:草,任务未完成,还想要奖励,滚.
break
-----------------------------------------------------------------------------
登陆脚本如下:
请在mirserver\Mir200\Envir\QuestDiary\数据文件\ ---目录下建立一个[变量数据.txt]的文本
如果没有的话就自己创建
[@login]
#if
CHECKLEVELEX > 0
#act
VAR Integer HUMAN SGCF
LOADVAR HUMAN SGCF ..\QuestDiary\数据文件\变量数据.txt
-----------------------------------------------------------------------------
杀怪触发:
mirserver\Mir200\Envir目录下MapQuest.txt文本,添加如下一行:
3 [035] 0 沃玛教主 * Q016

上面的3代表杀怪所在的地图号,沃玛教主代表杀的怪物名称,可以自己修改
Q016对应的是mirserver\Mir200\Envir\MapQuest_Def 里面的文本
意思就是这里写Q016那么MapQuest_Def目录下触发的文本名称也必须是 Q016.txt
总之最后你写什么那么MapQuest_Def目录下就必须创建一个相对应的名称txt文本
-----------------------------------------------------------------------------
mirserver\Mir200\Envir\MapQuest_Def\Q016.txt 里面的文本内容如下:
[@main]
#IF
CHECKVAR HUMAN SGCF > 99
#ACT
mapmove 3 333 333
SENDMSG 6 提示:任务完成.
#elseact
CALCVAR HUMAN SGCF + 1
SAVEVAR HUMAN YUAN ..\QuestDiary\数据文件\变量数据.txt
messagebox 您的当前杀怪数量为:<$HUMAN(SGCF)>
break

3K的,方法一样