当前位置 : 145z游戏站 | 热血传奇 | 传奇游戏 | 

分享一些在传奇TOP引擎中编写有趣脚本的案例

热度:
以下是一些在传奇TOP引擎中编写有趣脚本的案例:

###一、玩家变身脚本

**功能描述**:
玩家可以使用特定物品,将自己变成各种怪物或NPC的外形,持续一段时间,增加游戏的趣味性和娱乐性。

```topscript
[@UseTransformItem]
#ACT
;检查玩家是否拥有变身物品
CheckItemCount变身卷轴1
IFCHECKTHEN
;扣除变身卷轴
TakeItem变身卷轴1
;随机生成要变成的对象(怪物或NPC)
Random110TransformID
;开始变身
PlayerTransformTransformID300;300表示变身持续时间为300秒
SendMsg5你已成功变身,持续时间为300秒,尽情玩耍吧!
ELSE
SendMsg5你没有变身卷轴,无法变身哦!
```

**解释**:
-`CheckItemCount变身卷轴1`:检查玩家是否拥有至少一个“变身卷轴”物品。
-`TakeItem变身卷轴1`:如果玩家拥有,扣除一个“变身卷轴”。
-`Random110TransformID`:生成一个1到10之间的随机数作为要变成的对象的ID。
-`PlayerTransformTransformID300`:将玩家变成相应的对象,持续300秒。
-`SendMsg5你已成功变身,持续时间为300秒,尽情玩耍吧!`:向玩家发送变身成功的消息。


###二、神秘宝箱脚本

**功能描述**:
玩家打开神秘宝箱时,会随机获得各种物品,包括稀有物品,但也可能什么都得不到,增加玩家的惊喜感和期待感。

```topscript
[@OpenMysteryBox]
#ACT
;检查玩家是否拥有神秘宝箱
CheckItemCount神秘宝箱1
IFCHECKTHEN
;扣除神秘宝箱
TakeItem神秘宝箱1
;生成随机数来决定奖励
Random1100RewardType
IFRewardType<=5THEN
;5%的概率获得稀有物品
AddItem稀有武器1
SendMsg5哇塞,你获得了一件稀有武器,运气爆棚哦!
ELSEIFRewardType<=30THEN
;25%的概率获得高级物品
AddItem高级装备1
SendMsg5恭喜你获得了一件高级装备,继续加油!
ELSEIFRewardType<=70THEN
;40%的概率获得普通物品
AddItem普通装备1
SendMsg5你获得了一件普通装备,也不错哦!
ELSE
;30%的概率什么都得不到
SendMsg5这次运气不太好,继续努力,下次一定会有好运的!
ENDIF
ELSE
SendMsg5你没有神秘宝箱,无法打开哦!
```

**解释**:
-`CheckItemCount神秘宝箱1`:检查玩家是否拥有“神秘宝箱”。
-`TakeItem神秘宝箱1`:若拥有则扣除一个“神秘宝箱”。
-`Random1100RewardType`:生成一个1到100的随机数,根据该随机数决定奖励类型。
-不同的范围对应不同的奖励概率和物品,分别是5%稀有物品、25%高级物品、40%普通物品和30%无奖励。


###三、定时活动脚本

**功能描述**:
每天定时开启一个活动,如“双倍经验活动”或“双倍爆率活动”,吸引玩家在特定时间上线参与。

```topscript
;在服务器启动时调用此脚本
[@OnServerStart]
#ACT
;设置定时活动,例如每天20:00-22:00开启双倍经验活动
SetTimer双倍经验活动7200020:00:0022:00:00
SendMsg5每天20:00-22:00开启双倍经验活动,不要错过哦!

[@双倍经验活动]
#ACT
;开启双倍经验
SetExpRate2.0
SendMsg5双倍经验活动已开启,抓紧时间升级吧!

;在活动结束时调用此脚本
[@双倍经验活动结束]
#ACT
;恢复正常经验倍率
SetExpRate1.0
SendMsg5双倍经验活动已结束,期待下次活动吧!
```

**解释**:
-`SetTimer双倍经验活动7200020:00:0022:00:00`:在服务器启动时设置一个名为“双倍经验活动”的定时器,每天20:00开始,22:00结束,持续72000秒(2小时)。
-`[@双倍经验活动]`:当活动开始时,调用此脚本,将经验倍率设置为2.0,并发送消息通知玩家。
-`[@双倍经验活动结束]`:活动结束时,调用此脚本,将经验倍率恢复为1.0并通知玩家。


###四、结婚系统脚本

**功能描述**:
玩家可以在游戏中向心仪的对象求婚,完成结婚仪式,并获得一些结婚专属福利,如属性加成或夫妻技能。

