藏宝湾网游单机站

 找回密码
 注册

QQ登录

只需一步,快速开始

★69 元包站 Gm 手游平台★

★69 元包站 Gm 手游平台★

★Gm 游戏平台【无限资源包站平台,真正体验gm和土豪感觉】★

★白嫖放置传奇 玩通关算你赢★

★白嫖放置传奇 玩通关算你赢★

★70 80 90的单机挂机传奇-可以白嫖-1-3个月一个新区!多版本同开★

★@梦幻长久耐玩全新大唐九黎★

★@!!——梦幻长久耐玩全新大唐九黎——!!★

★★新增全新门派九黎城, ★侵烛系统 ★静脉系统 ★赐福系统 ★战斗动作声效系统 ★全场景NPC、召唤兽迭代最新 ★17个副本,完全还原 ★独家PK系统,享受极致免费PK★★

▃▃▃▃可以单机赚钱的传奇▃▃▃▃
★《天谴之地3》全网独创大小世界 可以单机可以赚钱的传奇★

★首区即将开始公测,等待期间每天晚上群里红包发放和抽奖。 给我们一次机会,进来试玩10分钟,我保证让你体验不一样的休闲娱乐游戏。★

☆ 六一活动开放-放置传奇☆

★ 六一活动开放-放置传奇★

★可白嫖 上班摸鱼类 放置文字传奇游戏(放置休闲)qq群756025698★

★三职业传奇★开局送神装★爆率100%★

★三职业传奇★开局送神装★爆率100%★零氪首选★

★〖双线〗〖无忧传奇〗〖每日新区〗〖开局送神装 100%高爆率 装备元宝打怪爆〗★

★1.80星王独家光速合击★星王+1★

★★180星王合击★开局送200赞助★爆率100%★星王+1★★

★游戏介绍★:◆散人回馈散人玩家,打造公平、公正、绿色复古★

承接推广

★承接推广★

★承接推广★

★DNF★全职业平衡★公益服★
★DNF★全职业平衡★公益服★

【dnf86版本】【怀旧服】【全职业平衡】【非变态服】【非商业服】【774031300】

★怀旧网页策略游戏Ogame《银河帝国》★

★怀旧网页策略游戏Ogame《银河帝国》★

★轻变态数值版本,带有各种新鲜玩意、锦标赛、海盗NPC袭击等等,建议电脑浏览器玩,手机访问只做了简易适配(无图,纯文字页面) ★

★三国群英传OL端游独家研发网页版★

★三国群英传OL端游独家研发网页版★

★资深老玩家从零开始精心制作,离线挂机、BOSS打宝、自由交易、小兵养成,操作简单每天仅需几分钟即可轻松畅玩★

★承接推广★

★承接推广★

★承接推广★

查看: 12|回复: 0

[求助] 求助大神关于某道不刷星修复方法

[复制链接]
 楼主| 发表于 1 小时前 | 显示全部楼层 |阅读模式
有那位大神有能力可以修复某道不刷星教程或者完整修复文件。我用AI查看错误日志提示我是杀星系统初始化失败,让我修复Error: Bad init value to loop, expected integer (in init).
位置:/gs/daemons/tasks/shaxing/shaxing.c:338(load_magic_boss_list) 这个文件,我解开lib_gs32.pak文件找到杀星那个文件夹里面只有,o的文件没有找到AI说的.C文件,求助各位大神帮忙,只作单机玩,这个是AI分析出来的说明我把他复制给大家看一下


根据您提供的日志文件,我将其中的错误信息进行了分类整理。以下是各类错误的汇总,包括错误类型、出现位置、频次及可能原因。

1. 对象析构错误(“正在析购basic_object”)
  • 错误信息:Error: 正在析购basic_object
  • 出现位置:多次出现在 /gs/inherit/misc/basic_object.c:54(destruct),涉及对象包括:

    • /gs/clone/boss_monster/basic.c#51、#59
    • /gs/clone/npc/basic.c#225、#311、#374
    • /gs/clone/item/task/basic.c#1051
    • /gs/clone/monster/basic.c#1910、#2006、#2327

  • 可能原因:对象在析构时发生异常,可能是对象已被销毁或引用无效,导致重复析构。系统初始化时大量对象创建和销毁,可能存在对象生命周期管理问题。


2. 克隆对象失败(“Not found the object for clone_object”)
  • 错误信息:Error: Not found the object for clone_object.,参数1为 0
  • 出现位置:多次在 /gs/daemons/roomd.c:361(place_char),尝试克隆 yunxiaogong/zu、yunxiaogong/bing、yunxiaogong/pao 等NPC
  • 可能原因:尝试克隆的对象路径(如 THIS_PLACE/zu)对应的文件不存在或未正确加载,导致 clone_object 返回0。可能是NPC配置文件缺失或路径错误。


