bool GossipHello_npc_guildmaster(Player *player, Creature *_creature) { player->ADD_GOSSIP_ITEM(ICON_GOSSIP_BALOON, MSG_GOSSIP_TELE, GOSSIP_SENDER_MAIN, ACTION_TELE); if (isPlayerGuildLeader(player)) { uint8 buyEnabled = sConfig.GetIntDefault("GuildMasterNPC.BuyEnabled", 1); if ( buyEnabled == 1 ) { //show additional menu for guild leader std::string buyGHGossip = sConfig.GetStringDefault("GuildMasterNPC.BuyGossip", "Buy a Guild House for 500 Gold"); player->ADD_GOSSIP_ITEM(ICON_GOSSIP_GOLD, buyGHGossip, GOSSIP_SENDER_MAIN, ACTION_SHOW_BUYLIST); } if (isPlayerHasGuildhouse(player, _creature)) { uint8 sellEnabled = sConfig.GetIntDefault("GuildMasterNPC.SellEnabled", 1); if ( sellEnabled == 1 ) { //and additional for guildhouse owner std::string sellGHGossip = sConfig.GetStringDefault("GuildMasterNPC.SellGossip", "Sell your Guild House for 400 Gold"); player->PlayerTalkClass->GetGossipMenu().AddMenuItem(ICON_GOSSIP_GOLD, sellGHGossip, GOSSIP_SENDER_MAIN, ACTION_SELL_GUILDHOUSE, MSG_CODEBOX_SELL, 0, true); } } } player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, _creature->GetGUID()); return true; }
void buyGuildhouse(Player *player, Creature *_creature, uint32 guildhouseId) { if (player->GetMoney() < COST_GH_BUY) { char msg[100]; sprintf(msg, MSG_NOTENOUGHMONEY, COST_GH_BUY / 10000); _creature->MonsterWhisper(msg, player->GetGUID()); return; } if (isPlayerHasGuildhouse(player, _creature, true)) { return; } QueryResult result; result = CharacterDatabase.PQuery("SELECT `id` FROM `guildhouses` WHERE `id` = %u AND `guildId` <> 0", guildhouseId); if (result) { _creature->MonsterWhisper(MSG_GHOCCUPIED, player->GetGUID()); return; } result = CharacterDatabase.PQuery("UPDATE `guildhouses` SET `guildId` = %u WHERE `id` = %u", player->GetGuildId(), guildhouseId); if (result) player->ModifyMoney(-COST_GH_BUY); _creature->MonsterSay(MSG_CONGRATULATIONS, LANG_UNIVERSAL, player->GetGUID()); }
void sellGuildhouse(Player *player, Creature *_creature) { uint32 sellprice = (sConfig.GetIntDefault("GuildMasterNPC.SellPriceInGold",400)*10000); if (isPlayerHasGuildhouse(player, _creature)) { QueryResult_AutoPtr result = CharacterDatabase.PQuery("UPDATE `guild_houses` SET `guildId` = 0 WHERE `guildId` = %u", player->GetGuildId()); player->ModifyMoney(sellprice); //display message e.g. "here your money etc." char msg[100]; sprintf(msg, MSG_SOLD, (sellprice/10000)); _creature->MonsterWhisper(msg, player->GetGUID()); } }
void sellGuildhouse(Player *player, Creature *_creature) { if (isPlayerHasGuildhouse(player, _creature)) { QueryResult result; result = CharacterDatabase.PQuery("UPDATE `guildhouses` SET `guildId` = 0 WHERE `guildId` = %u", player->GetGuildId()); if (result) player->ModifyMoney(COST_GH_SELL); char msg[100]; sprintf(msg, MSG_SOLD, COST_GH_SELL / 10000); _creature->MonsterWhisper(msg, player->GetGUID()); } }
void sellGuildhouse(Player *player, Creature *_creature) { if (isPlayerHasGuildhouse(player, _creature)) { QueryResult result; result = WorldDatabase.PQuery("UPDATE `guildhouses` SET `guildId` = 0 WHERE `guildId` = %u", player->GetGuildId()); player->ModifyMoney(sConfigMgr->GetIntDefault("GuildHouse.SellCost", false) * 10000); //display message e.g. "here your money etc." char msg[100]; sprintf(msg, MSG_SOLD, sConfigMgr->GetIntDefault("GuildHouse.SellCost", false)); _creature->Whisper(msg, LANG_UNIVERSAL, player); } }
bool GossipHello_guildmaster(Player *player, Creature *_creature) { player->ADD_GOSSIP_ITEM(ICON_GOSSIP_BALOON, MSG_GOSSIP_TELE, GOSSIP_SENDER_MAIN, ACTION_TELE); if (isPlayerGuildLeader(player)) { //show additional menu for guild leader player->ADD_GOSSIP_ITEM(ICON_GOSSIP_GOLD, MSG_GOSSIP_BUY, GOSSIP_SENDER_MAIN, ACTION_SHOW_BUYLIST); if (isPlayerHasGuildhouse(player, _creature)) { //and additional for guildhouse owner player->PlayerTalkClass->GetGossipMenu().AddMenuItem(ICON_GOSSIP_GOLD, MSG_GOSSIP_SELL, GOSSIP_SENDER_MAIN, ACTION_SELL_GUILDHOUSE, MSG_CODEBOX_SELL, 0, true); } } player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, _creature->GetGUID()); return true; }
void sellGuildhouse(Player *player, Creature *_creature) { if (isPlayerHasGuildhouse(player, _creature)) { QueryResult_AutoPtr result; result = WorldDatabase.PQuery("UPDATE `guildhouses` SET `guildId` = 0 WHERE `guildId` = %u", player->GetGuildId()); if (result) player->ModifyMoney(COST_GH_SELL); //display message e.g. "here your money etc." char msg[100]; sprintf(msg, MSG_SOLD, COST_GH_SELL / 10000); _creature->MonsterWhisper(msg, player->GetGUID()); } }
void buyGuildhouse(Player *player, Creature *_creature, uint32 guildhouseId) { bool token = sConfigMgr->GetBoolDefault("GuildHouse.TokenOrGold", false); int cost = sConfigMgr->GetBoolDefault("GuildHouse.Cost", false); if (player->GetMoney() < COST_GH_BUY) { //show how much money player need to buy GH (in gold) char msg[100]; sprintf(msg, MSG_NOTENOUGHMONEY, COST_GH_BUY - sConfigMgr->GetBoolDefault("GuildHouse.Cost", false)); _creature->Whisper(msg, LANG_UNIVERSAL, player); return; } if (isPlayerHasGuildhouse(player, _creature, true)) { //player already have GH return; } QueryResult result; //check if somebody already occupied this GH result = WorldDatabase.PQuery("SELECT `id` FROM `guildhouses` WHERE `id` = %u AND `guildId` <> 0", guildhouseId); if (result) { _creature->Whisper(MSG_GHOCCUPIED, LANG_UNIVERSAL, player); return; } //update DB result = WorldDatabase.PQuery("UPDATE `guildhouses` SET `guildId` = %u WHERE `id` = %u", player->GetGuildId(), guildhouseId); player->ModifyMoney(-sConfigMgr->GetIntDefault("GuildHouse.BuyCost", false) * 10000); //player->DestroyItemCount(token, cost, true); _creature->Say(MSG_CONGRATULATIONS, LANG_UNIVERSAL, player); }
void sellGuildhouse(Player *pPlayer, Creature *_Creature) { if (isPlayerHasGuildhouse(pPlayer, _Creature)) { QueryResult *result; result = WorldDatabase.PQuery("UPDATE `guildhouses` SET `guildId` = 0 WHERE `guildId` = %u", pPlayer->GetGuildId()); if (result) pPlayer->ModifyMoney(150000000); //display message e.g. "here your money etc." char msg[100]; sprintf(msg, MSG_SOLD, COST_GH_SELL / 150000000); pPlayer->ModifyMoney(150000000); _Creature->MonsterYell(msg, pPlayer->GetObjectGuid()); } }
void buyGuildhouse(Player *player, Creature *_creature, uint32 guildhouseId) { if (player->GetMoney() < COST_GH_BUY) { //show how much money player need to buy GH (in gold) char msg[100]; sprintf(msg, MSG_NOTENOUGHMONEY, COST_GH_BUY / 10000); _creature->MonsterWhisper(msg, player->GetGUID()); return; } if (isPlayerHasGuildhouse(player, _creature, true)) { //player already have GH return; } QueryResult *result; //check if somebody already occupied this GH result = SD2Database.PQuery("SELECT `id` FROM `guildhouses` WHERE `id` = %u AND `guildId` <> 0", guildhouseId); if (result) { delete result; _creature->MonsterWhisper(MSG_GHOCCUPIED, player->GetGUID()); return; } //update DB result = SD2Database.PQuery("UPDATE `guildhouses` SET `guildId` = %u WHERE `id` = %u", player->GetGuildId(), guildhouseId); if (result) delete result; player->ModifyMoney(-COST_GH_BUY); _creature->MonsterSay(MSG_CONGRATULATIONS, LANG_UNIVERSAL, player->GetGUID()); }
void buyGuildhouse(Player *pPlayer, Creature *_Creature, uint32 guildhouseId) { if (pPlayer->GetMoney() < 250000000) { //show how much money pPlayer need to buy GH (in gold) char msg[100]; sprintf(msg, MSG_NOTENOUGHMONEY, COST_GH_BUY / -250000000); pPlayer->ModifyMoney(-250000000); _Creature->MonsterYell(msg, pPlayer->GetObjectGuid()); return; } if (isPlayerHasGuildhouse(pPlayer, _Creature, true)) { //pPlayer already have GH return; } QueryResult *result; //check if somebody already occupied this GH result = WorldDatabase.PQuery("SELECT `id` FROM `guildhouses` WHERE `id` = %u AND `guildId` <> 0", guildhouseId); if (result) { pPlayer->GetSession()->SendNotification("Dieses Gildenhaus wird bereits verwendet."); return; } //update DB result = WorldDatabase.PQuery("UPDATE `guildhouses` SET `guildId` = %u WHERE `id` = %u", pPlayer->GetGuildId(), guildhouseId); pPlayer->ModifyMoney(-250000000); if (result) _Creature->MonsterSay("Du hast ein Gildenhaus erworben.", pPlayer->GetObjectGuid()); }
void buyGuildhouse(Player *player, Creature* pCreature, uint32 guildhouseId) { if (!player->HasEnoughMoney(GHBUY_COST))//(player->GetMoney() < GHBUY_COST) { //show how much money player need to buy GH (in gold) char msg[100]; sprintf(msg, MSG_NOTENOUGHMONEY, GHBUY_COST / 10000); pCreature->MonsterWhisper(msg, player->GetGUID()); return; } if (isPlayerHasGuildhouse(player, pCreature, true)) { //player already have GH return; } QueryResult result; //check if somebody already occupied this GH result = WorldDatabase.PQuery("SELECT `id` FROM `guildhouses` WHERE `id` = %u AND `guildId` <> 0", guildhouseId); if (result) { pCreature->MonsterWhisper(MSG_GHOCCUPIED, player->GetGUID()); return; } //update DB result = WorldDatabase.PQuery("UPDATE `guildhouses` SET `guildId` = %u WHERE `id` = %u", player->GetGuildId(), guildhouseId); if (result) player->ModifyMoney(-int32(GHBUY_COST)); player->ModifyMoney(-(ConfigMgr::GetFloatDefault("pryds_guildhouseGoldCost",0))); pCreature->MonsterSay(MSG_CONGRATULATIONS, LANG_UNIVERSAL, player->GetGUID()); }
bool OnGossipHello(Player *player, Creature *_creature) { player->ADD_GOSSIP_ITEM(ICON_GOSSIP_BALOON, MSG_GOSSIP_TELE, GOSSIP_SENDER_MAIN, ACTION_TELE); if (isPlayerGuildLeader(player)) { if (isPlayerHasGuildhouse(player, _creature)) { player->ADD_GOSSIP_ITEM(0, "Sell Guild House", GOSSIP_SENDER_MAIN, ACTION_SELL_GUILDHOUSE_OPT); } else { //show additional menu for guild leader player->ADD_GOSSIP_ITEM(ICON_GOSSIP_GOLD, MSG_GOSSIP_BUY, GOSSIP_SENDER_MAIN, ACTION_SHOW_BUYLIST); } } player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, _creature->GetGUID()); return true; }
bool OnGossipHello(Player *player, Creature *_creature) { AddGossipItemFor(player, ICON_GOSSIP_BALOON, MSG_GOSSIP_TELE, GOSSIP_SENDER_MAIN, ACTION_TELE); if (isPlayerGuildLeader(player)) { if (isPlayerHasGuildhouse(player, _creature)) { //and additional for guildhouse owner (Removed : AddGossipItemFor(player, ICON_GOSSIP_GOLD, MSG_GOSSIP_SELL, GOSSIP_SENDER_MAIN, ACTION_SELL_GUILDHOUSE, MSG_SELL_CONFIRM, 0, false); } else { //show additional menu for guild leader AddGossipItemFor(player, ICON_GOSSIP_GOLD, MSG_GOSSIP_BUY, GOSSIP_SENDER_MAIN, ACTION_SHOW_BUYLIST); } } SendGossipMenuFor(player, DEFAULT_GOSSIP_MESSAGE, _creature->GetGUID()); return true; }
void buyGuildhouse(Player *player, Creature *_creature, uint32 guildhouseId) { uint32 buyprice = (sConfig.GetIntDefault("GuildMasterNPC.BuyPriceInGold",500)*10000); if (player->GetMoney() < buyprice) { //show how much money player need to buy GH (in gold) char msg[100]; sprintf(msg, MSG_NOTENOUGHMONEY, buyprice / 10000); _creature->MonsterWhisper(msg, player->GetGUID()); return; } if (isPlayerHasGuildhouse(player, _creature, true)) { //player already have GH return; } //check if somebody already occupied this GH QueryResult_AutoPtr result = CharacterDatabase.PQuery("SELECT `id` FROM `guild_houses` WHERE `id` = %u AND `guildId` <> 0", guildhouseId); if (result) { _creature->MonsterWhisper(MSG_GHOCCUPIED, player->GetGUID()); return; } //update DB QueryResult_AutoPtr result_updt = CharacterDatabase.PQuery("UPDATE `guild_houses` SET `guildId` = %u WHERE `id` = %u", player->GetGuildId(), guildhouseId); player->ModifyMoney(-buyprice); _creature->MonsterSay(MSG_CONGRATULATIONS, LANG_UNIVERSAL, player->GetGUID()); }