传奇脚本中常用的变量和函数有哪些?

来源: 作者: 点击:
在传奇脚本开发中,变量和函数是实现各种复杂逻辑和功能的重要工具。不同的传奇引擎(如DBC、GEE等)可能会有一些细微的差异,但以下是一些常见的变量和函数。

###常用变量

####玩家相关变量
-**人物等级变量**
-**格式**:`$LEVEL`
-**作用**:用于获取玩家当前的等级。在脚本编写中,可根据玩家等级来决定是否给予特定任务、奖励或开放特定地图等。例如,在NPC对话脚本中,可通过判断`$LEVEL`的值来决定是否让玩家接受高级任务。
```plaintext
#IF
$LEVEL>50
#ACT
SENDMSG0"您的等级已达到50级,可以挑战高级副本。"
```
-**人物经验变量**
-**格式**:`$EXP`
-**作用**:表示玩家当前拥有的经验值。可用于经验相关的计算和判断,比如判断玩家是否达到升级所需经验,或者根据经验值给予额外奖励。
```plaintext
#IF
$EXP>10000
#ACT
GIVE双倍经验符1
```
-**人物金币变量**
-**格式**:`$GOLD`
-**作用**:获取玩家当前拥有的金币数量。在涉及交易、购买物品等场景中经常使用,通过判断`$GOLD`的值来决定交易是否能够成功。
```plaintext
#IF
$GOLD>=500
#ACT
TAKE金币500
GIVE药水5
```

####物品相关变量
-**物品数量变量**
-**格式**:`$ITEMCOUNT(物品名称)`
-**作用**:获取玩家身上指定物品的数量。在任务系统中,可用于判断玩家是否拥有足够数量的任务物品。
```plaintext
#IF
$ITEMCOUNT(魔法药水)>=3
#ACT
TAKE魔法药水3
GIVE任务奖励道具1
```

###常用函数

####条件判断函数
-**`CHECKLEVEL`函数**
-**格式**:`CHECKLEVEL比较符号等级值`
-**作用**:检查玩家的等级是否满足指定条件。比较符号可以是`>`(大于)、`<`(小于)、`=`(等于)等。常用于任务、活动等的条件判断。
```plaintext
#IF
CHECKLEVEL>30
#ACT
SENDMSG0"您的等级超过30级,可以进入此地图。"
```
-**`HASITEM`函数**
-**格式**:`HASITEM物品名称`
-**作用**:检查玩家身上是否拥有指定的物品。在交易、任务领取等场景中经常使用。
```plaintext
#IF
HASITEM屠龙刀
#ACT
SENDMSG0"您拥有屠龙刀,可以挑战终极BOSS。"
```

####物品操作函数
-**`TAKE`函数**
-**格式**:`TAKE物品名称数量`
-**作用**:从玩家身上拿走指定数量的物品。常用于交易、任务完成扣除物品等场景。
```plaintext
#IF
HASITEM矿石5
#ACT
TAKE矿石5
GIVE强化石1
```
-**`GIVE`函数**
-**格式**:`GIVE物品名称数量`
-**作用**:给予玩家指定数量的物品。在任务奖励、活动奖励等场景中广泛应用。
```plaintext
#IF
CHECKLEVEL=20
#ACT
GIVE新手装备套装1
```

####地图与传送函数
-**`MAPMOVE`函数**
-**格式**:`MAPMOVE地图名称X坐标Y坐标`
-**作用**:将玩家传送到指定地图的指定坐标处。常用于任务引导、活动传送等场景。
```plaintext
#IF
#ACT
MAPMOVE盟重省330330
```
-**`CHECKMAP`函数**
-**格式**:`CHECKMAP地图名称`
-**作用**:检查玩家是否在指定的地图上。可用于限制某些操作只能在特定地图执行。
```plaintext
#IF
CHECKMAP比奇城
#ACT
SENDMSG0"您现在位于比奇城。"
```

####消息发送函数
-**`SENDMSG`函数**
-**格式**:`SENDMSG颜色代码消息内容`
-**作用**:向玩家发送指定颜色的消息。颜色代码如0表示白色,1表示黄色等。用于NPC与玩家的交互提示。
```plaintext
#IF
#ACT
SENDMSG1"欢迎来到传奇世界!"
```
[顶部]