传奇简单脚本实例教程


地图中自动出现物品.

点击查看代码

格式: ThrowItem 地图号 坐标X 坐标Y 范围 物品 数量|拣取间隔 
说明: 地图号=Self表示当前地图.
------------------------------------------------------------------------
例子:在盟重土城安全区自动出现红包.

#IF
Random 100
#ACT
ThrowItem 3 330 330 10 红包  5 
--------------------------------------------------------------------------------

例子:在盟重土城安全区自动出现红包,60秒后可拣取.

#IF
Random 100
#ACT
ThrowItem 3 330 330 10 红包 5|60

--------------------------------------------------------------------------------

例子:可写入多个物品同时出现,一行一个物品。

#IF
Random 100
#ACT

ThrowItem 3 330 330 10 红包 5|60

ThrowItem 3 330 330 10 裁决之杖 5|60

ThrowItem 3 330 330 10 屠龙 5|60

ThrowItem 3 330 330 10 龙纹剑 5|60

ThrowItem 3 330 330 10 骨玉权杖 5|60

传奇称号系统脚本

点击查看代码
自定义称号,具体参考配套工具(GameTools.exe)说明
基本
称号数据库(FengHaos.DB)需与物品数据库(StdItems.DB)等放在同一目录下,如:D:\mirserver\Mud2\DB 

称号附加条件
Need(附加条件)
0:需等级 NeedLevel=等级
1:需攻击力 NeedLevel=攻击力
2:需魔法 NeedLevel=魔法
3:需道术 NeedLevel=道术

设置称号发送确认信息(即设置主宰龙卫或护花使者时,让对方是否同意)
格式: GIVEFENGHAOAGREE 角色名 类型(1-255)
说明:执行命令时,会设置对方的变量 <$SETFENGHAOHUM> --即设置人变量
类型用于触发脚本段标识,即称号的idx字段,确认后执行,QF段 @FengHaoAgree+类型

[@InPutString51] 
#IF
CHECKFENGHAOCOUNT < 8
.gender man
CHECKFENGHAOLISTCOUNT 0 < 10
#act
GIVEFENGHAOAGREE 14
#say
请等对方确认!
#elseSay 
不是男性或不能再有更多的称号或不在线!!!或者你已经有10个护花使者了

QF文件
[@FengHaoAgree14]
#IF
#ACT
GIVEFENGHAO <$USERNAME> 护花使者 <$SETFENGHAOHUM> 

@ReloadHumTitleDB GM命令,重载称号数据库(FengHaos.DB)
需修改string.txt文件下的HumanShowName=%ChrName\%GuildName\%DearName\%MasterName\%Comradename\%Huhuaname

回收称号触发:QF文件 @FengHaoFuncX X-序号(DB里的序号字段)

Mir200\Envir\DominatSendPoint.txt 主宰令世界地图坐标设置文件

增加:地图参数PEAK(需测试)
说明:地图巅峰状态,攻击能力提升
格式:PEAK(最低攻击倍率/最高攻击倍率)
注:倍率除100为实际倍数
当最高攻击倍率大于100时,进入地图提示"您在此地图临时获得巅峰战神状态,攻击能力大幅提升!"
100内时提示"您在此地图临时获得巅峰勇士状态,攻击能力提升!"

NPC命令:
功能:给予玩家称号
格式:GIVEFENGHAO 角色名 称号名 设置人
注:当有同样的称号时,则不能再增加此称号
设置人:即"传奇之星"进行设置"护花使者"时使用,如果设置人不在线或没有"传奇之星"称号则设置失败
即"玛法主宰者"进行设置"主宰龙卫"时使用,如果设置人不在线或没有"玛法主宰者"称号则设置失败
注:最高只能设置10个护花使者或主宰龙卫

功能:回收玩家称号
格式:RECYCFENGHAO 角色名 称号名

功能:检查玩家是否有指定称号
格式:CHECKFENGHAO 称号名

功能:检查玩家所有称号的数量
格式:CHECKFENGHAOCOUNT 角色名 操作符(<,>,=) 数量(0-8)

功能:检查玩家护花使者或主宰龙卫的数量
格式:CHECKFENGHAOLISTCOUNT 类型(0-护花使者 1-主宰龙卫) 操作符(<,>,=) 数量(0-10)

功能:检查行会设置行会之星的间隔(无行会无效)
格式:CheckGuildStarDay 操作符(<,>,=) 小时数

变量<$GUILDSTARDATE>---授于行会之星的操作日期

[物品DB]-使用不减持久,称号消失时触发QF文件回收,,需设置死亡不爆出等属性
1092;护花使者令;2;253;1;0;0;0;2182;10000;0;0;0;0;0;0;0;0;0;0;0;0;20000;5;
1093;主宰令牌;2;254;1;0;0;0;2181;10000;0;0;0;0;0;0;0;0;0;0;0;0;20000;5;

脚本示例

[@Main]
内容自己填写即可\
<称号/@称号> \


[@称号]
<设置传奇之星/@传奇之星> <任命护花使者/@任命护花使者> \
<设置玛法主宰者/@玛法主宰者> <任命主宰龙卫/@任命主宰龙卫> 

[@传奇之星] 
#IF
CHECKFENGHAOCOUNT <$USERNAME> < 8
gender WOMAN
#act
GIVEFENGHAO <$USERNAME> 传奇之星
give 护花令牌
#elseSay 
你不是女性或不能再有更多的称号了,没位了!!!

[@任命护花使者]
<任命护花使者名字/@@InPutString51> ←输入需要设置的玩家名字!\ \ 
〖<返回/@main>〗

