mirror of
https://github.com/ornfelt/azerothcore_lua_scripts
synced 2026-08-22 06:26:03 -04:00
55 lines
2 KiB
Lua
55 lines
2 KiB
Lua
|
|
local GobId = 123
|
||
|
|
local NpcId = 123
|
||
|
|
local ItemId = 123 -- Item needs to have spell on use
|
||
|
|
local MenuId = 123 -- Unique ID to recognice player gossip menu among others
|
||
|
|
|
||
|
|
local function OnGossipHello(event, player, object)
|
||
|
|
player:GossipClearMenu() -- required for player gossip
|
||
|
|
player:GossipMenuAddItem(0, "Open submenu", 1, 1)
|
||
|
|
player:GossipMenuAddItem(0, "Test popup box", 1, 2, false, "Test popup")
|
||
|
|
player:GossipMenuAddItem(0, "Test codebox", 1, 3, true, nil)
|
||
|
|
player:GossipMenuAddItem(0, "Test money requirement", 1, 4, nil, nil, 50000)
|
||
|
|
player:GossipSendMenu(1, object, MenuId) -- MenuId required for player gossip
|
||
|
|
end
|
||
|
|
|
||
|
|
local function OnGossipSelect(event, player, object, sender, intid, code, menuid)
|
||
|
|
if (intid == 1) then
|
||
|
|
player:GossipMenuAddItem(0, "Close gossip", 1, 5)
|
||
|
|
player:GossipMenuAddItem(0, "Back ..", 1, 6)
|
||
|
|
player:GossipSendMenu(1, object, MenuId) -- MenuId required for player gossip
|
||
|
|
elseif (intid == 2) then
|
||
|
|
OnGossipHello(event, player, object)
|
||
|
|
elseif (intid == 3) then
|
||
|
|
player:SendBroadcastMessage(code)
|
||
|
|
OnGossipHello(event, player, object)
|
||
|
|
elseif (intid == 4) then
|
||
|
|
if (player:GetCoinage() >= 50000) then
|
||
|
|
player:ModifyMoney(-50000)
|
||
|
|
end
|
||
|
|
OnGossipHello(event, player, object)
|
||
|
|
elseif (intid == 5) then
|
||
|
|
player:GossipComplete()
|
||
|
|
elseif (intid == 6) then
|
||
|
|
OnGossipHello(event, player, object)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
local function OnPlayerCommand(event, player, command)
|
||
|
|
if (command == "test gossip") then
|
||
|
|
OnGossipHello(event, player, player)
|
||
|
|
return false
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
RegisterCreatureGossipEvent(NpcId, 1, OnGossipHello)
|
||
|
|
RegisterCreatureGossipEvent(NpcId, 2, OnGossipSelect)
|
||
|
|
|
||
|
|
RegisterGameObjectGossipEvent(GobId, 1, OnGossipHello)
|
||
|
|
RegisterGameObjectGossipEvent(GobId, 2, OnGossipSelect)
|
||
|
|
|
||
|
|
RegisterItemGossipEvent(ItemId, 1, OnGossipHello)
|
||
|
|
RegisterItemGossipEvent(ItemId, 2, OnGossipSelect)
|
||
|
|
|
||
|
|
RegisterPlayerEvent(42, OnPlayerCommand)
|
||
|
|
RegisterPlayerGossipEvent(MenuId, 2, OnGossipSelect)
|