3. 类型错误(期望映射,实际为 undefined)
  • 错误信息:Error: Bad type of argument 1, expected mapping, got undefined.
  • 出现位置:/gs/daemons/purchased.c:3158(do_init),调用 keys() 时参数为 undefined
  • 可能原因:purchased.c 中某个映射变量未初始化,导致 keys() 无法处理。


4. 索引错误(undefined 索引)
  • 错误信息:Error: Bad type(undefined) to index.
  • 出现位置:/gs/daemons/custom_packd.c:1290(init_mall_info)
  • 可能原因:尝试访问一个未定义键值的映射,可能是数据结构不完整。


5. 配置错误(空配置信息)
  • 错误信息:Error: Bad config. Empty comp_info for 2028-08-16-2.
  • 出现位置:/gs/daemons/amendd.c:1801(set_comp_condition_info)
  • 可能原因:活动配置项 2028-08-16-2 缺少必要的 comp_info 字段,导致解析失败。


6. 空值错误(“Got empty value”)
  • 错误信息:Error: Got empty value.
  • 出现位置:两次,均出现在 /util/global_util.c:1827(convert_to_value),处理 fudai08.list 和 fudai09.list 的 bonus$ 属性时
  • 可能原因:配置文件中某个字段值为空字符串或缺失,导致解析时触发空值错误。例如 bonus$: ({ 0, 0, 100, "宠物", 1, 1, "", }) 中存在空字符串。


7. 比较错误(非数字参与比较)
  • 错误信息:Error: Bad >=, right isn't a number when left is.
  • 出现位置:/gs/daemons/tasks/jingji_wangzhe.c:124(do_init)
  • 可能原因:end_time 字段解析为字符串 "问道一区-08-21-19:59:59",而代码期望数字时间戳,导致比较时类型不匹配。


8. 循环初始化错误(期望整数)
  • 错误信息:Error: Bad init value to loop, expected integer (in init).
  • 出现位置:/gs/daemons/tasks/shaxing/shaxing.c:338(load_magic_boss_list)
  • 可能原因:数组 sort_level_arr 的第一个元素为 undefined,而循环变量初始值期望为整数,导致初始化失败。


9. 类型索引错误(整数索引)
  • 错误信息:Error: Bad type(integer) to index.
  • 出现位置:/gs/daemons/tasks/summer_vacation_2011/guimen_chukai.c,调用 trim_time_info_list 时
  • 可能原因:time_info_list 中包含一个整数 0,而代码期望数组或映射,导致索引操作失败。


10. 定时器超时负数
  • 错误信息:Error: Bad value of argument: timeout can not be negative.
  • 出现位置:/gs/daemons/vendued.c:5140(do_next_timer),计算出的超时时间为 -443483917
  • 可能原因:start_sys_vendue 的开始时间(1340294400)早于当前时间(1783778317),而定时器要求超时时间必须为正,导致设置失败。


总结
日志中的错误主要集中在:
  • 配置文件格式错误(空值、类型错误)
  • 数据文件缺失或路径错误(NPC克隆失败)
  • 时间配置错误(日期格式不正确、时间戳过期)
  • 代码健壮性不足(未处理 undefined、类型不匹配)

建议优先检查:
  • /gs/zone/yunxiaogong/ 目录下的NPC定义文件是否存在。
  • fudai08.list 和 fudai09.list 的 bonus$ 字段值是否完整。
  • amendd.c 中活动ID 2028-08-16-2 的配置项是否完整。
  • jingji_wangzhe.c 的时间字符串格式是否正确。
  • shaxing.c 的 sort_level_arr 初始化逻辑。
  • vendued.c 的系统拍卖开始时间是否合理(未来时间)。
  • 各 daemon 初始化时对变量进行空值检查。

如果有进一步需求(如具体修复建议),可提供更多细节。

定时器错误会直接导致特定怪物(尤其是活动类和周期性刷新的Boss)无法刷新。
但需要注意,日志中的怪物刷新失败分为“定时器逻辑错误”和“资源加载错误”两种。结合您的日志,具体影响如下:
1. 直接证据:杀星系统(星宿Boss)初始化失败
日志中有一个明确针对怪物刷新的严重错误:
Error: Bad init value to loop, expected integer (in init).
位置:/gs/daemons/tasks/shaxing/shaxing.c:338(load_magic_boss_list)
  • 这个系统是干嘛的? shaxing.c 就是游戏中的“杀星”/“天罡地煞星”刷新控制系统,负责定时在地图刷出星宿Boss。
  • 错误后果:该模块在启动时因数组初始化错误(sort_level_arr 首元素为 undefined)导致加载失败。既然 init 没有正常完成,该模块的定时刷新循环(Timer Loop)根本无法启动。因此,所有依赖此系统的星宿Boss(如天魁星、天罡星等)在服务器运行期间完全不会刷新。