[@InPutString51] 
#IF
CHECKFENGHAOCOUNT <$STR(S51)> < 8
<$STR(S51)>.gender man
CHECKFENGHAOLISTCOUNT 0 < 10
#act
GIVEFENGHAO <$STR(S51)> 护花使者 <$USERNAME>
#elseSay 
<$STR(S51)>不是男性或不能再有更多的称号或不在线!!!或者你已经有10个护花使者了

[@玛法主宰者] 
#IF
CHECKFENGHAOCOUNT <$USERNAME> < 8
#act
GIVEFENGHAO <$USERNAME> 玛法主宰者
give 主宰令牌
#elseSay 
你不能再有更多的称号了,没位了!!!

[@任命主宰龙卫]
<任命主宰龙卫名字/@@InPutString52> ←输入需要设置的玩家名字!\ \ 
〖<返回/@main>〗

[@InPutString52] 
#IF
CHECKFENGHAOCOUNT <$STR(S52)> < 8
CHECKFENGHAOLISTCOUNT 1 < 10
#act
GIVEFENGHAO <$STR(S52)> 主宰龙卫 <$USERNAME>
#elseSay 
<$STR(S52)>不能再有更多的称号或不在线!!!或者你已经有10个主宰龙卫了

QF触发

[@FengHaoFunc13]
#IF
#ACT 
take 护花使者令
SENDMSG 7 提示:回收护花使者令

[@FengHaoFunc0]
#IF
#ACT 
take 主宰令
SENDMSG 7 提示:回收主宰令
****传奇通过脚本建立NPC方法****
点击查看代码
通过脚本命令建立一个NPC,服务器重启后消失. 

格式: CreateNPC NPC名字 地图 坐标X(-1时随机坐标) 坐标Y(-1时随机坐标) 外观 脚本文件 脚本文件是否要加上地图名称

(例如.设置为0时脚本文件必须带“-3”如:“传送员-3.txt” 设置为1时脚本文件不需要带“-3”如:“传送员.txt”这样的好处就是

你可以在任意地图地图创建NPC,只要一个脚本“传送员.txt”而不需要“传送员-0.txt、传送员-3.txt”等等好多NPC脚本)

注意: 脚本文件必须在Market_Def目录中.

例如:首先在Market_Def中建立一个叫  测试-3.txt  的脚本文件.
通过另外一个NPC建立另一个NPC,示范脚本。



[@main]

你好,你可以通过我建立新的NPC哦。\

<建立NPC/@建立1>    <建立NPC/@建立2> \



[@建立1]

#IF

#ACT
CreateNPC 测试 3 330 330 8 测试-3 0 
#SAY
通过脚本在土城330 330 坐标处建立了一个NPC.


[@建立2]
#IF
#ACT
CreateNPC 测试NPC 3 -1 -1 8 测试NPC 1 
#SAY
通过脚本随机在土城建立了一个NPC 
**传奇地图名称以玩家名字命名**
点击查看代码
此脚本是教大家怎么创建一个镜像地图,当玩家进入某个地图后,地图会变成这个玩家的名字

这个是传奇的镜像地图功能,具体大家可以参考传奇精英发布的脚本



动态创建一个镜像地图

ADDMIRRORMAP
格式:AddMirrorMap A B C D E F
功能:动态创建一个镜像地图
说明:创建成功后,人物D99变量返回1,否则返回0
A,原地图编号,在地图配置文件中存在的地图!
B,新地图编号,临时使用的地图编号,就和镜像地图功能一样!
C,新地图名,这里指客户端显示的名字
D,该地图存在的有效时长(秒),时间到后,此地图将自动回收,并且将地图上的人传送至E参数设置的地图
E,人物退出时返回的地图编号
F, 小地图编号

DelMirrorMap
格式:DelMirrorMap 地图名
功能:删除动态创建的镜像地图

MirrorMapTime
格式:MirrorMapTime 地图名 时间(单位:秒)
功能:设置/获取镜像地图的时间
说明:如果时间不写,则表示获取当前地图的剩余时间,时间返回在D99变量
如果获取地图失败或不是镜像地图,则D99返回-1

CheckMirrorMap
格式:CheckMirrorMap 地图名
功能:检测镜像地图是否已经创建

-------------------------------下面是使用例子---------------------------------

;使用人物名称做为副本地图的名称创建副本
[@main]
#if
#act
MirrorMapTime <$USERNAME>
#SAY
剩余时间:<$STR(D99)>秒\ \
<创建副本/@创建副本>\
<进入副本/@进入副本>\
<删除副本/@删除副本>\

[@删除副本]
#ACT
DELMIRRORMAP <$USERNAME>
goto @main

[@进入副本]
#IF
LARGE D99 0
#ACT
give 回城卷 1
map <$USERNAME>
#ELSEACT
goto @main
SENDMSG 6 副本地图还没有创建

[@创建副本]
#if
CheckMirrorMap <$USERNAME>
#ACT
goto @main
SENDMSG 6 该副本地图已经创建
BREAK

#IF
#ACT
AddMirrorMap 0 <$USERNAME> 比奇副本 60 0159 101
;创建一个连接,地图3 坐标 X:333 Y:333 连接到新创建的副本地图坐标 X:333 Y:333
AddMapGate 连接 3 333 333 1 <$USERNAME> 333 333 60

#if
Equal D99 1
#ACT
goto @main
SENDMSG 6 创建成功
#ELSEACT
goto @main
SENDMSG 6 创建失败


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM