Lstm
Respected Member
Hello, I have a problem .. I added a script to the winners and losers of earning their BG marks of honor according to BG
Is working however the same prize is being sent to all BG's
Example: When I enter Warsong Gulch warsong is gaining Mark of Honor, but when I joino in arathi etc. .. do not get the Arathi Basin Mark of Honor
He keeps winning Warsong Gulch Mark of Honor ... could someone help me?
The script is this
Is working however the same prize is being sent to all BG's
Example: When I enter Warsong Gulch warsong is gaining Mark of Honor, but when I joino in arathi etc. .. do not get the Arathi Basin Mark of Honor
He keeps winning Warsong Gulch Mark of Honor ... could someone help me?
The script is this
Code:
// Variaveis
uint32 reward_bg_item_id;
uint32 reward_arena_item_id;
uint32 reward_winner_count;
uint32 reward_loser_count;
uint32 reward_alterac;
uint32 reward_warsong;
uint32 reward_arathi;
uint32 reward_eyestorm;
uint32 reward_ancients;
uint32 reward_isle;
uint32 reward_winter;
// Reward
reward_bg_item_id = uint32(sConfigMgr->GetIntDefault("BG.RewawrdTokenBattlegrounds", 20558));
reward_arena_item_id = uint32(sConfigMgr->GetIntDefault("BG.RewawrdTokenIdArenas", 20558));
reward_winner_count = uint32(sConfigMgr->GetIntDefault("BG.RewardWinnerCount", 4));
reward_loser_count = uint32(sConfigMgr->GetIntDefault("BG.RewardLoserCount", 2));
reward_alterac = uint32(sConfigMgr->GetIntDefault("BG.RewardAlterac", 20560));
reward_warsong = uint32(sConfigMgr->GetIntDefault("BG.RewardWarsong", 20558));
reward_arathi = uint32(sConfigMgr->GetIntDefault("BG.RewardArathi", 20559));
reward_eyestorm = uint32(sConfigMgr->GetIntDefault("BG.RewardEye", 29024));
reward_ancients = uint32(sConfigMgr->GetIntDefault("BG.RewardAncients", 42425));
reward_isle = uint32(sConfigMgr->GetIntDefault("BG.RewardIsle", 47395));
reward_winter = uint32(sConfigMgr->GetIntDefault("BG.RewardWinter", 43589));
uint32 itemId = isArena() ? reward_arena_item_id : reward_bg_item_id;
uint32 itemCount = team == winner ? reward_winner_count : reward_loser_count;
uint32 spellId = 0;
ItemPosCountVec dest;
// Reward time ganhador
if (team == winner)
{
switch(player->GetMapId())
{
case 30: // Alterac
player->AddItem(reward_alterac, true);
break;
case 489: // Warsong Gulch
player->AddItem(reward_warsong, true);
break;
case 529: // Arathi Basin
player->AddItem(reward_arathi, true);
break;
case 566: // Eye of the Storm
player->AddItem(reward_eyestorm, true);
break;
case 607: // Ancients
player->AddItem(reward_ancients, true);
break;
case 628: // Isle Conquest
player->AddItem(reward_isle, true);
break;
case 571: // Wintergrasp
player->AddItem(reward_winter, true);
break;
default:
break;
}
if (IsRandom() || BattlegroundMgr::IsBGWeekend(GetTypeID()))
{
UpdatePlayerScore(player, SCORE_BONUS_HONOR, GetBonusHonorFromKill(winner_kills));
if (CanAwardArenaPoints())
player->ModifyArenaPoints(winner_arena);
if (!player->GetRandomWinner())
player->SetRandomWinner(true);
}
player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_WIN_BG, 1);
}
else
{
if (IsRandom() || BattlegroundMgr::IsBGWeekend(GetTypeID()))
UpdatePlayerScore(player, SCORE_BONUS_HONOR, GetBonusHonorFromKill(loser_kills));
}
if (isArena())
{
player->SetGMVisible(true);
player->SetGameMaster(false);
}
if (player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, itemId, itemCount) == EQUIP_ERR_OK)
{
Item* item = player->StoreNewItem(dest, itemId, true, Item::GenerateItemRandomPropertyId(itemId));
player->SendNewItem(item, itemCount, true, false);