Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] /spawn生成的怪物不掉落东西 #2462

Open
Kaguya-1210 opened this issue Jan 2, 2024 · 2 comments
Open

[Bug] /spawn生成的怪物不掉落东西 #2462

Kaguya-1210 opened this issue Jan 2, 2024 · 2 comments
Labels
bug Something isn't working

Comments

@Kaguya-1210
Copy link

/spawn生成的怪物不掉落东西,我该如何修复,我的Drop.json是完整的,大世界的怪物掉落正常,指令生成的无法掉落

@Kaguya-1210 Kaguya-1210 added the bug Something isn't working label Jan 2, 2024
@NotThorny
Copy link
Member

What is happening is that spawned monsters use the new drop system since they aren't a SceneMonster (called metaMonster in EntityMonster.java) which is spawned by data. The new drops system is working correctly, it just doesn't have the drops you are expecting. Most of the spawned monsters appear to only have elemental orbs in their new drop system data which is in DropTableExcelConfigData.json.

Monsters spawned normally in the world have are a valid SceneMonster, and therefore have a drop tag but no drop id. When there is no drop id associated with a monster, it falls back to the legacy drops system. The legacy system has the drops you are expecting for the monster, which is more than just the elemental orbs. Those then are dropped onto the ground (items) given to you (virtual currency/exp).

So the drop system is working correctly in both cases, it's just that the drops themselves are different. What you are expecting is the drops in the legacy system. I'm not sure why the DropTable only has elemental orbs for a lot of mobs, maybe normally on official there's a mix of systems applying the drops, or maybe the dumps for DropTable are incomplete.

A simple workaround is to just force the legacy drop system to be used in cases where there is no valid SceneMonster. This may cause double drops for some mobs in the world, but will guarantee that spawned mobs drop expected items. Disabling BigWorldScripts may also do this, but forcing the drops would allow you to have spawned mob drops without sacrificing the rest of the open world scripting.

So you can either add the drops you want to DropTableExcelConfigData.json in your resources, or force legacy drops. I'm adding the little command to enable/disable forced legacy drops without affecting other bigworld scripting it in the AIO from Cultivation, so you can update using that if you want to go that route.

@Kaguya-1210
Copy link
Author

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants