|
|
经过前面五个章节,相信已经初步理解了传奇私服的架设和运行,如果获得一个现成的版本,应该可以开服了。
但若是要对游戏进行深入了解和制作,还有很多东西需要学习。
下面将对常用基础功能
NPC
作一些举例,本次包括下面内容:
,经验丹
) 3
,装备回收
) 4
,变性
,转职
,摆摊
前提;
有些吃的卷轴(药品
),要产生除加血加魔之外的其他效果,通常要用脚本来实现。其组成包括:数据库
StdItems
,物品字段:
StdMode(
Shape(
Anicount(
脚本编号
Source(
使用方式
DuraMax(
持久或者次数
定点传送使用命令
Mapmove 8 640 460
;随机传送使用命令
Map 8
NPC
举例;
(1)
NPC
不需要在数据库添加记录
但是需要在
Npcs.txt
MERCHANT.TXT
中添加
NPC
刷新点
并在脚本文件中加入传送命令。可参考前面章节。
(2)
脚本格式:
按钮:
盟重省
到城镇
> //
大多数引擎都支持中文脚本
脚本段:
[@到
#IF
#ACT
Mapmove 3 333 333
;//
当点击按钮<盟重省>时,会传送到盟重省(
X333
Y333
坐标。这个是常用的。
(3)
条件检查:
如果要收费或者增加一些限制,就需要作检测。
如等级、金币、元宝、背包是否有某个东西等。
(通常脚本是排在上面一行的命令先运行,第二行后运行。)
[@到
#IF
CheckLevelEx = 50
;//
检查等级是否
CheckGold > 1000
;//
是否有
1000
金币以上
CheckGameGold > 1000
;//
是否有
1000
CheckItem
通行证
;//
检查是否拥有指定的物品
#ACT
Map huanjing
或者用
Mapmove huanjing 3 55
#ELSESAY
你未达到
级,或金币不足
100
,或元宝不足
1000
,或没有幻境通行证!!
说明:英文的分号
(;)
是注解,是不会执行的内容。
上面脚本,如果要明确提示玩家缺少哪个东西,可以将#
分开执行:
[@到
#IF
CheckLevelEx < 50
#SAY
你未达到
级!!
#IF
CheckGold < 1000
#SAY
金币不足
100
#IF
CheckGameGold < 1000
#SAY
元宝不足
1000
#IF
CheckItem
通行证
#ACT
Mapmove huanjing 3 55
#ELSESAY
没有幻境通行证
说明:如果
#IF
后面的条件成立,就会执行下一个
后边的脚本,如果不成立就会跳到下一个
#IF
,如果没有
#IF
,会到到达下一个
[@]
停止。
上面脚本会逐行找行,如果有其中一项达到条件就会打开对话面板。如果前面都不执行,到达检查幻境通行证时,如果有证,就会传送,如果没有证
#ELSESAY
,就会打开对话。
传送石举例
物品类都需要添加数据库记录。常用传送物品除传送戒指和传送符外,有
MAP
MAPMOVE
GOHOME
三种传送物品。
物品名称(
name
stdmode
Shape
Anicount
source
DuraMax
功能说明
随机传送石
100
点算一次
当前地图中随机传送
引擎内置功能
传送符
0(单次)
,可为
佩戴到护符位置
持久等于
时消失
盟重传送石
(多次)
100
点算一次
回城石
(多次)
100
点算一次
绝望传送石
10000
100
点算一次
表中:
stdmode
时,物品可以放入快捷栏,为
时只 能放在背包中。
回城卷、随机传送卷不需要脚本,且为一次性,由引擎内置功能完成。
其他物品需要在
Envir\market_def
\QFunction-0.txt
中加入物品触发脚本:
;盟重传送石
[@StdModeFunc59]
#IF
#ACT
MAPMOVE 3 330 330
;回城石
[@StdModeFunc65]
#IF
#ACT
GoHome
;Gohome是回到最后离开的,并且有回城点的城镇.
;绝望传送石
[@StdModeFunc10000]
#IF
#ACT
MAPMOVE 6 128 621
按照以上相同方式,可以添加传送到任何地图的物品,也可以通过这种方式制作特殊道具。如接下来的内容。
经验丹(卷)
常用经验操作有经验猪、经验卷(石),区别在于一个属于道具,另一个是在打怪。
所使用的命令是:
CHAN其他XP + 1000
先制作经验卷
数据库设置
物品名称(
name
stdmode
Shape
Anicount
source
DuraMax
功能说明
百万经验卷
10001
一次性道具
脚本:
Anicount
脚本编号不重复就能用。在
Envir\market_def\QFunction-0.txt 中加入物品触发脚本
@StdModeFunc10001]
#IF
#ACT
Changeexp + 1000000
#SAY
你经验值增加了100万!!
经验猪是使用地图参数中的打怪触发功能,根据情况也可以打死怪触发,可根据版本设计来制作。
地图参数:
HitMon
如果是龙族引擎,还需要在
MIRSERVER.exe中的“选项-功能设置-其他控制”勾选中@HitMon触发控制。
然后根据怪物设置,如果不想杀死就设置一个很高防和血量。
怪物添加后:
(1)
映射地图时,在
MapInfo.txt
添加参数
HitMon(@
[0121
会员休息间
] HITMON(@
经验猪
(2)
Mongen.txt
中添加经验猪刷新点
0121 6 21
练功经验猪
0 1 1
(3)
在Envir\market_def\QFunction-0.txt中加入触发脚本,如:
[@经验猪]
#IF
CheckGameGold
CheckHitMonName
练功经验猪
#ACT
CHAN其他XP + 20000000
Gamegold - 30
SendCenterMsg 254 252 <$USERNAME>
正在会员地用
元宝打经验猪,获得
2000
万经验
1 10
BREAK
#ElseSAY
你的元宝不足
个了,你还
去打元宝吧!!!!!!!!
脚本说明
先检查正在攻击的是不是经验猪
元宝是不是有
符合条件就增加经验
并收回
元宝,并全服信息播放。
未完…………………… |
|