新开传奇代码功能详解:地图坐标范围检测与怪物事件触发

来源: 作者: 点击:

新开传奇开发中,经常需要使用特定的代码功能来检测地图上的坐标范围,并触发相关的怪物事件或物品生成。以下是一些常用的功能代码:

检测地图坐标范围触发事件(CheckInMapRange)

[@OnTimer12]
#IF
CheckInMapRange33543370
;检测地图3,以坐标(354337)为中心,范围0
#ELSEACT
SetOffTimer12
break
#IF
CheckInMapRange33543370
#ACT
CHANGEEXP+200000
break
这段代码用于在地图特定坐标范围内触发事件,比如根据玩家位置给予经验奖励。

检查坐标范围内的怪物数量(CheckRangeMonCount)

[@Main]
#IF
CheckRangeMonCount333033010<100
#SAY
地图3的坐标(330330)周围范围10内怪物少于100只
#ELSESAY
地图3的坐标(330330)周围范围10内怪物多于100只
这段代码用于判断地图指定坐标范围内的怪物数量是否符合条件,并作出相应的响应。

投掷物品到指定坐标范围(THROWITEM)

[@main]
#IF
Random100
#ACT
ThrowItem333033010回城卷5|60
这段代码用于在地图指定坐标范围内投掷物品,例如投掷5个回城卷,60秒后可以被捡取。

修改地图怪物外观与显示时间(ChangeMapMonAppr)

#if
#act
ChangeMapMonAppr3000羊1611
sendmsg5你已经将地图3中的所有羊显示成鹿外观,有效时间1分钟
这段代码用于将地图中指定坐标范围内的所有怪物外观修改为其他怪物,有效时间为1分钟。

获取地图分身数量(GetMapHumCloneCount)

#if
#act
GetMapHumCloneCount3000N1
sendmsg5你已经在地图3中发现共有分身<$STR(N1)>个
这段代码用于获取地图指定坐标范围内的分身数量,并显示给玩家。

修改地图怪物名称(ChangeMapMonName)

ChangeMapMonName地图名X坐标Y坐标范围原怪物名新怪物名
这段代码用于修改地图中指定坐标范围内的怪物名称。

以上代码功能能够有效地帮助开发者管理游戏中的怪物生成、事件触发以及物品投掷等复杂场景,提升游戏的交互和体验。

检测坐标范围用于地图事件触发CheckInMapRange代码,可以检查一个坐标范围内怪物数量CheckRangeMonCount,THROWITEM地图名称X坐标Y坐标范围物品名称,CHECKRANGEMONCOUNTEX地图代码怪物名X坐标Y坐标范围等

1.检测坐标范围用于地图事件触发CheckInMapRange
;==========================================
如:
[@OnTimer12]
#IF
CheckInMapRange33543370
;检测是否在地图3坐标354337为中心,范围0
#elseact
SetOffTimer12
break
#IF
CheckInMapRange33543370
#ACT
CHANGEEXP+200000
break

2.可以检查一个坐标范围内怪物数量。
;==========================================
格式:
CheckRangeMonCount地图号X坐标Y坐标范围控制符(=><)数量

[@Main]
#IF
CheckRangeMonCount333033010<100
#SAY
地图3的X330Y330十的范围内怪物少于100只
#ELSESAY
地图3的X330Y330十的范围内怪物多于100只

3.可以检查一个坐标范围内怪物数量CheckRangeMonCount地图号X坐标Y坐标范围控制符(=><)数量
;==========================================
[@Main]
#IF
CheckRangeMonCount333033010<100
#SAY
地图3的X330Y330十的范围内怪物少于100只
#ELSESAY
地图3的X330Y330十的范围内怪物多于100只

4.格式:THROWITEM地图名称X坐标Y坐标范围物品名称数量|时间(此时间不受M2上的物品可捡时间控制)捡取条件(0、1、2、3)叠加物品是否叠加(0或空:叠加;1非叠加)

[@main]
#IF
Random100
#ACT
ThrowItem333033010回城卷5|60

捡取条件说明:

0或者空任何人都不可以捡,必须等到时间才可以
1所有人都可以立即拾取。
2自己与队伍可立即拾取,其他人不可拾取,需等到时间
3自己可以立即拾取。其他人需要等到时间才可以

;==========================================
5.格式:ChangeMapMonAppr地图名X坐标Y坐标范围(为3时表示3*3)怪物名(*不判断)Appr有效时间(分钟)
备注:当XY范围均为0时,表示地图所有范围;此命令仅对怪物操作,要对宝宝或分身操作,可使用ChangeSlaveAppr

示范:

#if
#act
ChangeMapMonAppr3000羊1611
sendmsg5你已经将盟重地图中的所有羊显示成鹿外观,有效时间1分钟


6.功能说明:GetMapHumCloneCount地图名X坐标Y坐标范围(为3时表示3*3)变量
备注:当XY范围均为0时,表示地图所有范围

示范:
#if
#act
GetMapHumCloneCount3000N1
sendmsg5你已经将盟重地图中共有分身<$STR(N1)>个

如:<$STR(N1)>无法获取地图号N开头的地图,那么可以将常量更换为:<$const(n1)>


7.修改地图怪物名称ChangeMapMonName地图名X坐标Y坐标范围(为3时表示3*3)原怪物名(*不判断)新怪物名
备注:当XY范围均为0时,表示地图所有范围
;==========================================

[顶部]