战场胜利奖励

如果联盟获胜了战场,那么联盟中的所有玩家(在战场上)将会收到 305047 物品。 如果部落获胜了战场,则部落中的所有玩家(在战场上)将会收到 305048 物品。

这些是奖励宝箱中的物品。您能告诉我如何做到这一点吗?

也许可以使用 Eluna 中的 LUA 来完成?

if (player->GetTeamId(TEAM_HORDE))
    player->AddItem(305047, 1);
else
    player->AddItem(305048, 1);

注:这段代码的作用是正确的,但并不完全准确。它会在所有竞技场和战场上给予奖励,而我需要的是只在战场上给予奖励。

点赞
用户11883575
用户11883575
本文为代码,无法进行翻译和提供上下文。
2019-08-14 09:48:57
用户10895843
用户10895843

你可以使用C++完成这个操作,在现有文件battleground.cpp的第985行使用以下代码:

if (bgTeamId == winnerTeamId)
    {
        if (TEAM_ALLIANCE == winnerTeamId)
            player->AddItem(XXXXX, 1); // 这里添加联盟玩家在战场结束时获取的物品
        else
            if (TEAM_HORDE == winnerTeamId)
            {
                player->AddItem(XXXXX, 1); // 这里添加部落玩家在战场结束时获取的物品
            }
2019-08-16 21:41:00
用户11943061
用户11943061

如果不在竞技场中 { 如果背景战队 ID 和获胜战队 ID 相同 { 如果胜利者战队 ID 是联盟 { player->AddItem(XXXXX, 1); // 这里为联盟玩家在背景战斗结束时添加物品 } else { 如果胜利者战队 ID 是部落 { player->AddItem(XXXXX, 1); // 这里为部落玩家在背景战斗结束时添加物品 } } } }

2019-08-18 14:52:40