当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇单机刷怪NPC脚本配置与塔防式刷怪实现方案

热度:
刷怪NPC基础架构

刷怪NPC脚本基于传奇引擎QFunction脚本系统实现。核心功能包含地图进入触发、怪物生成控制、波次计时管理、数量统计四项模块。脚本文件存放于M2Server引擎QFunction.txt与对应地图脚本文件中。

地图进入自动刷怪脚本

[@MAPENTER]
ACT
MOVG_WaveCount0
MOVG_KillCount0
MOVG_TotalWave10
MOVG_MonsterPerWave20
CALL@StartWave

[@StartWave]
ACT
INCG_WaveCount
MOVG_CurrentMonsters0
CALL@SpawnMonsters

[@SpawnMonsters]
ACT
WHILEG_CurrentMonsters0
BEGIN
MONSTERGEN沃玛卫士%G_NeedSpawn3003001
CALCG_SpawnedCount=G_SpawnedCount+G_NeedSpawn
END

WAIT5000
CALL@UpdateKillCount
CALL@CheckAndSpawn

[@UpdateKillCount]
ACT
CHECKMONCOUNT沃玛卫士G_KilledCount

NPC对话触发脚本

[@main]
请选择刷怪模式

[@TowerMode]
ACT
SETG_SpawnMode1
MOVG_TotalWave10
MOVG_MonsterPerWave20
SENDMSG0塔防模式已启动共%G_TotalWave波
CALL@StartWave

[@InfiniteMode]
ACT
SETG_SpawnMode2
MOVG_TargetCount50
SENDMSG0无穷模式已启动目标数量%G_TargetCount
CALL@InfiniteSpawn

[@StopSpawn]
ACT
CLEARG_SpawnMode
KILLMON弓箭守卫
KILLMON沃玛卫士
SENDMSG0刷怪已停止

[@CheckStatus]
ACT
SENDMSG0当前模式:%G_SpawnMode已刷波次:%G_WaveCount已击杀:%G_KillCount

怪物死亡计数触发

[@KILLMON]
ACT
IFG_SpawnMode=1
INCG_KillCount
IFG_SpawnMode=2
CALL@CheckAndSpawn

地图配置文件设置

MapInfo.txt中添加地图标记:

D6001刷怪测试地图NORECONNECT(3)ONKILLMON(@KILLMON)ONMAPENTER(@MAPENTER)

M2Server中开启脚本支持:

[Script]
UseScript=1
ScriptDelay=100
MaxScriptLoop=1000

波次间隔时间调整

波次间隔时间通过WAIT命令控制,单位为毫秒。三十秒间隔设置WAIT30000,十秒间隔设置WAIT10000。根据服务器性能调整数值,避免怪物生成过快导致卡顿。

[@NextWaveDelay]
ACT
WAIT30000
IFG_WaveCount500
WAIT10000
CALL@PerformanceCheck

调试与测试方法

开启M2Server调试模式,查看脚本执行日志。使用命令查看当前变量值,确认计数准确。测试时先设置小波次数量,验证流程无误后扩大规模。

;查看变量
CHECKVARG_WaveCount
;查看怪物数量
CHECKMONCOUNT沃玛卫士

常见问题处理

怪物不生成检查MONSTERGEN命令参数是否正确,地图是否允许刷怪。计数不准确确认触发器是否绑定正确。脚本卡死检查循环条件是否有退出机制。

波次不切换确认CHECKMONCOUNT返回值是否正确,WAIT时间是否足够。无穷模式数量不补足检查计算逻辑,确认存活数量统计准确。

扩展功能实现

添加奖励发放功能,每波完成后给予玩家金币或道具。

[@WaveComplete]
ACT
GIVE金币1000
GIVE祝福油1
SENDMSG0第%G_WaveWave波完成奖励已发放

添加难度递增,每波怪物数量或等级提升。

[@StartWave]
ACT
CALCG_MonsterPerWave=20+G_WaveCount*5
CALL@SpawnMonsters

添加多玩家支持,统计队伍总击杀数。

[@KILLMON]
ACT
IFGROUP
GROUPCALL@AddKillCount
ELSE
INCG_KillCount

脚本部署步骤

第一步备份原始脚本文件。第二步将代码粘贴至QFunction.txt对应位置。第三步修改MapInfo.txt添加地图标记。第四步重启M2Server使配置生效。第五步进入游戏测试功能。

部署完成后使用GM命令测试刷怪流程,确认波次切换、数量统计、奖励发放三项功能正常运作。
[顶部]