传奇双倍经验物品脚本编写示例

来源: 作者: 点击:
以下为你提供不同引擎下实现双倍经验物品脚本的编写示例:

###Mir2引擎脚本示例

####实现思路
创建一个物品使用脚本,当玩家使用双倍经验物品时,扣除物品并设置双倍经验状态,同时设置一个定时任务,在指定时间后取消双倍经验。

####脚本代码
```plaintext
;物品使用脚本,物品ID对应的脚本入口,这里假设物品ID触发@UseDoubleExpItem
[@UseDoubleExpItem]
#IF
CHECKITEM双倍经验丹1;检查玩家背包是否有1个双倍经验丹
#ACT
TAKE双倍经验丹1;扣除1个双倍经验丹
DELAYEXEC1800@CancelDoubleExp;1800秒(30分钟)后执行取消双倍经验的脚本
ADDEXP2;设置经验倍数为2倍
SAVEUSERDB;保存玩家数据库,确保下线后状态保存
MESSAGEBOX你已使用双倍经验丹,经验将在30分钟内双倍!

;取消双倍经验的脚本
[@CancelDoubleExp]
#IF
#ACT
ADDEXP1;恢复经验倍数为1倍
MESSAGEBOX双倍经验时间已到,经验恢复正常!
```

####放置位置
通常将上述代码添加到`Envir\Market_Def\QFunction-0.txt`或`QFunction-1.txt`文件中。

###DBC引擎脚本示例

####实现思路
与Mir2引擎类似,检查物品、扣除物品、设置双倍经验和定时取消。

####脚本代码
```plaintext
;物品使用脚本
[UseItem_DoubleExp]
IF
CheckItemCount双倍经验药水1;检查玩家背包是否有1个双倍经验药水
THEN
TakeItem双倍经验药水1;扣除1个双倍经验药水
SetTimer1800@EndDoubleExp;设置1800秒(30分钟)后执行取消双倍经验的脚本
SetExpRate2;设置经验倍数为2倍
SaveUserInfo;保存玩家信息,确保下线后状态保存
SendMsg0你已使用双倍经验药水,接下来30分钟内经验双倍!

;取消双倍经验的脚本
[@EndDoubleExp]
IF
THEN
SetExpRate1;恢复经验倍数为1倍
SendMsg0双倍经验时间结束,经验恢复正常!
```

####放置位置
将上述代码保存为一个新的文本文件,如`DoubleExpItem.txt`,放置在`Envir\QuestDiary`目录下。

###Hero引擎脚本示例

####实现思路
同样是先检查物品,然后处理物品使用、设置双倍经验和定时取消。

####脚本代码
```plaintext
;物品使用脚本
[@UseDoubleExpGoods]
#IF
CHECKITEM双倍经验卷轴1;检查玩家背包是否有1个双倍经验卷轴
#ACT
TAKEITEM双倍经验卷轴1;扣除1个双倍经验卷轴
DELAYEXEC1800@StopDoubleExp;1800秒(30分钟)后执行取消双倍经验的脚本
SETEXPRATE2;设置经验倍数为2倍
SAVEUSERDATA;保存玩家数据,确保下线后状态保存
MESSAGE0你使用了双倍经验卷轴,接下来30分钟内经验双倍!

;取消双倍经验的脚本
[@StopDoubleExp]
#IF
#ACT
SETEXPRATE1;恢复经验倍数为1倍
MESSAGE0双倍经验时间已过,经验恢复正常!
```

####放置位置
将脚本保存为一个`.txt`文件,如`DoubleExpScript.txt`,放置在`Envir\QuestDiary`目录下,同时需要在`Envir\Config\QuestDiaryList.txt`文件中添加该脚本文件的加载配置,例如:
```plaintext
DoubleExpScript.txt
```

以上脚本示例可根据实际需求进行调整,不同引擎的指令可能存在细微差异,在使用前最好参考对应引擎的文档说明。
[顶部]