有哪些常用的传奇服务端架设脚本?

来源: 作者: 点击:
不同的传奇引擎有不同的常用脚本,以下以Hero引擎、3K引擎等为例,为你介绍常见的服务端架设脚本:

### Hero引擎常用脚本

#### 1. 任务脚本
- **新手任务脚本**
用于引导新玩家熟悉游戏流程,比如让玩家去击杀一定数量的怪物、采集物品等,完成后给予奖励。
```plaintext
[@Main]
#IF
CHECKLEVELEX < 5
#ACT
MESSAGEBOX 欢迎新玩家!请去杀10只鸡,回来找我领奖励。
GOTO @KillChickens

[@KillChickens]
#IF
KILLMONSTER 鸡 10
#ACT
MESSAGEBOX 你已完成任务,奖励你1000金币和一把新手剑。
GIVE 金币 1000
GIVE 新手剑 1
GOTO @EndQuest

[@EndQuest]
#ACT
MESSAGEBOX 任务完成,祝你游戏愉快!
```
- **主线任务脚本**
推动游戏剧情发展,通常会随着玩家等级提升逐步解锁,涉及更多复杂的条件判断和奖励机制。

#### 2. 怪物爆率脚本
存放在`MonItems`文件夹中,用于设置怪物的掉落物品及概率。
```plaintext
[祖玛卫士]
裁决之杖 5000 ; 爆率为1/5000
记忆头盔 3000 ; 爆率为1/3000
太阳水 10 ; 爆率为1/10
```

#### 3. NPC对话脚本
控制玩家与NPC之间的交互,可实现商店买卖、任务发布、传送等功能。
```plaintext
[@Main]
#ACT
MESSAGEBOX 欢迎光临,我这里有各种物品出售。
MENU 购买物品|传送至安全区

[@购买物品]
#ACT
OPENSHOP 1 ; 打开商店界面

[@传送至安全区]
#ACT
MAPMOVE 安全区地图ID
```

#### 4. 活动脚本
用于举办各种游戏活动,如限时双倍经验、攻城战等。
```plaintext
[双倍经验活动]
#IF
CHECKTIMEBETWEEN 20:00 22:00
#ACT
SETEXPMULTIPLE 2
MESSAGEBOX 现在开启双倍经验活动,快来升级吧!
#ELSE
SETEXPMULTIPLE 1
#ENDIF
```


### 3K引擎常用脚本

#### 1. 副本脚本
控制副本的进入条件、副本内怪物刷新、副本奖励等。
```plaintext
[@EnterDungeon]
#IF
CHECKLEVEL > 30
CHECKITEM 副本入场券 1
#ACT
TAKEITEM 副本入场券 1
MAPMOVE 副本地图ID
MESSAGEBOX 你已进入副本,祝你好运!

[@DungeonEnd]
#IF
KILLMONSTER 副本BOSS 1
#ACT
GIVE 高级装备 1
GIVE 大量金币 10000
MAPMOVE 回城地图ID
MESSAGEBOX 副本通关,获得丰厚奖励!
```

#### 2. VIP功能脚本
为VIP玩家提供专属特权,如VIP传送、VIP商店等。
```plaintext
[@VIPTeleport]
#IF
CHECKVIPLEVEL > 0
#ACT
MESSAGEBOX 您是VIP玩家,可使用专属传送。
MAPMOVE VIP专属地图ID
#ELSE
MESSAGEBOX 您不是VIP,无法使用此功能。
```

#### 3. 转生脚本
处理玩家的转生系统,包括转生条件判断、属性提升等。
```plaintext
[@Rebirth]
#IF
CHECKLEVEL > 80
CHECKITEM 转生凭证 1
#ACT
TAKEITEM 转生凭证 1
SETLEVEL 1 ; 转生后等级重置
ADDSTR 5 ; 增加力量属性
ADDAGI 3 ; 增加敏捷属性
MESSAGEBOX 转生成功,属性大幅提升!
```


### Legend引擎常用脚本

#### 1. 结婚系统脚本
实现玩家之间的结婚功能,包括求婚、结婚仪式、夫妻特权等。
```plaintext
[@Propose]
#IF
CHECKITEM 求婚戒指 1
#ACT
TAKEITEM 求婚戒指 1
MESSAGEBOX 你向对方求婚,等待回应。
SENDMSG 2 玩家A向你求婚,是否同意? TO 玩家B

[@AcceptProposal]
#IF
#ACT
MESSAGEBOX 你们已结为夫妻。
SETCOUPLE 玩家A 玩家B
GIVE 夫妻专属称号 1
```

#### 2. 抽奖系统脚本
让玩家通过消耗道具或金币进行抽奖,获取各种奖品。
```plaintext
[@Lottery]
#IF
CHECKITEM 抽奖券 1
#ACT
TAKEITEM 抽奖券 1
RANDOM 100 ; 生成1 - 100的随机数
#IF
NUM < 10
GIVE 顶级装备 1
#ELSEIF
NUM < 30
GIVE 高级药水 5
#ELSE
GIVE 普通物品 1
#ENDIF
MESSAGEBOX 恭喜你,抽奖获得了[物品名称]!
```