mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-06-09 14:04:41 +02:00
Finished Treasures of the Main and Legends Adrift. Fixed quests appearing in private areas (echos). Fixed other bugs. Implemented NPC Linkshells. Added more options to nudge command. Added nudgenpc command. Added testbnpckill command.
This commit is contained in:
parent
ebba56602c
commit
65ee91e49c
14 changed files with 864 additions and 38 deletions
|
@ -1,17 +1,37 @@
|
|||
function init(npc)
|
||||
require("global");
|
||||
|
||||
--[[
|
||||
|
||||
PrivateAreaPastExit
|
||||
|
||||
This object contains the player inside a PrivateAreaPast, stopping them from escaping it's bounds. It is the
|
||||
object that generates the circle graphic on the minimap. This object always has two push triggers, an inner
|
||||
and outer inverted circle. The inner one is named "caution" and the outer one is named "exit". When the player
|
||||
leaves the inner circle a warning is shown and when they leave the outer circle they either leave the instance
|
||||
or get warped back to the center.
|
||||
|
||||
]]
|
||||
|
||||
function init(privAreaExit)
|
||||
return false, false, 0, 0;
|
||||
end
|
||||
|
||||
function onEventStarted(player, npc, eventType, eventName)
|
||||
function onEventStarted(player, privAreaExit, eventType, eventName)
|
||||
player:EndEvent();
|
||||
|
||||
if (eventName == "caution") then
|
||||
player:SendGameMessage(player, GetWorldMaster(), 34109, 0x20);
|
||||
player:SendGameMessage(player, GetWorldMaster(), 34109, MESSAGE_TYPE_SYSTEM); -- You are about to leave the instance.
|
||||
elseif (eventName == "exit") then
|
||||
local activeQuests = player:GetQuestsForNpc(npc);
|
||||
print(tostring(#activeQuests));
|
||||
if (#activeQuests >= 1) then
|
||||
activeQuests[1]:OnPush(player, npc, eventName);
|
||||
local area = privAreaExit.CurrentArea;
|
||||
if (area.IsPrivate()) then
|
||||
-- If you can leave, warp to public zone and show message.
|
||||
if (area.CanExitPrivateArea()) then
|
||||
player:SendGameMessage(player, GetWorldMaster(), 34110, MESSAGE_TYPE_SYSTEM); -- You have left the instance.
|
||||
GetWorldManager():WarpToPublicArea(player);
|
||||
-- Otherwise warp back to the center of the zone.
|
||||
else
|
||||
GetWorldManager():WarpToCharaPosition(player, privAreaExit);
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue