a161683 發表於 2024-3-18 03:53

請教各位前輩怪物重生問題

想請問各位前輩,我在更改DB的時候假設廢棄的礦坑這張地圖 他原有的座標 就有設定怪物數量 4個座標各30隻,我可以直接修改成60隻嗎?

因為目前遇到一個情況就是我看重生時間都是設定0最大最小都是0秒,但是每次玩家刷一陣子後地圖就會怪物越來越少,刷到最後地圖剩沒幾隻怪物,

想請問各位前輩這要從哪裡去找出問題呢?還是需要修改怪物的重生時間 或是得自己抓座標一隻一隻怪物放呢?

Lin-JN 發表於 2024-3-18 05:37

建议设定延迟刷新时间,然后把 避开玩家 关掉,如果在config中有设定范围刷怪也关掉,顺便把能够继承的物件ID尽量继承下来(比如R版变身的暴击特效召唤物件),避免时间过长ID太大可能会导致内存溢出,怪物也会越来越少(启动文件把初始内存加大到一定程度你就会发现奇迹)。
还有一种可能是JAVA task执行的问题,我的在持续动作超过48小时后会出现类似情况,但并不会很严重,只是直观上感觉怪物数量变少了,比如之前的24小时自动打怪可以击杀超过25000只怪,到第三天可能会降到15000左右,如果仅仅是24小时重启的话,从来没遇过类似问题。
另外,如果有L1DeInstance假人的,强烈建议关掉,这个东西很奇怪,写法上肯定是有巨大缺陷的,不论如何改可能都避不开某个大坑,开多少个线程都没办法的,我自己写的一版假人,直接召唤100只在同屏幕,不会卡机,这个的话会卡到死,至今没发现原因在哪。

勇於發言 發表於 2024-3-18 11:09

Lin-JN 發表於 2024-3-18 05:37
建议设定延迟刷新时间,然后把 避开玩家 关掉,如果在config中有设定范围刷怪也关掉,顺便把能够继承的物件 ...

請問一下 , 我目前玩的是大叔版的 , 有什麼方法可以減少記憶體溢出嗎 ? 或是提前避免

a382373 發表於 2024-3-18 14:10

感謝分享

gn9999ng 發表於 2024-3-18 15:27

保留一定秒數 別設0

Lin-JN 發表於 2024-3-18 19:56

勇於發言 發表於 2024-3-18 11:09
請問一下 , 我目前玩的是大叔版的 , 有什麼方法可以減少記憶體溢出嗎 ? 或是提前避免
...

我并没有见过你说的这个版本,不清楚它的怪物刷新机制是如何写的。


就日版原始传出来的就至少有两种不同写法的刷新机制(JP3团队的极为优秀,从来没出这种问题),其中一种就存在这种问题,然后伊薇版的又不一样,但在某些版本中也存在这种问题(没有的一般是后来修改的人给注销掉了继承ID语法 ),修复的话,你可以把所有继承物件ID的代码注销,全部采用nextId尝试一下,因为这些使用了继承物件ID的语法逻辑有很大问题,可能造成线程堵塞,注销继承语法后情况可以得到改善,但可能无法从根本上解决问题。

如果你不知道这段语法在哪,那么到L1NpcInstance.deleteMe() 里面去找,一般在这个方法的结尾处,看看有没有,如果没有继承的话,就可能需要找其他方面的原因了。
如果有,你的逻辑够好的话,继承ID是没有问题的,但是某些东西需要变动一下。

勇於發言 發表於 2024-3-19 00:33

Lin-JN 發表於 2024-3-18 19:56
我并没有见过你说的这个版本,不清楚它的怪物刷新机制是如何写的。




感謝你回復

class302niu 發表於 2024-3-19 00:36

請問各位前輩,我在更改DB的時候假設廢棄的礦坑這張地圖 他原有的座標 就有設定怪物數量 4個座標各30隻,我可以直接修改成60隻嗎?

因為目前遇到一個情況就是我看重生時間都是設定0最大最小都是0秒,但是每次玩家刷一陣子後地圖就會怪物越來越少,刷到最後地圖剩沒幾隻怪物,

想請問各位前輩這要從哪裡去找出問題呢?還是需要修改怪物的重生時間 或是得自己抓座標一隻一隻怪物放呢?

Lin-JN 發表於 2024-4-6 04:47

class302niu 發表於 2024-3-19 00:36
請問各位前輩,我在更改DB的時候假設廢棄的礦坑這張地圖 他原有的座標 就有設定怪物數量 4個座標各30隻,我 ...

请看我有关 “怪物刷新越来越少” 的贴子解释
https://lineage45.com/forum.php?mod=viewthread&tid=200866&page=1#pid4465506


应该是你的版本源码刷怪逻辑有问题

頁: [1]
查看完整版本: 請教各位前輩怪物重生問題