```topscript
[@Propose]
#ACT
;获取求婚者和被求婚者的信息
GetString1求婚者
GetString2被求婚者
;检查被求婚者是否在线
CheckPlayerOnline被求婚者
IFCHECKTHEN
;检查求婚者是否拥有求婚戒指
CheckItemCount求婚戒指1
IFCHECKTHEN
;扣除求婚戒指
TakeItem求婚戒指1
;发送求婚请求给被求婚者
SendMsgToPlayer被求婚者<求婚者>向你求婚啦,是否愿意嫁(娶)给他(她)呢?输入@AcceptProposal或@RejectProposal来回应。
;存储求婚信息,以便后续处理
SetGlobalString求婚者求婚者
SetGlobalString被求婚者被求婚者
ELSE
SendMsg5你没有求婚戒指,无法求婚哦!
ENDIF
ELSE
SendMsg5你心仪的对象不在线,请等待对方上线再求婚。
ENDIF

[@AcceptProposal]
#ACT
;获取求婚者和被求婚者信息
GetGlobalString求婚者Proposer
GetGlobalString被求婚者Proposed
;确认被求婚者接受求婚
SendMsgToPlayerProposer<Proposed>接受了你的求婚,祝你们幸福美满!
SendMsg5你已接受<Proposer>的求婚,准备举行婚礼吧!
;举行结婚仪式,给予属性加成或夫妻技能
;例如,给双方增加10%的属性加成
GetPlayerAttrProposerStrengthProposerStrength
GetPlayerAttrProposedStrengthProposedStrength
MulProposerStrength1.1NewProposerStrength
MulProposedStrength1.1NewProposedStrength
SetPlayerAttrProposerStrengthNewProposerStrength
SetPlayerAttrProposedStrengthNewProposedStrength
SendMsgToPlayerProposer你获得了10%的力量属性加成,祝你们幸福美满!
SendMsgToPlayerProposed你也获得了10%的力量属性加成,祝你们幸福美满!
;清除求婚信息
ClearGlobalString求婚者
ClearGlobalString被求婚者

[@RejectProposal]
#ACT
;获取求婚者和被求婚者信息
GetGlobalString求婚者Proposer
GetGlobalString被求婚者Proposed
;通知求婚者被拒绝
SendMsgToPlayerProposer<Proposed>拒绝了你的求婚,不要灰心哦!
SendMsg5你拒绝了<Proposer>的求婚,继续寻找真爱吧!
;清除求婚信息
ClearGlobalString求婚者
ClearGlobalString被求婚者
```

**解释**:
-`[@Propose]`:求婚脚本,检查求婚条件,如求婚戒指和被求婚者是否在线,发送求婚请求并存储求婚信息。
-`[@AcceptProposal]`:接受求婚脚本,完成结婚仪式,给予属性加成,通知双方玩家并清除求婚信息。
-`[@RejectProposal]`:拒绝求婚脚本,通知双方玩家并清除求婚信息。


###五、组队挑战副本脚本

**功能描述**:
玩家可以组队进入副本,挑战强大的BOSS,成功后获得丰厚奖励,培养玩家的团队协作能力。

```topscript
[@EnterDungeon]
#ACT
;检查玩家是否在队伍中
CheckPlayerInTeam
IFCHECKTHEN
;检查队伍人数是否满足要求(例如至少3人)
GetTeamMemberCountTeamSize
IFTeamSize>=3THEN
;传送整个队伍进入副本
TeamTeleport副本地图坐标X副本地图坐标Y副本地图坐标Z
SendMsg5祝你们在副本中好运,挑战强大的BOSS,赢柔厚奖励吧!
ELSE
SendMsg5队伍人数不足,至少需要3人才能进入副本哦!
ENDIF
ELSE
SendMsg5你不在队伍中,先组好队再进入副本吧!
ENDIF

[@KillDungeonBoss]
#ACT
;假设玩家成功杀死副本BOSS
;给予队伍成员奖励
GetTeamMembersTeamMembers
ForEachTeamMembersMember
AddItem副本奖励物品1
SendMsgToPlayerMember恭喜你成功击败副本BOSS,获得副本奖励物品!
ENDForEach
```

**解释**:
-`[@EnterDungeon]`:进入副本脚本,检查玩家是否在队伍中及队伍人数是否足够,满足条件则传送队伍进入副本。
-`[@KillDungeonBoss]`:杀死副本BOSS后,给队伍成员每人一个“副本奖励物品”作为奖励。


这些有趣的脚本可以为传奇TOP引擎的游戏增添更多乐趣和挑战,你可以根据自己的创意和玩家的需求编写更多独特的脚本,让玩家体验更加丰富多彩的传奇世界。在编写脚本时,要注意测试和调整,确保脚本的稳定性和平衡性。
[顶部]