传奇酿酒系统脚本配置与使用完整指南

来源: 作者: 点击:
酿酒系统需在服务端Envir目录下配置NPC、物品和功能脚本。首先在D:MirserverMir200EnvirMarket_def创建酿酒NPC文件,例如“NpcBrew.txt”,内容包含对话选项和触发命令。NPC坐标在MapInfo.txt中定义,如“3000 3000 酿酒坊”。

核心脚本位于QuestDiary目录,新建文件夹“BrewSystem”,内含主逻辑文件如“StartBrew.txt”、“CheckMaterial.txt”、“MakeWine.txt”。在NPC脚本中通过CALL命令调用,例如:[@Main] #CALL [BrewSystemStartBrew.txt] @Start。

材料检测使用CHECKITEM命令。例如检测是否有10个“糯米”和5个“泉水”,脚本写法为:#IF CHECKITEM 糯米 10 CHECKITEM 泉水 5 #ACT TAKE 糯米 10 TAKE 泉水 5 GOTO @Success。若材料不足,跳转至@Fail提示缺货。

酿造过程需设定时间变量。使用SETTIMEVALUE记录开始时间,配合ONTIMEEXPIRE触发完成事件。例如:#ACT SETTIMEVALUE BrewTimer 3600 CALL [BrewSystemOnBrewFinish.txt] @Notify。3600秒后自动执行成品发放。

成品酒类物品需在StdItems.txt中预先定义,如ID=1001 名称=桂花酿 图标=123。在酿造成功脚本中通过GIVE命令发放:GIVE 桂花酿 1。可加入随机品质,用RANDOM命令判断:#IF RANDOM 30 #ACT GIVE 陈年桂花酿 1。

多配方支持通过菜单选择实现。NPC主界面列出选项:[@Main] {酿造桂花酿} {酿造高粱酒}。对应标签调用不同子脚本:[@Brew_1] #CALL [BrewSystemRecipe1.txt] @Start。

失败机制可加入爆缸设定。在酿造脚本中插入概率判断:#IF RANDOM 10 #ACT SENDMSG 7 酿造失败,酒缸破裂! DELTIMEVALUE BrewTimer。避免玩家离线挂机无限等待。

冷却时间防止重复操作。使用HUMAN变量记录最后酿造时间:#IF HUMANCHECKLASTBREW +3600 #ACT MESSAGE 酿造冷却中 ELSE SET HUMAN LASTBREW NOW。

界面提示通过SENDMSG或MESSAGE实现。关键步骤发送滚动公告:SENDMSG 0 $USERNAME 成功酿出一坛美酒!。个人提示用MESSAGE:MESSAGE 材料已扣除,等待酿造完成。

测试阶段开启GM权限快速验证。在M2控制台输入!reload qd重载脚本,无需重启服务端。使用!give命令获取材料,加速流程调试。

脚本文件必须保存为ANSI编码,路径不可含中文。所有文件名与CALL指令严格一致,大小写敏感。确保StdItems.txt中的物品名称与脚本GIVE命令完全匹配,否则物品无法生成。