eluna-scripts/Example Scripts/example_gossip.lua

47 lines
No EOL
1.8 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, "Test popup")
player:GossipMenuAddItem(0, "Test codebox", 1, 3, nil, true)
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
RegisterCreatureGossipEvent(NpcId, 1, OnGossipHello)
RegisterCreatureGossipEvent(NpcId, 2, OnGossipSelect)
RegisterGameObjectGossipEvent(GobId, 1, OnGossipHello)
RegisterGameObjectGossipEvent(GobId, 2, OnGossipSelect)
RegisterItemGossipEvent(ItemId, 1, OnGossipHello)
RegisterItemGossipEvent(ItemId, 2, OnGossipSelect)
RegisterPlayerGossipEvent(MenuId, 1, OnGossipHello)
RegisterPlayerGossipEvent(MenuId, 2, OnGossipSelect)