挂机脚本基础架构
挂机脚本基于传奇引擎脚本系统实现,核心功能包含自动寻路、怪物识别、技能释放、物品拾取、状态检测五大模块。脚本文件存放于客户端Scripts文件夹,通过触发器调用执行。
;基础挂机脚本框架
[@MAIN]
ACT
CALL@CheckState
CALL@FindMonster
CALL@Attack
CALL@PickItem
CALL@ReturnTown
BREAK
[@CheckState]
ACT
CHECKHP0
IF
BREAK
INCG_MapIndex
END
BREAK
坐标列表预先存储在变量数组中,每张地图配置五个至十个刷怪点。玩家可根据实际地图调整坐标数值,确保覆盖怪物密集区域。
;坐标配置示例
G_MapX[0]=300
G_MapY[0]=300
G_MapX[1]=350
G_MapY[1]=350
G_MapX[2]=400
G_MapY[2]=400
怪物识别与锁定
怪物识别通过CHECKMONCOUNT命令实现,检测指定范围内怪物数量。锁定目标后调用攻击脚本,优先攻击近距离怪物。
[@LockTarget]
ACT
CHECKMONCOUNT沃玛卫士1
IF
MOVG_TargetName沃玛卫士
CALL@Attack
ELSE
CHECKMONCOUNT沃玛战士1
IF
MOVG_TargetName沃玛战士
CALL@Attack
ELSE
CALL@FindMonster
BREAK
怪物优先级可自定义配置,BOSS类怪物优先于普通怪物。脚本按配置顺序检测,发现目标后立即锁定攻击。
;怪物优先级配置
沃玛教主
沃玛卫士
沃玛战士
沃玛卫士
半兽勇士
技能释放逻辑
技能释放根据职业类型配置不同脚本,战士使用刺杀、烈火,法师使用火墙、冰咆哮,道士使用灵魂火符、施毒术。
[@Attack]
IF
CHECKJOB战士
CHECKLEVEL>=35
ACT
SKILL烈火剑法1
WAIT1500
SKILL刺杀剑术1
WAIT1000
BREAK
IF
CHECKJOB法师
CHECKLEVEL>=35
ACT
SKILL火墙1
WAIT2000
SKILL冰咆哮1
WAIT1500
BREAK
IF
CHECKJOB道士
CHECKLEVEL>=35
ACT
SKILL灵魂火符1
WAIT1000
SKILL施毒术1
WAIT3000
BREAK
技能冷却时间通过WAIT命令控制,单位毫秒。根据实际技能CD调整等待时间,避免技能放空。蓝量不足时自动切换普通攻击。
[@AttackNormal]
ACT
CHECKMP=30
CHECKLEVEL=200
CHECKTIME60
IF
SENDMSG0检测到卡死尝试恢复
RANDOMMOVE
WAIT5000
CALL@MAIN
ELSE
CHECKDISCONNECT
IF
SENDMSG0检测到断线重连中
RECONNECT
BREAK
卡死检测通过位置变化判断,六十秒内位置无变化视为卡死。自动执行随机移动尝试脱困,失败后回城重启。
[@StuckRecover]
ACT
MOVG_LastXP_X
MOVG_LastYP_Y
WAIT60000
CHECKP_X=G_LastX
CHECKP_Y=G_LastY
IF
CALL@RecoverAction
BREAK
挂机收益统计
收益统计功能计算挂机时段内获得物品总价值,包含装备、材料、金币三项。玩家可设置统计周期查看收益。
[@ProfitCount]
ACT
CALCG_TotalGold=G_TotalGold+P_Gold
CALCG_TotalExp=G_TotalExp+P_Exp
SAVEVARG_TotalGold
SAVEVARG_TotalExp
SENDMSG0累计金币:%G_TotalGold累计经验:%G_TotalExp
BREAK
统计周期支持小时、日、周三种模式。周期结束时自动清零重新统计,或保存至历史数据供对比分析。
[@DayReset]
ACT
GETTIMED
CHECKD=1
IF
SAVEVARG_TotalGold
SAVEVARG_TotalExp
MOVG_TotalGold0
MOVG_TotalExp0
BREAK
脚本启动与停止
脚本启动通过快捷键或命令触发,停止同样支持快捷操作。运行状态在界面显示,便于玩家监控。
;启动命令
@StartHangup=CALL@MAIN
;停止命令
@StopHangup=CLEARG_HangupFlag
;状态查询
@CheckHangup=SENDMSG0挂机状态:%G_HangupFlag
快捷键配置在客户端设置中完成,建议设置F1启动、F2停止。状态图标显示在角色头像旁,绿色表示运行,红色表示停止。
;快捷键配置
F1=@StartHangup
F2=@StopHangup
F3=@CheckHangup
F4=@ReturnTown
脚本调试方法
脚本调试开启日志输出模式,查看每步执行结果。使用SENDMSG命令输出变量值,确认数据准确。
[@DebugMode]
ACT
SENDMSG0当前血量:%P_HP
SENDMSG0当前蓝量:%P_MP
SENDMSG0当前坐标:%P_X:%P_Y
SENDMSG0怪物数量:%G_MonCount
BREAK
调试模式完成後关闭日志输出,避免影响挂机性能。正式使用前测试各项功能,确认无问题后部署。
[@DebugOff]
ACT
SETG_DebugMode0
SENDMSG0调试模式已关闭
BREAK
常见问题处理
挂机不移动检查地图坐标是否正确,寻路脚本是否调用。怪物不攻击确认技能配置是否匹配职业,蓝量是否充足。
物品不拾取检查背包空间是否已满,拾取列表是否包含目标物品。频繁回城确认药品阈值是否过低,适当调整百分比。
;问题排查清单
检查脚本语法错误
确认坐标数值准确
验证技能名称正确
检测药品数量充足
查看日志报错信息
脚本卡死时强制停止重启,清理变量后重新执行。断线重连后自动恢复挂机状态,无需手动干预。
[@AutoRecover]
ACT
CHECKDISCONNECT
IF
WAIT10000
CALL@MAIN
ELSE
WAIT5000
CALL@AutoRecover
BREAK
挂机脚本基于传奇引擎脚本系统实现,核心功能包含自动寻路、怪物识别、技能释放、物品拾取、状态检测五大模块。脚本文件存放于客户端Scripts文件夹,通过触发器调用执行。
;基础挂机脚本框架
[@MAIN]
ACT
CALL@CheckState
CALL@FindMonster
CALL@Attack
CALL@PickItem
CALL@ReturnTown
BREAK
[@CheckState]
ACT
CHECKHP0
IF
BREAK
INCG_MapIndex
END
BREAK
坐标列表预先存储在变量数组中,每张地图配置五个至十个刷怪点。玩家可根据实际地图调整坐标数值,确保覆盖怪物密集区域。
;坐标配置示例
G_MapX[0]=300
G_MapY[0]=300
G_MapX[1]=350
G_MapY[1]=350
G_MapX[2]=400
G_MapY[2]=400
怪物识别与锁定
怪物识别通过CHECKMONCOUNT命令实现,检测指定范围内怪物数量。锁定目标后调用攻击脚本,优先攻击近距离怪物。
[@LockTarget]
ACT
CHECKMONCOUNT沃玛卫士1
IF
MOVG_TargetName沃玛卫士
CALL@Attack
ELSE
CHECKMONCOUNT沃玛战士1
IF
MOVG_TargetName沃玛战士
CALL@Attack
ELSE
CALL@FindMonster
BREAK
怪物优先级可自定义配置,BOSS类怪物优先于普通怪物。脚本按配置顺序检测,发现目标后立即锁定攻击。
;怪物优先级配置
沃玛教主
沃玛卫士
沃玛战士
沃玛卫士
半兽勇士
技能释放逻辑
技能释放根据职业类型配置不同脚本,战士使用刺杀、烈火,法师使用火墙、冰咆哮,道士使用灵魂火符、施毒术。
[@Attack]
IF
CHECKJOB战士
CHECKLEVEL>=35
ACT
SKILL烈火剑法1
WAIT1500
SKILL刺杀剑术1
WAIT1000
BREAK
IF
CHECKJOB法师
CHECKLEVEL>=35
ACT
SKILL火墙1
WAIT2000
SKILL冰咆哮1
WAIT1500
BREAK
IF
CHECKJOB道士
CHECKLEVEL>=35
ACT
SKILL灵魂火符1
WAIT1000
SKILL施毒术1
WAIT3000
BREAK
技能冷却时间通过WAIT命令控制,单位毫秒。根据实际技能CD调整等待时间,避免技能放空。蓝量不足时自动切换普通攻击。
[@AttackNormal]
ACT
CHECKMP=30
CHECKLEVEL=200
CHECKTIME60
IF
SENDMSG0检测到卡死尝试恢复
RANDOMMOVE
WAIT5000
CALL@MAIN
ELSE
CHECKDISCONNECT
IF
SENDMSG0检测到断线重连中
RECONNECT
BREAK
卡死检测通过位置变化判断,六十秒内位置无变化视为卡死。自动执行随机移动尝试脱困,失败后回城重启。
[@StuckRecover]
ACT
MOVG_LastXP_X
MOVG_LastYP_Y
WAIT60000
CHECKP_X=G_LastX
CHECKP_Y=G_LastY
IF
CALL@RecoverAction
BREAK
挂机收益统计
收益统计功能计算挂机时段内获得物品总价值,包含装备、材料、金币三项。玩家可设置统计周期查看收益。
[@ProfitCount]
ACT
CALCG_TotalGold=G_TotalGold+P_Gold
CALCG_TotalExp=G_TotalExp+P_Exp
SAVEVARG_TotalGold
SAVEVARG_TotalExp
SENDMSG0累计金币:%G_TotalGold累计经验:%G_TotalExp
BREAK
统计周期支持小时、日、周三种模式。周期结束时自动清零重新统计,或保存至历史数据供对比分析。
[@DayReset]
ACT
GETTIMED
CHECKD=1
IF
SAVEVARG_TotalGold
SAVEVARG_TotalExp
MOVG_TotalGold0
MOVG_TotalExp0
BREAK
脚本启动与停止
脚本启动通过快捷键或命令触发,停止同样支持快捷操作。运行状态在界面显示,便于玩家监控。
;启动命令
@StartHangup=CALL@MAIN
;停止命令
@StopHangup=CLEARG_HangupFlag
;状态查询
@CheckHangup=SENDMSG0挂机状态:%G_HangupFlag
快捷键配置在客户端设置中完成,建议设置F1启动、F2停止。状态图标显示在角色头像旁,绿色表示运行,红色表示停止。
;快捷键配置
F1=@StartHangup
F2=@StopHangup
F3=@CheckHangup
F4=@ReturnTown
脚本调试方法
脚本调试开启日志输出模式,查看每步执行结果。使用SENDMSG命令输出变量值,确认数据准确。
[@DebugMode]
ACT
SENDMSG0当前血量:%P_HP
SENDMSG0当前蓝量:%P_MP
SENDMSG0当前坐标:%P_X:%P_Y
SENDMSG0怪物数量:%G_MonCount
BREAK
调试模式完成後关闭日志输出,避免影响挂机性能。正式使用前测试各项功能,确认无问题后部署。
[@DebugOff]
ACT
SETG_DebugMode0
SENDMSG0调试模式已关闭
BREAK
常见问题处理
挂机不移动检查地图坐标是否正确,寻路脚本是否调用。怪物不攻击确认技能配置是否匹配职业,蓝量是否充足。
物品不拾取检查背包空间是否已满,拾取列表是否包含目标物品。频繁回城确认药品阈值是否过低,适当调整百分比。
;问题排查清单
检查脚本语法错误
确认坐标数值准确
验证技能名称正确
检测药品数量充足
查看日志报错信息
脚本卡死时强制停止重启,清理变量后重新执行。断线重连后自动恢复挂机状态,无需手动干预。
[@AutoRecover]
ACT
CHECKDISCONNECT
IF
WAIT10000
CALL@MAIN
ELSE
WAIT5000
CALL@AutoRecover
BREAK

