4

我正在尝试创建一个新模块;为此,我需要为一般战利品添加一个自定义处理程序。即:为世界上的每个怪物添加一个战利品,而不是通过 sql。

我实际上编辑了这个文件:

在 LootMgr.cpp: 中,在 LootTemplate::Process 中,我添加了对我创建的新方法的新调用:

sScriptMgr->OnBeforeLoot(loot, store, lootMode, player, groupId);

在 OnBeforeLoot 内部,执行一些代码,然后,我想在战利品上添加一个项目,如下所示:

LootStoreItem* storeItem = new LootStoreItem(ITEM_ID, 0, 100, false, 1, 0, 1, 1);
 loot.AddItem(*storeItem);

该物品显示在世界上某些怪物的战利品中,但我无法抢劫它们。

并且只出现在第一个怪物中。然后下一个怪物不会掠夺任何东西。

你知道我如何在不使用 loot_template 表的情况下正确地在战利品中插入自定义物品吗?只能通过代码

谢谢!!!

4

0 回答 0