2. 间接影响:活动类Boss的时间解析错乱
日志中另一个典型的定时器错误是:
Error: Bad >=, right isn't a number when left is.
位置:/gs/daemons/tasks/jingji_wangzhe.c:124(do_init)
  • 该模块因结束时间字符串格式错误("问道一区-08-21-19:59:59" 无法转为数字时间戳),导致时间比较运算失败。
  • 如果某个Boss刷新逻辑挂载在这种活动时间轴上,该活动期间的专属Boss也会因为时间判断异常而无法进入刷新队列。

3. 全局定时器的“雪崩”效应(最致命)
日志末尾的全局系统拍卖定时器报错:
Error: Bad value of argument: timeout can not be negative.
位置:/gs/daemons/vendued.c
  • 因为 start_time(1340294400,约2012年)远早于当前服务器时间(1783778317,约2026年),计算出的超时时间 -443483917 为负数。
  • 虽然这个报错是拍卖行,但它暴露了当前服务器的时间校验函数存在严重Bug。如果怪物刷新模块(shaxing.c 或其他自定义Boss)也调用了相同的时间计算函数(例如计算距离下一次刷新的秒数),当计算结果为负数时,set_timer 会拒绝设置,导致该刷新任务被直接丢弃,永久不再触发。


4. 特别区分:日志中还有一种“不刷怪”并非定时器导致
日志中大量出现的:
Error: Not found the object for clone_object.
位置:/gs/zone/yunxiaogong/yunxiaogong.c(尝试刷新 zu、bing、pao)
  • 这是地图NPC/小怪配置路径缺失(文件不存在)导致的,不是定时器问题。
  • 但影响更恶劣:因为 roomd.c 加载失败,导致整个“云霄宫”地图的静态怪物布置中断,这些位置的怪物永远无法通过克隆生成。


总结与建议
结论:会。特别是星宿Boss(杀星系统)已被证实因初始化错误完全无法刷新;而活动Boss和依赖全局时间计算的周期性Boss,也面临因定时器负数报错而被“跳过”刷新的高风险。
建议优先修复顺序:
  • 修复 shaxing.c 中的数组定义(将 sort_level_arr 的首个 undefined 元素去掉或赋值为0)。
  • 修复 jingji_wangzhe.c 中的结束时间字符串(改为标准格式如 2028-08-21-19:59:59)。
  • 检查 vendued.c 及其他模块的 start_time,确保所有定时任务的开始时间都设置为未来的时间戳,避免计算负超时。
  • 补充 yunxiaogong 目录下缺失的 zu.c、bing.c、pao.c 文件,或修正 THIS_PLACE 宏定义的路径映射。

如果放任不管,不仅当前星宿Boss不刷,随着系统运行,其他依赖定时器的活动Boss也可能在某个时间点后突然“绝迹”。

针对您日志中的各类错误,修复方案需要区分“代码逻辑Bug”、“数据配置错误”和“文件缺失”。以下是按优先级(从高到低)排列的具体操作指南(基于LPC/LPMud架构):

1. 修复“杀星系统”初始化失败(最高优先级,解决Boss不刷)
  • 文件位置:/gs/daemons/tasks/shaxing/shaxing.c
  • 错误行:load_magic_boss_list 函数中的 sort_level_arr
  • 错误原因:数组第一个元素为 (undefined),导致 for 循环初始化时无法获取整数起始值。
  • 修复操作:
    找到类似 sort_level_arr = ({ undefined, 1, 2, 3 ... 36 }); 的定义,直接删除开头的 undefined,改为:
    lpc



    sort_level_arr = ({ 1, 2, 3, 4, 5, ... , 36 });
    同时检查 magic_boss_names 数组,确保其长度与 sort_level_arr 严格对应(且索引1对应“天魁星”)。
  • 重载生效:修改后,在控制台执行 update /gs/daemons/tasks/shaxing/shaxing.c,并调用 init() 重载数据。


2. 修复“活动时间”解析错误(解决活动Boss时间判断异常)
  • 文件位置:/gs/daemons/tasks/jingji_wangzhe.c
  • 错误行:time_info 映射中的 "end_time"
  • 错误原因:字符串 "问道一区-08-21-19:59:59" 不符合系统时间转换函数(应为 YYYY-MM-DD-HH:MM:SS)。
  • 修复操作:
    将 "end_time" : "问道一区-08-21-19:59:59" 修正为有效格式,例如:
    lpc



    "end_time" : "2028-08-21-19:59:59"
    若该活动已结束,建议直接将其改为 "end_time" : "1970-01-01-00:00:00" 或注释掉该任务,避免干扰其他模块。


