Суть проблемы в том что скрипт работает,но меню продавца не открывает (75218),мультивендор есть,нпс транс экипировки мульти в один нпс 12 пунктов экипировки ( луки,щиты итд)
#include "ScriptPCH.h"
class VIP_NPC : public CreatureScript { public: VIP_NPC() : CreatureScript("VIP_NPC") { }
bool OnGossipHello(Player * player, Creature * pCreature) { if (player->GetSession()->GetSecurity() >= SEC_VIP) { player->ADD_GOSSIP_ITEM(6, "V.I.P экипировка", GOSSIP_SENDER_MAIN, 75218); player->ADD_GOSSIP_ITEM(6, "Ничего не хочу...", GOSSIP_SENDER_MAIN, 1); } else { player->GetSession()->SendNotification("Вы не можете использовать даного продавца,так как он доступен только V.I.P пользователям!"); player->CLOSE_GOSSIP_MENU(); } player->PlayerTalkClass->SendGossipMenu(9452, pCreature->GetGUID()); return true; }
Себе поставил потестить, тоже не работает. player->GetSession()->SendListInventory(m_creature->GetGUID()); вот это как бутто нечего не делает, либо запрос не тот. Хотя посмотрел другие скрипты тоже самое но не работает чтото...
Добавлено (02.12.2015, 22:19) --------------------------------------------- если перевести SendListInventory
то это нормально что не работает так как он открывает сразу вендора в котором лежат вещи.
r0m1ntik,очень странно,и каково решение проблемы,а решение то нужно) можно впринцыпе сделать нпс который выдавать шмот будет по уровню доступа и по классу,но мне нужен предпросмотр вещей)
Данное меню никогда не откроет меню вендора, т.к. в вашем скрипте(в этом меню) идет перенаправление на case "75218", а функция открытия меню(player->GetSession()->SendListInventory(m_creature->GetGUID());) находится в case GOSSIP_OPTION_VENDOR.
И еще, player->GetSession()->SendListInventory(m_creature->GetGUID()); откроет меню вендора этого же нпц(которому присвоен этот скрипт). Так что вам нужно переделывать.
Сообщение # 6 отредактировано Horon - Четверг, 03.12.2015, 14:01