传奇游戏脚本编写的代码示例分享

来源: 作者: 点击:
1.**角色升级奖励脚本(以GOM引擎为例)**
-**功能描述**:当玩家角色升级时,给予一定的奖励,如金币、经验丹等。
-**代码示例**
```
[@LevelUp]
#IF
;检查角色是否升级
CHECKLEVELEX>$USERLEVEL
#ACT
;给予1000金币奖励
GAMEGOLD+1000
;给予一个小经验丹(假设物品ID为7001)
GIVE70011
;发送系统消息告知玩家
SENDMSG6恭喜你升级啦!获得1000金币和一个小经验丹。
```
-**解释**:
-`[@LevelUp]`:这是一个脚本标签,用于在角色升级事件触发时执行下面的脚本。
-`#IF`和`#ACT`:是传奇脚本中的条件判断和动作执行语句。`#IF`部分用于检查条件,这里检查角色等级是否比之前高(`CHECKLEVELEX>$USERLEVEL`,`$USERLEVEL`是玩家之前的等级)。`#ACT`部分在条件满足时执行动作,包括增加1000金币(`GAMEGOLD+1000`)、给予一个物品(`GIVE70011`,物品ID为7001,数量为1)和发送系统消息(`SENDMSG6`是发送消息的命令,6表示消息类型,后面是消息内容)。

2.**怪物掉落脚本(以HERO引擎为例)**
-**功能描述**:设置怪物掉落物品的规则,例如指定怪物有一定几率掉落特定装备。
-**代码示例**
```
[MONSTER_DROP]
;当怪物ID为100(假设怪物ID)被击杀时
MONSTER100
#IF
;随机数小于30(表示30%几率)
RANDOM30
#ACT
;掉落一个武器(假设武器ID为8001)
DROP80011
```
-**解释**:
-`[MONSTER_DROP]`:这是怪物掉落脚本的标签。
-`MONSTER100`:指定当怪物ID为100的怪物被击杀时执行下面的脚本。
-`#IF`和`#ACT`:同样是条件判断和动作执行。`RANDOM30`表示生成一个0-99的随机数,当这个随机数小于30时(即30%的几率),执行`#ACT`中的动作,`DROP80011`表示掉落一个ID为8001的物品。

3.**NPC对话脚本(以LEGEND引擎为例)**
-**功能描述**:玩家与NPC对话,根据选择触发不同的任务或获取不同的信息。
-**代码示例**
```
[NPC_对话]
;NPC的名称为“任务使者”,对话标签为“开始任务”
NPC任务使者开始任务
#IF
;没有接取任务(假设任务变量为$TASK_STATUS,0表示未接取)
$TASK_STATUS=0
#ACT
;发送对话内容
SENDMSG5你想开始一个新的冒险任务吗?
;添加对话选项
ADDDLGITEM1接受任务
ADDDLGITEM2我再考虑考虑
```
-**解释**:
-`[NPC_对话]`:对话脚本标签。
-`NPC任务使者开始任务`:指定NPC名称和对话主题。
-`#IF`和`#ACT`:条件判断和动作执行。当任务状态变量为0(未接取任务)时,发送对话内容(`SENDMSG5`是发送消息类型为5的消息),然后添加两个对话选项,`ADDDLGITEM1`表示第一个选项,内容是“接受任务”,`ADDDLGITEM2`表示第二个选项,内容是“我再考虑考虑”。后续还可以添加代码来处理玩家选择不同选项后的动作,例如:
```
#SELECT
;玩家选择第一个选项(接受任务)
CASE1
#ACT
;设置任务变量,表示已接取任务
SET$TASK_STATUS1
SENDMSG6好的,任务已经开始,快去完成吧!
;玩家选择第二个选项(考虑考虑)
CASE2
#ACT
SENDMSG5那你可以随时回来找我。
```
[顶部]