3. 修复“定时器负数”报错(解决全局定时器任务被丢弃)
  • 文件位置:/gs/daemons/vendued.c(以及所有调用 set_timer 且计算负值的模块)
  • 错误行:start_sys_vendue 中的 start_time 为 1340294400(2012年)
  • 修复操作:
    • 方案A(临时):在 do_next_timer 函数中,计算 ti = (start_time - current_time) 后,添加保护逻辑:
      lpc



      if (ti < 0) ti = 60;  // 如果超时时间为负,改为60秒后重试
    • 方案B(根本):将 vendue_test.list 或代码中的 start_time 改为未来的时间戳(如当前时间加1小时):
      lpc



      "start_time" : time() + 3600

  • 注意:此修复同样适用于其他因日期过期导致负超时的模块。


4. 修复“地图NPC克隆失败”(解决普通怪物/守卫不显示)
  • 文件位置:/gs/zone/yunxiaogong/ 目录下
  • 错误行:roomd.c 尝试加载 THIS_PLACE/zu、bing、pao
  • 修复操作:
    • 检查宏定义:查看 yunxiaogong.c 顶部 #define THIS_PLACE 的定义,确认实际路径是 yunxiaogong 还是 zone/yunxiaogong。
    • 创建缺失文件:在该目录下创建 zu.c、bing.c、pao.c 三个NPC文件。
    • 极简模板示例(zu.c):
      lpc



      inherit "/gs/clone/npc/basic.c";void create() {    ::create();    set_name("卒");    // 其他属性设置...}
    • 应急方案:如果暂时无法写新文件,可在 roomd.c:361 处增加判断:if(!ob) return;,跳过缺失的NPC,防止刷屏报错。



5. 修复“福袋配置空值”错误(解决道具开服加载中断)
  • 文件位置:/gs/clone/item/charge/fudai08.list 和 fudai09.list
  • 错误行:bonus$: ({ 0, 0, 100, "宠物", 1, 1, "", })
  • 修复操作:编辑器打开 fudai08.list,找到该行,删除末尾多余的逗号和空字符串,或补全最后一项(如 "普通宠物")。
  • 正确格式示例:
    lpc



    bonus$:  ({ 0, 0, 100, "宠物", 1, 1, "鲁道夫" })
  • 重载:修改后需要 update 对应的 fudai08.c 文件,或重启服务器重新导入。


6. 修复“补偿活动配置缺失”(解决Amendd模块报错)
  • 文件位置:/gs/daemons/amendd.c 或对应的配置文件(如 amend.list)
  • 错误行:set_comp_condition_info 读取 "2028-08-16-2" 时获取空值
  • 修复操作:
    • 检查配置文件中是否存在 [2028-08-16-2] 这一节。
    • 如果不存在,要么删除代码中对该ID的引用(如果已废弃),要么补全配置:
      lpc



      "2028-08-16-2" : ([    "comp_ids" : ({ "comp_1" }),    "start_time" : "...",    // 补充完整字段])
    • 或在 set_comp_condition_info 函数开头加入防御性判断:
      lpc



      if(!config_map[event_id]) return;



7. 修复“采购中心映射未初始化”(防御性编程)
  • 文件位置:/gs/daemons/purchased.c
  • 错误行:keys(attrib_list) 时 attrib_list 为 undefined
  • 修复操作:在 do_init 函数开头初始化:
    lpc



    if(!attrib_list) attrib_list = ([]);


终极建议(快速恢复方案)
如果以上修改涉及文件过多,最简单的临时修复手段是:
  • 在 /gs/daemons/basic_objectd.c 的 create_basic_object 函数中,将所有可能抛出 Error 的地方用 catch() 包裹,防止单个对象析构失败导致整条初始化链断裂。
  • 重启服务器,优先观察杀星系统(shaxing)是否正常生成倒计时。

操作顺序建议:先修 shaxing.c(数组)和 vendued.c(负超时保护),重启后星宿Boss立即恢复刷新;再修地图文件(yunxiaogong)和福袋列表,解决次要报错。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

本站内容如若侵犯到您的权益,请来电来函告知,我们会尽快处理!
联系QQ:1953150286,2251387361,123784736,免责申明

排行榜|联系我们|小黑屋|手机版|Archiver|游戏藏宝湾 |

GMT+8, 2026-7-13 05:44 , Processed in 0.159741 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表