当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

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

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

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

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