# Conflicts:
#	FFXIVClassic Map Server/dataobjects/ConnectedPlayer.cs
#	FFXIVClassic Map Server/lua/LuaEngine.cs
#	data/scripts/global.lua
This commit is contained in:
Tahir Akhlaq 2016-06-24 22:13:17 +01:00
commit 5fc0e0eeca
412 changed files with 2364 additions and 1832 deletions

View File

@ -248,16 +248,11 @@ namespace FFXIVClassic_Map_Server
*/ */
Actor ownerActor = Server.GetStaticActors(eventStart.scriptOwnerActorID); Actor ownerActor = Server.GetStaticActors(eventStart.scriptOwnerActorID);
if (ownerActor != null && ownerActor is Command)
{
player.GetActor().currentCommand = eventStart.scriptOwnerActorID; player.GetActor().currentEventOwner = eventStart.scriptOwnerActorID;
player.GetActor().currentCommandName = eventStart.triggerName; player.GetActor().currentEventName = eventStart.triggerName;
}
else
{
player.GetActor().currentEventOwner = eventStart.scriptOwnerActorID;
player.GetActor().currentEventName = eventStart.triggerName;
}
if (ownerActor == null) if (ownerActor == null)
{ {
@ -275,8 +270,8 @@ namespace FFXIVClassic_Map_Server
} }
} }
} }
LuaEngine.DoActorOnEventStarted(player.GetActor(), ownerActor, eventStart); player.GetActor().StartEvent(ownerActor, eventStart);
Program.Log.Debug("\n===Event START===\nSource Actor: 0x{0:X}\nCaller Actor: 0x{1:X}\nVal1: 0x{2:X}\nVal2: 0x{3:X}\nEvent Starter: {4}\nParams: {5}", eventStart.actorID, eventStart.scriptOwnerActorID, eventStart.val1, eventStart.val2, eventStart.triggerName, LuaUtils.DumpParams(eventStart.luaParams)); Program.Log.Debug("\n===Event START===\nSource Actor: 0x{0:X}\nCaller Actor: 0x{1:X}\nVal1: 0x{2:X}\nVal2: 0x{3:X}\nEvent Starter: {4}\nParams: {5}", eventStart.actorID, eventStart.scriptOwnerActorID, eventStart.val1, eventStart.val2, eventStart.triggerName, LuaUtils.DumpParams(eventStart.luaParams));
break; break;
@ -288,7 +283,7 @@ namespace FFXIVClassic_Map_Server
subpacket.DebugPrintSubPacket(); subpacket.DebugPrintSubPacket();
EventUpdatePacket eventUpdate = new EventUpdatePacket(subpacket.data); EventUpdatePacket eventUpdate = new EventUpdatePacket(subpacket.data);
Program.Log.Debug("\n===Event UPDATE===\nSource Actor: 0x{0:X}\nCaller Actor: 0x{1:X}\nVal1: 0x{2:X}\nVal2: 0x{3:X}\nStep: 0x{4:X}\nParams: {5}", eventUpdate.actorID, eventUpdate.scriptOwnerActorID, eventUpdate.val1, eventUpdate.val2, eventUpdate.step, LuaUtils.DumpParams(eventUpdate.luaParams)); Program.Log.Debug("\n===Event UPDATE===\nSource Actor: 0x{0:X}\nCaller Actor: 0x{1:X}\nVal1: 0x{2:X}\nVal2: 0x{3:X}\nStep: 0x{4:X}\nParams: {5}", eventUpdate.actorID, eventUpdate.scriptOwnerActorID, eventUpdate.val1, eventUpdate.val2, eventUpdate.step, LuaUtils.DumpParams(eventUpdate.luaParams));
/*
//Is it a static actor? If not look in the player's instance //Is it a static actor? If not look in the player's instance
Actor updateOwnerActor = Server.GetStaticActors(player.GetActor().currentEventOwner); Actor updateOwnerActor = Server.GetStaticActors(player.GetActor().currentEventOwner);
if (updateOwnerActor == null) if (updateOwnerActor == null)
@ -301,8 +296,10 @@ namespace FFXIVClassic_Map_Server
if (updateOwnerActor == null) if (updateOwnerActor == null)
break; break;
} }
*/
player.GetActor().UpdateEvent(eventUpdate);
LuaEngine.DoActorOnEventUpdated(player.GetActor(), updateOwnerActor, eventUpdate); //LuaEngine.DoActorOnEventUpdated(player.GetActor(), updateOwnerActor, eventUpdate);
break; break;
case 0x012F: case 0x012F:

View File

@ -36,7 +36,7 @@ namespace FFXIVClassic_Map_Server.Actors
protected Dictionary<uint, Actor> mActorList = new Dictionary<uint, Actor>(); protected Dictionary<uint, Actor> mActorList = new Dictionary<uint, Actor>();
protected List<Actor>[,] mActorBlock; protected List<Actor>[,] mActorBlock;
Script areaScript; LuaScript areaScript;
public Area(uint id, string zoneName, ushort regionId, string className, ushort bgmDay, ushort bgmNight, ushort bgmBattle, bool isIsolated, bool isInn, bool canRideChocobo, bool canStealth, bool isInstanceRaid) public Area(uint id, string zoneName, ushort regionId, string className, ushort bgmDay, ushort bgmNight, ushort bgmBattle, bool isIsolated, bool isInn, bool canRideChocobo, bool canStealth, bool isInstanceRaid)
: base(id) : base(id)

View File

@ -181,6 +181,11 @@ namespace FFXIVClassic_Map_Server.Actors
return BasePacket.CreatePacket(propPacketUtil.Done(), true, false); return BasePacket.CreatePacket(propPacketUtil.Done(), true, false);
} }
public string GetUniqueId()
{
return uniqueIdentifier;
}
public uint GetActorClassId() public uint GetActorClassId()
{ {
return actorClassId; return actorClassId;
@ -296,7 +301,7 @@ namespace FFXIVClassic_Map_Server.Actors
public List<LuaParam> DoActorInit(Player player) public List<LuaParam> DoActorInit(Player player)
{ {
Script parent = null, child = null; LuaScript parent = null, child = null;
if (File.Exists("./scripts/base/" + classPath + ".lua")) if (File.Exists("./scripts/base/" + classPath + ".lua"))
parent = LuaEngine.LoadScript("./scripts/base/" + classPath + ".lua"); parent = LuaEngine.LoadScript("./scripts/base/" + classPath + ".lua");
@ -322,45 +327,37 @@ namespace FFXIVClassic_Map_Server.Actors
return lparams; return lparams;
} }
public void DoEventStart(Player player, EventStartPacket eventStart) public Coroutine GetEventStartCoroutine(Player player)
{ {
Script parent = null, child = null; LuaScript parent = null, child = null;
if (File.Exists("./scripts/base/" + classPath + ".lua")) if (File.Exists("./scripts/base/" + classPath + ".lua"))
parent = LuaEngine.LoadScript("./scripts/base/" + classPath + ".lua"); parent = LuaEngine.LoadScript("./scripts/base/" + classPath + ".lua");
if (File.Exists(String.Format("./scripts/unique/{0}/{1}/{2}.lua", zone.zoneName, className, uniqueIdentifier))) if (File.Exists(String.Format("./scripts/unique/{0}/{1}/{2}.lua", zone.zoneName, className, uniqueIdentifier)))
child = LuaEngine.LoadScript(String.Format("./scripts/unique/{0}/{1}/{2}.lua", zone.zoneName, className, uniqueIdentifier)); child = LuaEngine.LoadScript(String.Format("./scripts/unique/{0}/{1}/{2}.lua", zone.zoneName, className, uniqueIdentifier));
if (parent == null) if (parent == null && child == null)
{ {
LuaEngine.SendError(player, String.Format("ERROR: Could not find script for actor {0}.", GetName())); LuaEngine.SendError(player, String.Format("ERROR: Could not find script for actor {0}.", GetName()));
return; return null;
} }
//Have to do this to combine LuaParams
List<Object> objects = new List<Object>();
objects.Add(player);
objects.Add(this);
objects.Add(eventStart.triggerName);
if (eventStart.luaParams != null)
objects.AddRange(LuaUtils.CreateLuaParamObjectList(eventStart.luaParams));
//Run Script //Run Script
DynValue result; Coroutine coroutine;
if (child != null && !child.Globals.Get("onEventStarted").IsNil()) if (child != null && !child.Globals.Get("onEventStarted").IsNil())
result = child.Call(child.Globals["onEventStarted"], objects.ToArray()); coroutine = child.CreateCoroutine(child.Globals["onEventStarted"]).Coroutine;
else if (!parent.Globals.Get("onEventStarted").IsNil()) else if (!parent.Globals.Get("onEventStarted").IsNil())
result = parent.Call(parent.Globals["onEventStarted"], objects.ToArray()); coroutine = parent.CreateCoroutine(parent.Globals["onEventStarted"]).Coroutine;
else else
return; return null;
return coroutine;
} }
public void DoEventUpdate(Player player, EventUpdatePacket eventUpdate) public void DoEventUpdate(Player player, EventUpdatePacket eventUpdate)
{ {
Script parent = null, child = null; LuaScript parent = null, child = null;
if (File.Exists("./scripts/base/" + classPath + ".lua")) if (File.Exists("./scripts/base/" + classPath + ".lua"))
parent = LuaEngine.LoadScript("./scripts/base/" + classPath + ".lua"); parent = LuaEngine.LoadScript("./scripts/base/" + classPath + ".lua");
@ -394,7 +391,7 @@ namespace FFXIVClassic_Map_Server.Actors
internal void DoOnActorSpawn(Player player) internal void DoOnActorSpawn(Player player)
{ {
Script parent = null, child = null; LuaScript parent = null, child = null;
if (File.Exists("./scripts/base/" + classPath + ".lua")) if (File.Exists("./scripts/base/" + classPath + ".lua"))
parent = LuaEngine.LoadScript("./scripts/base/" + classPath + ".lua"); parent = LuaEngine.LoadScript("./scripts/base/" + classPath + ".lua");

View File

@ -15,6 +15,8 @@ using FFXIVClassic_Map_Server.packets.send.player;
using FFXIVClassic_Map_Server.utils; using FFXIVClassic_Map_Server.utils;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using MoonSharp.Interpreter;
using FFXIVClassic_Map_Server.packets.receive.events;
namespace FFXIVClassic_Map_Server.Actors namespace FFXIVClassic_Map_Server.Actors
{ {
@ -80,10 +82,7 @@ namespace FFXIVClassic_Map_Server.Actors
public uint currentEventOwner = 0; public uint currentEventOwner = 0;
public string currentEventName = ""; public string currentEventName = "";
public uint currentCommand = 0; public Coroutine currentEventRunning;
public string currentCommandName = "";
public uint eventMenuId = 0;
//Player Info //Player Info
public uint[] timers = new uint[20]; public uint[] timers = new uint[20];
@ -1133,6 +1132,81 @@ namespace FFXIVClassic_Map_Server.Actors
QueuePacket(spacket); QueuePacket(spacket);
} }
public void StartEvent(Actor owner, EventStartPacket start)
{
//Have to do this to combine LuaParams
List<Object> objects = new List<Object>();
objects.Add(this);
objects.Add(owner);
objects.Add(start.triggerName);
if (start.luaParams != null)
objects.AddRange(LuaUtils.CreateLuaParamObjectList(start.luaParams));
if (owner is Npc)
{
currentEventRunning = ((Npc)owner).GetEventStartCoroutine(this);
if (currentEventRunning != null)
{
try
{
currentEventRunning.Resume(objects.ToArray());
}
catch (ScriptRuntimeException e)
{
Program.Log.Error("[LUA] {0}", e.Message);
EndEvent();
}
}
else
{
EndEvent();
}
}
else
{
currentEventRunning = LuaEngine.DoActorOnEventStarted(this, owner, start);
if (currentEventRunning != null)
{
try
{
currentEventRunning.Resume(objects.ToArray());
}
catch (ScriptRuntimeException e)
{
Program.Log.Error("[LUA] {0}", e.Message);
EndEvent();
}
}
else
{
EndEvent();
}
}
}
public void UpdateEvent(EventUpdatePacket update)
{
if (currentEventRunning == null)
return;
if (currentEventRunning.State == CoroutineState.Suspended)
{
try
{
currentEventRunning.Resume(LuaUtils.CreateLuaParamObjectList(update.luaParams));
}
catch (ScriptRuntimeException e)
{
Program.Log.Error("[LUA] {0}", e.Message);
EndEvent();
}
}
}
public void KickEvent(Actor actor, string conditionName, params object[] parameters) public void KickEvent(Actor actor, string conditionName, params object[] parameters)
{ {
if (actor == null) if (actor == null)
@ -1165,29 +1239,9 @@ namespace FFXIVClassic_Map_Server.Actors
currentEventOwner = 0; currentEventOwner = 0;
currentEventName = ""; currentEventName = "";
eventMenuId = 0; currentEventRunning = null;
} }
public void EndCommand()
{
SubPacket p = EndEventPacket.BuildPacket(actorId, currentCommand, currentCommandName);
p.DebugPrintSubPacket();
QueuePacket(p);
currentCommand = 0;
currentCommandName = "";
}
public void SetCurrentMenuId(uint id)
{
eventMenuId = id;
}
public uint GetCurrentMenuId()
{
return eventMenuId;
}
public void SendInstanceUpdate() public void SendInstanceUpdate()
{ {

View File

@ -47,7 +47,7 @@ namespace FFXIVClassic_Map_Server.dataobjects
break; break;
} }
} }
public bool IsClientConnectionsReady() public bool IsClientConnectionsReady()
{ {
return (zoneConnection != null && chatConnection != null); return (zoneConnection != null && chatConnection != null);
@ -57,7 +57,7 @@ namespace FFXIVClassic_Map_Server.dataobjects
{ {
zoneConnection.Disconnect(); zoneConnection.Disconnect();
chatConnection.Disconnect(); chatConnection.Disconnect();
} }
public bool IsDisconnected() public bool IsDisconnected()
{ {
@ -110,11 +110,11 @@ namespace FFXIVClassic_Map_Server.dataobjects
playerActor.moveState = moveState; playerActor.moveState = moveState;
GetActor().zone.UpdateActorPosition(GetActor()); GetActor().zone.UpdateActorPosition(GetActor());
} }
public void UpdateInstance(List<Actor> list) public void UpdateInstance(List<Actor> list)
{ {
List<BasePacket> basePackets = new List<BasePacket>(); List<BasePacket> basePackets = new List<BasePacket>();
List<SubPacket> RemoveActorSubpackets = new List<SubPacket>(); List<SubPacket> RemoveActorSubpackets = new List<SubPacket>();
List<SubPacket> posUpdateSubpackets = new List<SubPacket>(); List<SubPacket> posUpdateSubpackets = new List<SubPacket>();
@ -125,7 +125,7 @@ namespace FFXIVClassic_Map_Server.dataobjects
if (!list.Contains(actorInstanceList[i])) if (!list.Contains(actorInstanceList[i]))
{ {
GetActor().QueuePacket(RemoveActorPacket.BuildPacket(playerActor.actorId, actorInstanceList[i].actorId)); GetActor().QueuePacket(RemoveActorPacket.BuildPacket(playerActor.actorId, actorInstanceList[i].actorId));
actorInstanceList.RemoveAt(i); actorInstanceList.RemoveAt(i);
} }
} }
@ -145,7 +145,7 @@ namespace FFXIVClassic_Map_Server.dataobjects
{ {
GetActor().QueuePacket(actor.GetSpawnPackets(playerActor.actorId, 1)); GetActor().QueuePacket(actor.GetSpawnPackets(playerActor.actorId, 1));
GetActor().QueuePacket(actor.GetInitPackets(playerActor.actorId)); GetActor().QueuePacket(actor.GetInitPackets(playerActor.actorId));
GetActor().QueuePacket(actor.GetSetEventStatusPackets(playerActor.actorId)); GetActor().QueuePacket(actor.GetSetEventStatusPackets(playerActor.actorId));
actorInstanceList.Add(actor); actorInstanceList.Add(actor);
if (actor is Npc) if (actor is Npc)

View File

@ -57,14 +57,8 @@ namespace FFXIVClassic_Map_Server.lua
return null; return null;
} }
public static void DoActorOnEventStarted(Player player, Actor target, EventStartPacket eventStart) public static Coroutine DoActorOnEventStarted(Player player, Actor target, EventStartPacket eventStart)
{ {
if (target is Npc)
{
((Npc)target).DoEventStart(player, eventStart);
return;
}
string luaPath; string luaPath;
if (target is Command) if (target is Command)
@ -83,24 +77,17 @@ namespace FFXIVClassic_Map_Server.lua
LuaScript script = LoadScript(luaPath); LuaScript script = LoadScript(luaPath);
if (script == null) if (script == null)
return; return null;
//Have to Do this to combine LuaParams
List<Object> objects = new List<Object>();
objects.Add(player);
objects.Add(target);
objects.Add(eventStart.triggerName);
if (eventStart.luaParams != null)
objects.AddRange(LuaUtils.CreateLuaParamObjectList(eventStart.luaParams));
//Run Script
if (!script.Globals.Get("onEventStarted").IsNil()) if (!script.Globals.Get("onEventStarted").IsNil())
script.Call(script.Globals["onEventStarted"], objects.ToArray()); return script.CreateCoroutine(script.Globals["onEventStarted"]).Coroutine;
else
return null;
} }
else else
{ {
SendError(player, String.Format("ERROR: Could not find script for actor {0}.", target.GetName())); SendError(player, String.Format("ERROR: Could not find script for actor {0}.", target.GetName()));
return null;
} }
} }

View File

@ -1,5 +1,5 @@
[General] [General]
server_ip=127.0.0.1 server_ip=192.168.0.2
showtimestamp = true showtimestamp = true
[Database] [Database]

View File

@ -1,5 +1,5 @@
[General] [General]
server_ip=127.0.0.1 server_ip=192.168.0.2
showtimestamp = true showtimestamp = true
[Database] [Database]

View File

@ -0,0 +1,5 @@
require ("global")
function init(npc)
return true, true, 10, 0, 1, true, false, false, false, false, false, false, false, 0;
end

View File

@ -1,11 +1,10 @@
require ("global")
function init(npc) function init(npc)
return false, false, 0, 0; return false, false, 0, 0;
end end
function onEventStarted(player, npc, triggerName) function onEventStarted(player, npc, triggerName)
player:RunEventFunction("bookTalk"); player:callClientFunction(player, "bookTalk");
player:EndEvent();
end end
function onEventUpdate(player, npc, step, menuOptionSelected)
player:EndEvent();
end

View File

@ -0,0 +1,5 @@
require ("global")
function init(npc)
return false, false, 0, 0;
end

View File

@ -1,25 +1,21 @@
require ("global")
function init(npc) function init(npc)
return false, false, 0, 0; return false, false, 0, 0;
end end
function onEventStarted(player, npc, triggerName) function onEventStarted(player, npc, triggerName)
player:RunEventFunction("askLogout", player);
end
function onEventUpdate(player, npc, eventStep, menuOptionSelected) choice = callClientFunction(player, "askLogout", player);
if (menuOptionSelected == 1) then if (choice == 2) then
player:EndEvent();
return;
elseif (menuOptionSelected == 2) then
player:QuitGame(); player:QuitGame();
elseif (menuOptionSelected == 3) then elseif (choice == 3) then
player:Logout(); player:Logout();
elseif (menuOptionSelected == 4) then elseif (choice == 4) then
player:SendMessage(33, "", "Heck the bed"); player:SendMessage(33, "", "Heck the bed");
end end
player:EndEvent(); player:EndEvent();
end end

View File

@ -1,3 +1,4 @@
require ("global")
function init(npc) function init(npc)
return false, false, 0, 0; return false, false, 0, 0;
@ -5,15 +6,11 @@ end
function onEventStarted(player, npc, triggerName) function onEventStarted(player, npc, triggerName)
defaultFst = GetStaticActor("DftFst"); defaultFst = GetStaticActor("DftFst");
player:RunEventFunction("delegateEvent", player, defaultFst, "defaultTalkWithInn_ExitDoor", nil, nil, nil); choice = callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithInn_ExitDoor", nil, nil, nil);
end
if (choice == 1) then
function onEventUpdate(player, npc, resultId, isExitYes)
if (isExitYes ~= nil and isExitYes == 1) then
GetWorldManager():DoZoneChange(player, 1); GetWorldManager():DoZoneChange(player, 1);
else
player:EndEvent();
end end
player:EndEvent();
end end

View File

@ -0,0 +1,32 @@
--[[
RetainerFurniture Script
Functions:
eventPushStepOpenRetainerMenu() - Opens menu to choose retainer
eventRingBell() - Plays the bell ring animation
eventPushRetainerCallCaution() - Shows warning that a open bazaar will be closed if retainer chosen
eventTalkRetainerMenu(?, ?) - Opens retainer menu
eventTalkRetainerDismissal(?)
eventTalkRetainerMannequin(?)
eventTalkRetainerItemTrade(?)
eventTalkRetainerItemList(?)
eventTalkSelectBazaarStreet(?)
eventReturnResult(?, ?)
eventTalkFinish()
eventPlayerTurn(rotation) - Turns the player
--]]
require ("global")
function init(npc)
return false, false, 0, 0;
end
function onEventStarted(player, npc, triggerName)
retainerNumber = callClientFunction(player, "eventPushStepOpenRetainerMenu");
callClientFunction(player, "eventRingBell");
callClientFunction(player, "eventTalkRetainerMenu");
player:EndEvent();
end

View File

@ -1,3 +1,5 @@
require ("global")
function init(npc) function init(npc)
return false, false, 0, 0; return false, false, 0, 0;
end end
@ -6,14 +8,12 @@ function onEventStarted(player, npc, triggerName)
questNOC = GetStaticActor("Noc000"); questNOC = GetStaticActor("Noc000");
if (npc:GetActorClassId() == 1200193) then if (npc:GetActorClassId() == 1200193) then
player:RunEventFunction("delegateEvent", player, questNOC, "pETaskBoardAskLimsa", nil, nil, nil); callClientFunction(player, "delegateEvent", player, questNOC, "pETaskBoardAskLimsa", nil, nil, nil);
elseif (npc:GetActorClassId() == 1200194) then elseif (npc:GetActorClassId() == 1200194) then
player:RunEventFunction("delegateEvent", player, questNOC, "pETaskBoardAskUldah", nil, nil, nil); callClientFunction(player, "delegateEvent", player, questNOC, "pETaskBoardAskUldah", nil, nil, nil);
else else
player:RunEventFunction("delegateEvent", player, questNOC, "pETaskBoardAskGridania", nil, nil, nil); callClientFunction(player, "delegateEvent", player, questNOC, "pETaskBoardAskGridania", nil, nil, nil);
end end
end
function onEventUpdate(player, npc, step, menuOptionSelected)
player:EndEvent(); player:EndEvent();
end end

View File

@ -5,30 +5,20 @@ AetheryteParent Script
Functions: Functions:
eventAetheryteParentSelect(0x0, false, 0x60, 0x138807,0,0,0,0) eventAetheryteParentSelect(0x0, false, 0x60, 0x138807,0,0,0,0)
eventAetheryteParentDesion( eventAetheryteParentDesion(sheetId)
showAetheryteTips( processGuildleveBoost(?, ?)
eventGLSelect(0) processGuildlevePlaying(??)
eventSelectGLDetail(0x2a48, a, f4241, 136, 98b1d9, 1, 1, true, false) processGuildleveJoin() - Join party leader's levequest?
eventGLDifficulty(0x2a48)
eventGLStart(0x2a48, 2, c8, 0, 0, 0, 0)
eventGLBoost()
eventGLPlay
eventGLReward()
Menu Ids:
--]] --]]
require ("global")
function init(npc) function init(npc)
return false, false, 0, 0; return false, false, 0, 0;
end end
function onEventStarted(player, npc, triggerName) function onEventStarted(player, npc, triggerName)
player:RunEventFunction("eventAetheryteParentSelect", 0x0, false, 0x61, 0x0,0,0,0,0); callClientFunction(player, "eventAetheryteParentSelect", 0x0, false, 0x61, 0x0,0,0,0,0);
end
function onEventUpdate(player, npc, step, menuOptionSelected, lsName, lsCrest)
--player:RunEventFunction("askOfferQuest", player, 1000);
player:EndEvent(); player:EndEvent();
end end

View File

@ -0,0 +1,25 @@
--[[
PopulaceAchievement Script
Functions:
eventNoGC() -
eventUnlock(sheetId) -
eventReward(?, bool, ?, bool) -
defTalk() - Blurb
--]]
require ("global")
function init(npc)
return false, false, 0, 0;
end
function onEventStarted(player, npc, triggerName)
callClientFunction(player, "defTalk");
player:EndEvent();
end

View File

@ -1,9 +1,3 @@
function init(npc) function init(npc)
return false, false, 0, 0; return false, false, 0, 0;
end
function onEventStarted(player, npc, triggerName)
end
function onEventUpdate(player, npc)
end end

View File

@ -16,23 +16,80 @@ eventTalkChangeOne(skipQuestion)
talkOfferMaxOver() talkOfferMaxOver()
askRetryRegionalleve(guildLeveId, leveAllowances); askRetryRegionalleve(guildLeveId, leveAllowances);
Menu Ids:
--]] --]]
require ("global")
function init(npc) function init(npc)
return false, false, 0, 0; return false, false, 0, 0;
end end
function onEventStarted(player, npc) function onEventStarted(player, npc)
player:RunEventFunction("eventTalkType", 0x30, true, 0x02CE, 0x356, 0x367, true, 0, nil, 0x29, 0,0,0);
::MENU_LOOP::
menuChoice = callClientFunction(player, "eventTalkType", 0x30, true, 0x02CE, 0x356, 0x367, true, 0, nil, 0x29, 0,0,0);
--Battlecraft
if (menuChoice == 1) then
resultGLPack = callClientFunction(player, "eventTalkPack", 201, 207);
if (resultGLPack == nil) then
goto MENU_LOOP;
else
::CARDS_LOOP::
cards = {0x30C3, 0x30C4, 0x30C1, 0x30C5, 0x30C6, 0x30C7, 0x30C8, 0x30C9};
chosenGLCard = callClientFunction(player, "eventTalkCard", cards[1], cards[2], cards[3], cards[4], cards[5], cards[6], cards[7], cards[8]);
if (chosenGLCard == -1) then
goto MENU_LOOP;
else
wasAccepted = callClientFunction(player, "eventTalkDetail", cards[chosenGLCard], 0, 0xF4242, 0xD, 0xF4242, 0, 0, true, 0);
if (wasAccepted == true) then
end
goto CARDS_LOOP;
end
end
--FieldCraft Miner
elseif (menuChoice == 0x15) then
--FieldCraft Botanist
elseif (menuChoice == 0x16) then
--FieldCraft Fisher
elseif (menuChoice == 0x17) then
--FieldCraft Quit
elseif (menuChoice == 0x18) then
--Faction Broken Blade
elseif (menuChoice == 0x29) then
--Faction Shields
elseif (menuChoice == 0x2A) then
--Faction Horn and Hand
elseif (menuChoice == 0x2B) then
--Leve Evaluation
elseif (menuChoice == 5) then
--Tutorial
elseif (menuChoice == 6) then
--End of Info
elseif (menuChoice == 7) then
--Quit
elseif (menuChoice == 8) then
end
--
--
--
player:EndEvent();
end end
function onEventUpdate(player, npc, step, menuOptionSelected) function onEventUpdate(player, npc, step, menuOptionSelected)
--player:RunEventFunction("eventTalkType", 0x32, true, 0x02CE, 0x356, 0x367, false, 2, nil, 0x29, 0,0,0); --player:RunEventFunction("eventTalkType", 0x32, true, 0x02CE, 0x356, 0x367, false, 2, nil, 0x29, 0,0,0);
player:RunEventFunction("eventTalkPack", 201, 207); player:RunEventFunction("eventTalkPack", 201, 207);
--player:RunEventFunction("eventTalkCard", 0x30C3, 0x30C4, 0x30C1, 0x30C5, 0x30C6, 0x30C7, 0x30C8, 0x30C9); --player:RunEventFunction("eventTalkCard", 0x30C3, 0x30C4, 0x30C1, 0x30C5, 0x30C6, 0x30C7, 0x30C8, 0x30C9);
--player:RunEventFunction("eventTalkDetail", 0x30C4, 2, 0xF4242, 0xD, 0xF4242, 0, 0xFF, true, 11); --
--player:RunEventFunction("eventGLChangeDetail", 0xDEAD, 0x30C4, 0xFF, 0xF4242, 0xD, 0xF4242, 0, 2, true); --player:RunEventFunction("eventGLChangeDetail", 0xDEAD, 0x30C4, 0xFF, 0xF4242, 0xD, 0xF4242, 0, 2, true);
player:EndEvent();
end end

View File

@ -1,28 +1,56 @@
--[[
PopulaceLinkshellManager Script
Functions:
eventTalkStep1(noLinkshellActive) - Says intro. If noLinkshellActive = true, say newbie stuff.
eventTalkStep2(noLinkshellActive) - Shows menu, if noLinkshellActive = true, only give ability to make linkshell.
eventTalkStepMakeupDone() - Confirm when creating LS
eventTalkStepModifyDone() - Confirm when modding LS
eventTalkStepBreakDone() - Confirm when deleting LS
--]]
require ("global")
function init(npc) function init(npc)
return false, false, 0, 0; return false, false, 0, 0;
end end
function onEventStarted(player, npc) function createLinkshell(name, crest)
isNew = false;
player:RunEventFunction("eventTalkStep1", isNew);
end end
function onEventUpdate(player, npc, step, menuOptionSelected, lsName, lsCrest) function modifyLinkshell(name, crest)
if (menuOptionSelected == nil) then
player:EndEvent();
return;
end
isNew = false;
if (menuOptionSelected == 1) then
player:RunEventFunction("eventTalkStep2", isNew);
elseif (menuOptionSelected == 10) then
player:EndEvent();
return;
elseif (menuOptionSelected == 3) then
--createLinkshell
player:RunEventFunction("eventTalkStepMakeupDone", isNew);
end
end
function disbandLinkshell(name, crest)
end
function onEventStarted(player, npc, triggerName)
hasNoActiveLS = false;
callClientFunction(player, "eventTalkStep1", hasNoActiveLS);
command, lsName, crestId = callClientFunction(player, "eventTalkStep2", hasNoActiveLS);
--Create
if (result == 3) then
createLinkshell(lsName, crestId);
callClientFunction(player, "eventTalkStepMakeupDone");
--Modify
elseif (result == 1) then
modifyLinkshell(lsName, crestId);
callClientFunction(player, "eventTalkStepModifyDone");
--Disband
elseif (result == 5) then
disbandLinkshell(lsName, crestId);
callClientFunction(player, "eventTalkStepBreakDone");
end
player:endEvent();
end end

View File

@ -0,0 +1,24 @@
--[[
PopulaceNMReward Script
Functions:
eventTalkStep0(player, ?, ?) - Opens the main menu
eventTalkStep0_1(player) - "Ain't running a charity here", message said when you have insufficent funds
eventTalkStep0_2(player, hasItems) - Relic Quest dialog.
--]]
require ("global")
function init(npc)
return false, false, 0, 0;
end
function onEventStarted(player, npc, triggerName)
callClientFunction(player, "eventTalkStep0", player, 0);
player:EndEvent();
end

View File

@ -19,19 +19,20 @@ confirmDiscardGuildleve(nil, questId)
askRetryRegionalleve(questId, leveAllowances) askRetryRegionalleve(questId, leveAllowances)
finishTalkTurn() finishTalkTurn()
Menu Ids:
--]] --]]
require ("global")
function init(npc) function init(npc)
return false, false, 0, 0; return false, false, 0, 0;
end end
function onEventStarted(player, npc) function onEventStarted(player, npc)
player:RunEventFunction("talkOfferWelcome", player, 1); callClientFunction(player, "talkOfferWelcome", player, 1);
player:EndEvent();
end end
function onEventUpdate(player, npc, step, menuOptionSelected, lsName, lsCrest) function onEventUpdate(player, npc, step, menuOptionSelected, lsName, lsCrest)
--player:RunEventFunction("askOfferQuest", player, 1000); --callClientFunction(player, "askOfferQuest", player, 1000);
player:EndEvent();
end end

View File

@ -0,0 +1,77 @@
--[[
PopulaceRetainerManager Script
Functions:
eventTalkStep1(true) - Intro tutorial if no retainer
newEventTalkStep1(sayIntro) - Seems to be a post-Tanaka version of the intro????
eventTalkStep2() - Choose retainer yourself (go to race select) or let npc do it
eventTaklSelectCutSeane(cutsceneName, actorClassId1, actorClassId2, actorClassId3, actorClassId4, actorClassId5) - Starts the advance cutscene to choose a retainer. 5 retainer actorClassId's are given.
eventTalkStep4(actorClassId) - Opens up the retainer naming dialog
eventTalkStepFinalAnswer(actorClassId) - Confirm Dialog
eventTalkStepError(errorCode) - Error dialog, 1: No Extra Retainers, 2: Server Busy.
eventTalkStepFinish()
--]]
require ("global")
function init(npc)
return false, false, 0, 0;
end
function onEventStarted(player, npc, triggerName)
introChoice = callClientFunction(player, "newEventTalkStep1", false);
if (introChoice == 1) then
raceChoice = callClientFunction(player, "eventTalkStep2");
while (true) do
if (retainerChoice == 0) then
raceChoice = callClientFunction(player, "eventTalkStep22");
end
if (raceChoice == 0) then
--Choose random actorId
elseif (raceChoice > 0) then
--Choose 5 random but correct actor ids
retainerChoice = callClientFunction(player, "eventTaklSelectCutSeane", "rtn0g010", 0x2DCB1A, 0x2DCB1A, 0x2DCB1A, 0x2DCB1A, 0x2DCB1A);
if (retainerChoice == -1) then
player:EndEvent();
return;
elseif (retainerChoice > 0) then
--Retainer chosen, choose name
retainerName = callClientFunction(player, "eventTalkStep4", 0x2DCB1A);
if (retainerName ~= "") then
confirmChoice = callClientFunction(player, "eventTalkStepFinalAnswer", 0x2DCB1A);
if (confirmChoice == 1) then
callClientFunction(player, "eventTalkStepFinish");
player:EndEvent();
return;
elseif (confirmChoice == 3) then
raceChoice = 0;
else
player:EndEvent();
return;
end
end
end
else
break;
end
end
end
player:EndEvent();
end

View File

@ -1,3 +1,5 @@
require ("global")
function init(npc) function init(npc)
return false, false, 0, 0; return false, false, 0, 0;
end end
@ -44,18 +46,18 @@ function onEventStarted(player, npc)
saySheetId = 19; saySheetId = 19;
end end
player:RunEventFunction("welcomeTalk", nil, saySheetId, player); callClientFunction(player, "welcomeTalk", nil, saySheetId, player);
end
function onEventUpdate(player, npc, step, menuOptionSelected)
--player:RunEventFunction("cashbackTalkCommand", 22004, 22004, 22004, 22004, 22004, 22004, 22004, 22004, 22004, 22004, 22004); --Refund Abilities??? while (true) do
--player:RunEventFunction("cashbackTalk", 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1); --Refund items??? choice = callClientFunction(player, "selectMode", nil, npc:GetActorClassId(), false, 1000001); --Step 2, state your business
if (menuOptionSelected == 4) then if (choice == 3) then
player:EndEvent();
else elseif (choice == 4) then
player:RunEventFunction("selectMode", nil, npc:GetActorClassId(), false, 1000001); --Step 2, state your business player:EndEvent();
break;
end
end end
end end

View File

@ -1,15 +1,89 @@
--[[
PopulaceShopSalesman Script
Functions:
welcomeTalk(sheetId, player) - Start Message
selectMode(askMode) - Shows buy/sell modes. If askmode > 0 show guild tutorial. If askmode == -7/-8/-9 show nothing. Else show affinity/condition tutorials.
selectModeOfClassVendor() - Opens categories for class weapons and gear
selectModeOfMultiWeaponVendor(consumptionTutorialId) - Opens categories for weapons/tools (war/magic/land/hand). Arg consumptionTutorialId appends location of item repair person. -1: Ul'dah, -2: Gridania, -3: Limsa
selectModeOfMultiArmorVendor(consumptionTutorialId) - Opens categories for armor in different slots. Arg consumptionTutorialId appends location of item repair person. -1: Ul'dah, -2: Gridania, -3: Limsa
openShopBuy(player, shopPack, currancyItemId) - ShopPack: Items to appear in window. CurrancyItemId: What is being used to buy these items.
selectShopBuy(player) - Call after openShopBuy() to open widget
closeShopBuy(player) - Closes the buy window
openShopSell(player) - Call this to open sell window
selectShopSell(player) - Call after openShopSell()
closeShopSell(player) - Closes the sell window
selectFacility(?, sheetId, 3) - Opens the facility chooser.
confirmUseFacility(player, cost) - Facility cost confirm
informSellPrice(1, chosenItem, price) - Shows sell confirm window. ChosenItem must be correct.
startTutorial(nil, tutorialId) - Opens up a tutorial menu for each guild type based on tutorialId
finishTalkTurn() - Done at the end.
--]]
require ("global")
function init(npc) function init(npc)
return false, false, 0, 0; return false, false, 0, 0;
end end
function onEventStarted(player, npc) function onEventStarted(player, npc, triggerName)
player:SendMessage(0x20, "", "This PopulaceShopSalesman actor has no event set. Actor Class Id: " .. tostring(npc:GetActorClassId()))
player:EndEvent();
--player:RunEventFunction("welcomeTalk");
end
function onEventUpdate(player, npc, step, menuOptionSelected, lsName, lsCrest) require("/unique/".. npc.zone.zoneName .."/PopulaceShopSalesman/" .. npc:GetUniqueId())
player:EndEvent();
end callClientFunction(player, "welcomeTalk", shopInfo.welcomeText, player);
while (true) do
choice = callClientFunction(player, "selectMode", 1);
if (choice == nil) then
break;
elseif (choice == 1) then
callClientFunction(player, "openShopBuy", player, shopInfo.shopPack, shopInfo.shopCurrancy);
while (true) do
buyResult = callClientFunction(player, "selectShopBuy", player);
if (buyResult == 0) then
callClientFunction(player, "closeShopBuy", player);
break;
else
player:SendMessage(0x20, "", "Player bought a thing at slot " .. tostring(buyResult)..".");
end
end
elseif (choice == 2) then
callClientFunction(player, "openShopSell", player);
while (true) do
sellResult = callClientFunction(player, "selectShopSell", player);
if (sellResult == nil) then
callClientFunction(player, "closeShopSell", player);
break;
else
player:SendMessage(0x20, "", "Player sold a thing at slot " .. tostring(sellResult)..".");
end
end
elseif (choice == 3) then
callClientFunction(player, "selectFacility", 2, 35, 3);
callClientFunction(player, "confirmUseFacility", player, 35);
elseif (choice == 4) then
callClientFunction(player, "startTutorial", nil, 29);
end
end
callClientFunction(player, "finishTalkTurn", player);
player:EndEvent();
end

View File

@ -14,7 +14,7 @@ function onEventStarted(player, command, triggerName)
player:ChangeState(0); player:ChangeState(0);
end end
player:EndCommand(); player:endEvent();
--For Opening Tutorial --For Opening Tutorial
if (player:HasQuest("Man0l0") or player:HasQuest("Man0g0") or player:HasQuest("Man0u0")) then if (player:HasQuest("Man0l0") or player:HasQuest("Man0g0") or player:HasQuest("Man0u0")) then

View File

@ -16,7 +16,7 @@ function onEventStarted(player, actor, triggerName)
player:SendGameMessage(worldMaster, 32503, 0x20); player:SendGameMessage(worldMaster, 32503, 0x20);
end end
player:EndCommand(); player:EndEvent();
end end

View File

@ -8,16 +8,16 @@ operateUI(pointsAvailable, pointsLimit, str, vit, dex, int, min, pie)
--]] --]]
require ("global")
function onEventStarted(player, actor, triggerName) function onEventStarted(player, actor, triggerName)
--local points = player:GetAttributePoints(); --local points = player:GetAttributePoints();
--player:RunEventFunction("delegateCommand", actor, "operateUI", points.available, points.limit, points.inSTR, points.inVIT, points.inDEX, points.inINT, points.inMIN, points.inPIT); --player:RunEventFunction("delegateCommand", actor, "operateUI", points.available, points.limit, points.inSTR, points.inVIT, points.inDEX, points.inINT, points.inMIN, points.inPIT);
player:RunEventFunction("delegateCommand", actor, "operateUI", 10, 10, 10, 10, 10, 10, 10, 10); result = callClientFunction(player, "delegateCommand", actor, "operateUI", 100, 100, 10, 10, 10, 10, 10, 10);
end
function onEventUpdate(player, actor, step, arg1)
--Submit
player:EndCommand(); --Do Save
if (result == true) then
end
player:endEvent();
end end

View File

@ -14,6 +14,6 @@ function onEventStarted(player, commandactor, triggerName, arg1, arg2, arg3, arg
player:examinePlayer(actor); player:examinePlayer(actor);
end end
player:EndCommand(); player:EndEvent();
end end

View File

@ -42,6 +42,6 @@ function onEventStarted(player, actor, triggerName, isGoobbue)
player:ChangeState(0); player:ChangeState(0);
end end
player:EndCommand(); player:EndEvent();
end end

View File

@ -15,7 +15,7 @@ function onEventStarted(player, actor, triggerName, maxNumber)
worldMaster = GetWorldMaster(); worldMaster = GetWorldMaster();
player:SendGameMessage(player, worldMaster, 25342, 0x20, result, maxNumber); player:SendGameMessage(player, worldMaster, 25342, 0x20, result, maxNumber);
player:EndCommand(); player:EndEvent();
end end

View File

@ -16,7 +16,7 @@ function onEventStarted(player, actor, triggerName, emoteId)
player:ChangeState(0); player:ChangeState(0);
end end
player:EndCommand(); player:EndEvent();
end end

View File

@ -15,7 +15,7 @@ function onEventStarted(player, actor, triggerName, emoteId)
player:DoEmote(emoteId); player:DoEmote(emoteId);
end end
player:EndCommand(); player:EndEvent();
end end

View File

@ -69,7 +69,7 @@ function onEventStarted(player, actor, triggerName, invActionInfo, param1, param
end end
end end
player:EndCommand(); player:EndEvent();
end end
function loadGearset(player, classId) function loadGearset(player, classId)

View File

@ -11,5 +11,5 @@ The param "itemDBIds" has the vars: item1 and item2.
function onEventStarted(player, actor, triggerName, invActionInfo, param1, param2, param3, param4, param5, param6, param7, param8, itemDBIds) function onEventStarted(player, actor, triggerName, invActionInfo, param1, param2, param3, param4, param5, param6, param7, param8, itemDBIds)
player:GetInventory(0x00):RemoveItem(invActionInfo.slot); player:GetInventory(0x00):RemoveItem(invActionInfo.slot);
player:EndCommand(); player:EndEvent();
end end

View File

@ -8,46 +8,20 @@ eventConfirm()
eventCountDown() eventCountDown()
eventLogoutFade() eventLogoutFade()
Menu Ids:
Menu: 0
Countdown: 1
--]] --]]
function onEventStarted(player, command) require ("global")
--player:SetCurrentMenuId(0);
--player:RunEventFunction("delegateCommand", command, "eventConfirm");
player:Logout();
end
function onEventUpdate(player, command, triggerName, step, arg1, arg2) function onEventStarted(player, command, triggerName)
currentMenuId = player:GetCurrentMenuId(); choice = callClientFunction(player, "delegateCommand", command, "eventConfirm");
--Menu Dialog if (choice == 1) then
if (currentMenuId == 0) then player:QuitGame();
if (arg1 == 1) then --Exit elseif (choice == 2) then
player:QuitGame(); player:Logout();
player:EndCommand();
elseif (arg1 == 2) then --Character Screen
player:Logout();
player:EndCommand();
--player:SetCurrentMenuId(1);
--player:RunEventFunction("delegateCommand", command, "eventCountDown");
elseif (arg1 == 3) then --Cancel
player:EndCommand();
end
--Countdown Dialog
elseif (currentMenuId == 1) then
if (arg2 == 1) then --Logout Complete
player:Logout();
player:EndCommand();
elseif (arg2 == 2) then --Cancel Pressed
player:EndCommand();
end
end end
end player:EndEvent();
end

View File

@ -14,6 +14,6 @@ function onEventStarted(player, actor, triggerName, name, arg1, arg2, arg3, acto
GetWorldManager():CreateInvitePartyGroup(player, actorId); GetWorldManager():CreateInvitePartyGroup(player, actorId);
end end
player:EndCommand(); player:EndEvent();
end end

View File

@ -0,0 +1,20 @@
--[[
PlaceDrivenCommand Script
Notes:
--]]
function onEventStarted(player, commandActor, triggerName, pushCommand, unk1, unk2, unk3, ownerActorId, unk4, unk5, unk6, unk7)
actor = player:GetActorInInstance(ownerActorId);
if (actor != nil) then
player:kickEvent(actor, "pushCommand", "pushCommand");
else
player:endEvent();
end
end

View File

@ -8,22 +8,42 @@ eventRegion(numAnima)
eventAetheryte(region, animaCost1, animaCost2, animaCost3, animaCost4, animaCost5, animaCost6) eventAetheryte(region, animaCost1, animaCost2, animaCost3, animaCost4, animaCost5, animaCost6)
eventConfirm(isReturn, isInBattle, cityReturnNum, 138821, forceAskReturnOnly) eventConfirm(isReturn, isInBattle, cityReturnNum, 138821, forceAskReturnOnly)
Menu Ids:
Region Menu: 0
Aetheryte Menu: 1
Confirm Menu: 2
--]] --]]
require ("global")
function doTeleport(region, aetheryte)
end
function onEventStarted(player, actor, triggerName, isTeleport) function onEventStarted(player, actor, triggerName, isTeleport)
if (isTeleport == 0) then if (isTeleport == 0) then
player:SetCurrentMenuId(0); while (true) do
player:RunEventFunction("delegateCommand", actor, "eventRegion", 100); regionChoice = callClientFunction(player, "delegateCommand", actor, "eventRegion", 100);
if (regionChoice == nil) then break end
while (true) do
aetheryteChoice = callClientFunction(player, "delegateCommand", actor, "eventAetheryte", regionChoice, 2, 2, 2, 4, 4, 4);
if (aetheryteChoice == nil) then break end
confirmChoice = callClientFunction(player, "delegateCommand", actor, "eventConfirm", false, false, 1, 138824, false);
if (confirmChoice == 1) then
doTeleport(regionChoice, aetheryteChoice);
end
player:endEvent();
return;
end
end
else else
player:SetCurrentMenuId(2); callClientFunction(player, "delegateCommand", actor, "eventConfirm", true, false, 1, 0x138824, false);
player:RunEventFunction("delegateCommand", actor, "eventConfirm", true, false, 1, 0x138824, false); end
end
player:endEvent();
end end
function onEventUpdate(player, actor, step, arg1) function onEventUpdate(player, actor, step, arg1)
@ -48,4 +68,4 @@ function onEventUpdate(player, actor, step, arg1)
player:EndCommand(); player:EndCommand();
end end
end end

View File

@ -51,10 +51,13 @@ INVENTORY_KEYITEMS = 0x0064; --Max 0x500
INVENTORY_EQUIPMENT = 0x00FE; --Max 0x23 INVENTORY_EQUIPMENT = 0x00FE; --Max 0x23
INVENTORY_EQUIPMENT_OTHERPLAYER = 0x00F9; --Max 0x23 INVENTORY_EQUIPMENT_OTHERPLAYER = 0x00F9; --Max 0x23
--UTILS
function callClientFunction(player, functionName, ...)
player:RunEventFunction(functionName, ...);
result = coroutine.yield();
return result;
end
function printf(s, ...) function printf(s, ...)
if ... then if ... then

View File

@ -1,6 +1,5 @@
function init(npc) require ("global")
return "/Chara/Npc/Object/OpeningStoperF0B1", false, false, false, false, false, npc:GetActorClassId(), false, false, 0, 1, "TEST"; require ("quests/man/man0g0")
end
function onEventStarted(player, npc, triggerName) function onEventStarted(player, npc, triggerName)
if (triggerName == "caution") then if (triggerName == "caution") then

View File

@ -1,24 +1,20 @@
require("/quests/man/man0g0") require ("global")
require ("quests/man/man0g0")
function init(npc)
return "/Chara/Npc/Populace/PopulaceStandard", false, false, false, false, false, npc:GetActorClassId(), false, false, 0, 1, "TEST";
end
function onSpawn(player, npc) function onSpawn(player, npc)
npc:SetQuestGraphic(player, 0x2); npc:SetQuestGraphic(player, 0x2);
end end
function onEventStarted(player, npc, triggerName) function onEventStarted(player, npc, triggerName)
man0g0Quest = player:GetQuest("Man0g0"); man0g0Quest = player:GetQuest("Man0g0");
if (man0g0Quest ~= nil) then if (man0g0Quest ~= nil) then
if (triggerName == "pushDefault") then if (triggerName == "pushDefault") then
player:RunEventFunction("delegateEvent", player, man0g0Quest, "processTtrNomal002", nil, nil, nil); callClientFunction(player, "delegateEvent", player, man0g0Quest, "processTtrNomal002", nil, nil, nil);
elseif (triggerName == "talkDefault") then elseif (triggerName == "talkDefault") then
if (man0g0Quest:GetQuestFlag(MAN0G0_FLAG_TUTORIAL1_DONE) == false) then if (man0g0Quest:GetQuestFlag(MAN0G0_FLAG_TUTORIAL1_DONE) == false) then
player:RunEventFunction("delegateEvent", player, man0g0Quest, "processTtrNomal003", nil, nil, nil); callClientFunction(player, "delegateEvent", player, man0g0Quest, "processTtrNomal003", nil, nil, nil);
player:SetEventStatus(npc, "pushDefault", false, 0x2); player:SetEventStatus(npc, "pushDefault", false, 0x2);
player:GetDirector():OnTalked(npc); player:GetDirector():OnTalked(npc);
man0g0Quest:SetQuestFlag(MAN0G0_FLAG_TUTORIAL1_DONE, true); man0g0Quest:SetQuestFlag(MAN0G0_FLAG_TUTORIAL1_DONE, true);
@ -26,18 +22,15 @@ function onEventStarted(player, npc, triggerName)
else else
if (man0g0Quest:GetQuestFlag(MAN0G0_FLAG_MINITUT_DONE1) == true) then if (man0g0Quest:GetQuestFlag(MAN0G0_FLAG_MINITUT_DONE1) == true) then
man0g0Quest:SetQuestFlag(MAN0G0_FLAG_TUTORIAL2_DONE, true); man0g0Quest:SetQuestFlag(MAN0G0_FLAG_TUTORIAL2_DONE, true);
player:RunEventFunction("delegateEvent", player, man0g0Quest, "processEvent010_1", nil, nil, nil); callClientFunction(player, "delegateEvent", player, man0g0Quest, "processEvent010_1", nil, nil, nil);
else else
player:RunEventFunction("delegateEvent", player, man0g0Quest, "processEvent000_1", nil, nil, nil); callClientFunction(player, "delegateEvent", player, man0g0Quest, "processEvent000_1", nil, nil, nil);
end end
end end
else end
player:EndEvent();
end
else
player:EndEvent(); --Should not be here w.o this quest
end end
player:EndEvent();
end end
function onEventUpdate(player, npc) function onEventUpdate(player, npc)

View File

@ -1,28 +1,18 @@
require("/quests/man/man0g0") require ("global")
require ("quests/man/man0g0")
function init(npc) function onEventStarted(player, npc, triggerName)
return "/Chara/Npc/Populace/PopulaceStandard", false, false, false, false, false, npc:GetActorClassId(), false, false, 0, 1, "TEST";
end
function onEventStarted(player, npc, triggerName)
man0g0Quest = player:GetQuest("Man0g0"); man0g0Quest = player:GetQuest("Man0g0");
if (triggerName == "talkDefault") then if (triggerName == "talkDefault") then
if (man0g0Quest:GetQuestFlag(MAN0G0_FLAG_MINITUT_DONE1) == false) then if (man0g0Quest:GetQuestFlag(MAN0G0_FLAG_MINITUT_DONE1) == false) then
player:RunEventFunction("delegateEvent", player, man0g0Quest, "processEvent000_2", nil, nil, nil); callClientFunction(player, "delegateEvent", player, man0g0Quest, "processEvent000_2", nil, nil, nil);
man0g0Quest:SetQuestFlag(MAN0G0_FLAG_MINITUT_DONE1, true); man0g0Quest:SetQuestFlag(MAN0G0_FLAG_MINITUT_DONE1, true);
man0g0Quest:SaveData(); man0g0Quest:SaveData();
player:GetDirector():OnTalked(npc); player:GetDirector():OnTalked(npc);
else else
player:RunEventFunction("delegateEvent", player, man0g0Quest, "processEvent000_2", nil, nil, nil); callClientFunction(player, "delegateEvent", player, man0g0Quest, "processEvent000_2", nil, nil, nil);
end end
else end
player:EndEvent(); player:EndEvent();
end
end
function onEventUpdate(player, npc)
player:EndEvent();
end end

View File

@ -1,13 +1,13 @@
require ("global")
function onEventStarted(player, npc) function onEventStarted(player, npc)
defaultFst = GetStaticActor("DftFst"); defaultFst = GetStaticActor("DftFst");
player:RunEventFunction("delegateEvent", player, defaultFst, "defaultTalkWithInn_Desk", nil, nil, nil); choice = callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithInn_Desk", nil, nil, nil);
end if (choice == 1) then
function onEventUpdate(player, npc, blah, menuSelect)
if (menuSelect == 1) then
GetWorldManager():DoZoneChange(player, 13); GetWorldManager():DoZoneChange(player, 13);
elseif (choice == 2) then
--Do Set Homepoint
end end
player:EndEvent(); player:EndEvent();

View File

@ -0,0 +1,8 @@
require ("global")
require ("quests/man/man0l0")
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent000_7", nil, nil, nil);
player:EndEvent();
end

View File

@ -0,0 +1,8 @@
require ("global")
require ("quests/man/man0l0")
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent000_12", nil, nil, nil);
player:EndEvent();
end

View File

@ -0,0 +1,8 @@
require ("global")
require ("quests/man/man0l0")
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent000_9", nil, nil, nil);
player:EndEvent();
end

View File

@ -1,11 +1,7 @@
require("/quests/man/man0l0") require ("global")
require ("quests/man/man0l0")
function init(npc)
return "/Chara/Npc/Populace/PopulaceStandard", false, false, false, false, false, npc:GetActorClassId(), false, false, 0, 1, "TEST";
end
function onSpawn(player, npc) function onSpawn(player, npc)
man0l0Quest = player:GetQuest("man0l0"); man0l0Quest = player:GetQuest("man0l0");
if (man0l0Quest ~= nil) then if (man0l0Quest ~= nil) then
@ -18,25 +14,18 @@ function onSpawn(player, npc)
end end
function onEventStarted(player, npc, triggerName) function onEventStarted(player, npc, triggerName)
man0l0Quest = player:GetQuest("man0l0"); man0l0Quest = player:GetQuest("man0l0");
if (triggerName == "talkDefault") then if (triggerName == "talkDefault") then
if (man0l0Quest:GetQuestFlag(MAN0L0_FLAG_MINITUT_DONE3) == false) then if (man0l0Quest:GetQuestFlag(MAN0L0_FLAG_MINITUT_DONE3) == false) then
player:RunEventFunction("delegateEvent", player, man0l0Quest, "processTtrMini003", nil, nil, nil); callClientFunction(player, "delegateEvent", player, man0l0Quest, "processTtrMini003", nil, nil, nil);
npc:SetQuestGraphic(player, 0x0); npc:SetQuestGraphic(player, 0x0);
man0l0Quest:SetQuestFlag(MAN0L0_FLAG_MINITUT_DONE3, true); man0l0Quest:SetQuestFlag(MAN0L0_FLAG_MINITUT_DONE3, true);
man0l0Quest:SaveData(); man0l0Quest:SaveData();
player:GetDirector():OnTalked(npc); player:GetDirector():OnTalked(npc);
else else
player:RunEventFunction("delegateEvent", player, man0l0Quest, "processEvent000_8", nil, nil, nil); callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent000_8", nil, nil, nil);
end end
else
player:EndEvent();
end end
end
function onEventUpdate(player, npc)
player:EndEvent(); player:EndEvent();
end end

View File

@ -0,0 +1,8 @@
require ("global")
require ("quests/man/man0l0")
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent000_6", nil, nil, nil);
player:EndEvent();
end

View File

@ -1,8 +1,5 @@
require("/quests/man/man0l0") require ("global")
require ("quests/man/man0l0")
function init(npc)
return "/Chara/Npc/Populace/PopulaceTutorial", false, false, false, false, false, npc:GetActorClassId(), false, false, 0, 1, "TEST";
end
function onSpawn(player, npc) function onSpawn(player, npc)
@ -21,19 +18,11 @@ function onSpawn(player, npc)
end end
function onEventStarted(player, npc, triggerName) function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
if (triggerName == "pushDefault") then choice = callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEventNewRectAsk", nil);
man0l0Quest = GetStaticActor("Man0l0");
player:RunEventFunction("delegateEvent", player, man0l0Quest, "processEventNewRectAsk", nil);
else
player:EndEvent();
end
end if (choice == 1) then
callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent000_2", nil, nil, nil, nil);
function onEventUpdate(player, npc, resultId, choice)
if (resultId == 0x2B9EBC42) then
player:EndEvent(); player:EndEvent();
player:SetDirector("QuestDirectorMan0l001", true); player:SetDirector("QuestDirectorMan0l001", true);
@ -42,14 +31,8 @@ function onEventUpdate(player, npc, resultId, choice)
player:SendGameMessage(player, worldMaster, 50011, 0x20); player:SendGameMessage(player, worldMaster, 50011, 0x20);
GetWorldManager():DoPlayerMoveInZone(player, 9); GetWorldManager():DoPlayerMoveInZone(player, 9);
player:KickEvent(player:GetDirector(), "noticeEvent", true); player:KickEvent(player:GetDirector(), "noticeEvent", true);
else else
if (choice == 1) then player:EndEvent();
man0l0Quest = player:GetQuest("Man0l0"); end
player:RunEventFunction("delegateEvent", player, man0l0Quest, "processEvent000_2", nil, nil, nil, nil);
else
player:EndEvent();
end
end
end end

View File

@ -0,0 +1,8 @@
require ("global")
require ("quests/man/man0l0")
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent000_17", nil, nil, nil);
player:EndEvent();
end

View File

@ -0,0 +1,8 @@
require ("global")
require ("quests/man/man0l0")
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent000_14", nil, nil, nil);
player:EndEvent();
end

View File

@ -1,3 +0,0 @@
function init(npc)
return "/Chara/Npc/Monster/Jellyfish/JellyfishScenarioLimsaLv00", false, false, false, false, false, npc:GetActorClassId(), true, true, 10, 0, 4, false, false, false, false, false, false, false, false, 2;
end

View File

@ -0,0 +1,10 @@
require ("global")
require ("quests/man/man0l0")
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent000_16", nil, nil, nil);
player:EndEvent();
end

View File

@ -1,19 +0,0 @@
function init(npc)
return "/Chara/Npc/Populace/PopulaceStandard", false, false, false, false, false, npc:GetActorClassId(), false, false, 0, 1, "TEST";
end
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
if (triggerName == "talkDefault") then
player:RunEventFunction("delegateEvent", player, man0l0Quest, "processEvent000_4", nil, nil, nil);
else
player:EndEvent();
end
end
function onEventUpdate(player, npc)
player:EndEvent();
end

View File

@ -1,19 +0,0 @@
function init(npc)
return "/Chara/Npc/Populace/PopulaceStandard", false, false, false, false, false, npc:GetActorClassId(), false, false, 0, 1, "TEST";
end
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
if (triggerName == "talkDefault") then
player:RunEventFunction("delegateEvent", player, man0l0Quest, "processEvent000_5", nil, nil, nil);
else
player:EndEvent();
end
end
function onEventUpdate(player, npc)
player:EndEvent();
end

View File

@ -1,19 +0,0 @@
function init(npc)
return "/Chara/Npc/Populace/PopulaceStandard", false, false, false, false, false, npc:GetActorClassId(), false, false, 0, 1, "TEST";
end
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
if (triggerName == "talkDefault") then
player:RunEventFunction("delegateEvent", player, man0l0Quest, "processEvent000_6", nil, nil, nil);
else
player:EndEvent();
end
end
function onEventUpdate(player, npc)
player:EndEvent();
end

View File

@ -1,19 +0,0 @@
function init(npc)
return "/Chara/Npc/Populace/PopulaceStandard", false, false, false, false, false, npc:GetActorClassId(), false, false, 0, 1, "TEST";
end
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
if (triggerName == "talkDefault") then
player:RunEventFunction("delegateEvent", player, man0l0Quest, "processEvent000_7", nil, nil, nil);
else
player:EndEvent();
end
end
function onEventUpdate(player, npc)
player:EndEvent();
end

View File

@ -1,19 +0,0 @@
function init(npc)
return "/Chara/Npc/Populace/PopulaceStandard", false, false, false, false, false, npc:GetActorClassId(), false, false, 0, 1, "TEST";
end
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
if (triggerName == "talkDefault") then
player:RunEventFunction("delegateEvent", player, man0l0Quest, "processEvent000_9", nil, nil, nil);
else
player:EndEvent();
end
end
function onEventUpdate(player, npc)
player:EndEvent();
end

View File

@ -1,19 +0,0 @@
function init(npc)
return "/Chara/Npc/Populace/PopulaceStandard", false, false, false, false, false, npc:GetActorClassId(), false, false, 0, 1, "TEST";
end
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
if (triggerName == "talkDefault") then
player:RunEventFunction("delegateEvent", player, man0l0Quest, "processEvent000_10", nil, nil, nil);
else
player:EndEvent();
end
end
function onEventUpdate(player, npc)
player:EndEvent();
end

View File

@ -1,19 +0,0 @@
function init(npc)
return "/Chara/Npc/Populace/PopulaceStandard", false, false, false, false, false, npc:GetActorClassId(), false, false, 0, 1, "TEST";
end
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
if (triggerName == "talkDefault") then
player:RunEventFunction("delegateEvent", player, man0l0Quest, "processEvent000_11", nil, nil, nil);
else
player:EndEvent();
end
end
function onEventUpdate(player, npc)
player:EndEvent();
end

View File

@ -1,19 +0,0 @@
function init(npc)
return "/Chara/Npc/Populace/PopulaceStandard", false, false, false, false, false, npc:GetActorClassId(), false, false, 0, 1, "TEST";
end
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
if (triggerName == "talkDefault") then
player:RunEventFunction("delegateEvent", player, man0l0Quest, "processEvent000_12", nil, nil, nil);
else
player:EndEvent();
end
end
function onEventUpdate(player, npc)
player:EndEvent();
end

View File

@ -1,20 +0,0 @@
function init(npc)
return "/Chara/Npc/Populace/PopulaceStandard", false, false, false, false, false, npc:GetActorClassId(), false, false, 0, 1, "TEST";
end
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
if (triggerName == "talkDefault") then
--player:RunEventFunction("delegateEvent", player, man0l0Quest, "processEvent000_9", nil, nil, nil);
player:RunEventFunction("delegateEvent", player, man0l0Quest, "processEvent000_14", nil, nil, nil);
else
player:EndEvent();
end
end
function onEventUpdate(player, npc)
player:EndEvent();
end

View File

@ -1,19 +0,0 @@
function init(npc)
return "/Chara/Npc/Populace/PopulaceStandard", false, false, false, false, false, npc:GetActorClassId(), false, false, 0, 1, "TEST";
end
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
if (triggerName == "talkDefault") then
player:RunEventFunction("delegateEvent", player, man0l0Quest, "processEvent000_15", nil, nil, nil);
else
player:EndEvent();
end
end
function onEventUpdate(player, npc)
player:EndEvent();
end

View File

@ -1,19 +0,0 @@
function init(npc)
return "/Chara/Npc/Populace/PopulaceStandard", false, false, false, false, false, npc:GetActorClassId(), false, false, 0, 1, "TEST";
end
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
if (triggerName == "talkDefault") then
player:RunEventFunction("delegateEvent", player, man0l0Quest, "processEvent000_16", nil, nil, nil);
else
player:EndEvent();
end
end
function onEventUpdate(player, npc)
player:EndEvent();
end

View File

@ -1,19 +0,0 @@
function init(npc)
return "/Chara/Npc/Populace/PopulaceStandard", false, false, false, false, false, npc:GetActorClassId(), false, false, 0, 1, "TEST";
end
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
if (triggerName == "talkDefault") then
player:RunEventFunction("delegateEvent", player, man0l0Quest, "processEvent000_17", nil, nil, nil);
else
player:EndEvent();
end
end
function onEventUpdate(player, npc)
player:EndEvent();
end

View File

@ -0,0 +1,10 @@
require ("global")
require ("quests/man/man0l0")
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent000_15", nil, nil, nil, nil);
player:EndEvent();
end

View File

@ -1,11 +1,7 @@
require("/quests/man/man0l0") require ("global")
require ("quests/man/man0l0")
function init(npc)
return "/Chara/Npc/Populace/PopulaceTutorial", false, false, false, false, false, npc:GetActorClassId(), false, false, 0, 1, "TEST";
end
function onSpawn(player, npc) function onSpawn(player, npc)
man0l0Quest = player:GetQuest("Man0l0"); man0l0Quest = player:GetQuest("Man0l0");
if (man0l0Quest ~= nil) then if (man0l0Quest ~= nil) then
@ -17,22 +13,20 @@ function onSpawn(player, npc)
player:SetEventStatus(npc, "pushDefault", false, 0x2); player:SetEventStatus(npc, "pushDefault", false, 0x2);
end end
end end
end end
function onEventStarted(player, npc, triggerName) function onEventStarted(player, npc, triggerName)
man0l0Quest = player:GetQuest("Man0l0"); man0l0Quest = player:GetQuest("Man0l0");
if (man0l0Quest ~= nil) then if (man0l0Quest ~= nil) then
if (triggerName == "pushDefault") then if (triggerName == "pushDefault") then
player:RunEventFunction("delegateEvent", player, man0l0Quest, "processTtrNomal002", nil, nil, nil); callClientFunction(player, "delegateEvent", player, man0l0Quest, "processTtrNomal002", nil, nil, nil);
elseif (triggerName == "talkDefault") then elseif (triggerName == "talkDefault") then
--Is doing talk tutorial? --Is doing talk tutorial?
if (man0l0Quest:GetQuestFlag(MAN0L0_FLAG_TUTORIAL3_DONE) == false) then if (man0l0Quest:GetQuestFlag(MAN0L0_FLAG_TUTORIAL3_DONE) == false) then
player:SetEventStatus(npc, "pushDefault", false, 0x2); player:SetEventStatus(npc, "pushDefault", false, 0x2);
player:RunEventFunction("delegateEvent", player, man0l0Quest, "processTtrNomal003", nil, nil, nil); callClientFunction(player, "delegateEvent", player, man0l0Quest, "processTtrNomal003", nil, nil, nil);
man0l0Quest:SetQuestFlag(MAN0L0_FLAG_TUTORIAL3_DONE, true); man0l0Quest:SetQuestFlag(MAN0L0_FLAG_TUTORIAL3_DONE, true);
npc:SetQuestGraphic(player, 0x2); npc:SetQuestGraphic(player, 0x2);
man0l0Quest:SaveData(); man0l0Quest:SaveData();
@ -40,7 +34,7 @@ function onEventStarted(player, npc, triggerName)
player:GetDirector():OnTalked(npc); player:GetDirector():OnTalked(npc);
--Was he talked to for the mini tutorial? --Was he talked to for the mini tutorial?
else else
player:RunEventFunction("delegateEvent", player, man0l0Quest, "processTtrMini001", nil, nil, nil); callClientFunction(player, "delegateEvent", player, man0l0Quest, "processTtrMini001", nil, nil, nil);
if (man0l0Quest:GetQuestFlag(MAN0L0_FLAG_MINITUT_DONE1) == false) then if (man0l0Quest:GetQuestFlag(MAN0L0_FLAG_MINITUT_DONE1) == false) then
npc:SetQuestGraphic(player, 0x0); npc:SetQuestGraphic(player, 0x0);
@ -49,17 +43,9 @@ function onEventStarted(player, npc, triggerName)
player:GetDirector():OnTalked(npc); player:GetDirector():OnTalked(npc);
end end
end
end end
else
player:EndEvent();
end
else
player:EndEvent(); --Should not be here w.o this quest
end end
end
function onEventUpdate(player, npc)
player:EndEvent(); player:EndEvent();
end end

View File

@ -0,0 +1,8 @@
require ("global")
require ("quests/man/man0l0")
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent000_11", nil, nil, nil);
player:EndEvent();
end

View File

@ -0,0 +1,8 @@
require ("global")
require ("quests/man/man0l0")
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent000_5", nil, nil, nil);
player:EndEvent();
end

View File

@ -0,0 +1,8 @@
require ("global")
require ("quests/man/man0l0")
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent000_10", nil, nil, nil);
player:EndEvent();
end

View File

@ -1,46 +1,32 @@
require("/quests/man/man0l0") require ("global")
require ("quests/man/man0l0")
function init(npc)
return "/Chara/Npc/Populace/PopulaceStandard", false, false, false, false, false, npc:GetActorClassId(), false, false, 0, 1, "TEST";
end
function onSpawn(player, npc) function onSpawn(player, npc)
man0l0Quest = player:GetQuest("man0l0"); man0l0Quest = player:GetQuest("man0l0");
if (man0l0Quest ~= nil) then if (man0l0Quest ~= nil) then
if (man0l0Quest:GetQuestFlag(MAN0L0_FLAG_MINITUT_DONE2) == false) then if (man0l0Quest:GetQuestFlag(MAN0L0_FLAG_MINITUT_DONE2) == false) then
npc:SetQuestGraphic(player, 0x2); npc:SetQuestGraphic(player, 0x2);
end end
end end
end end
function onEventStarted(player, npc, triggerName) function onEventStarted(player, npc, triggerName)
man0l0Quest = player:GetQuest("man0l0"); man0l0Quest = player:GetQuest("man0l0");
if (man0l0Quest ~= nil) then if (man0l0Quest ~= nil) then
if (triggerName == "talkDefault") then if (triggerName == "talkDefault") then
if (man0l0Quest:GetQuestFlag(MAN0L0_FLAG_MINITUT_DONE2) == false) then if (man0l0Quest:GetQuestFlag(MAN0L0_FLAG_MINITUT_DONE2) == false) then
player:RunEventFunction("delegateEvent", player, man0l0Quest, "processTtrMini002", nil, nil, nil); callClientFunction(player, "delegateEvent", player, man0l0Quest, "processTtrMini002", nil, nil, nil);
npc:SetQuestGraphic(player, 0x0); npc:SetQuestGraphic(player, 0x0);
man0l0Quest:SetQuestFlag(MAN0L0_FLAG_MINITUT_DONE2, true); man0l0Quest:SetQuestFlag(MAN0L0_FLAG_MINITUT_DONE2, true);
man0l0Quest:SaveData(); man0l0Quest:SaveData();
player:GetDirector():OnTalked(npc); player:GetDirector():OnTalked(npc);
else else
player:RunEventFunction("delegateEvent", player, man0l0Quest, "processEvent000_13", nil, nil, nil); callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent000_13", nil, nil, nil);
end end
else
player:EndEvent();
end end
else
player:EndEvent();
end end
end
function onEventUpdate(player, npc)
player:EndEvent(); player:EndEvent();
end end

View File

@ -0,0 +1,8 @@
require ("global")
require ("quests/man/man0l0")
function onEventStarted(player, npc, triggerName)
man0l0Quest = GetStaticActor("Man0l0");
callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent000_4", nil, nil, nil);
player:EndEvent();
end

View File

@ -0,0 +1,13 @@
require ("global")
function onEventStarted(player, npc)
floorChoice = callClientFunction(player, "elevatorAskLimsa001", 0);
if (floorChoice == 1) then
callClientFunction(player, "elevatorAskLimsa001", 1);
elseif (floorChoice == 2) then
callClientFunction(player, "elevatorAskLimsa001", 2);
end
player:EndEvent();
end

View File

@ -0,0 +1,13 @@
require ("global")
function onEventStarted(player, npc)
floorChoice = callClientFunction(player, "elevatorAskLimsa002", 0);
if (floorChoice == 1) then
callClientFunction(player, "elevatorAskLimsa002", 1);
elseif (floorChoice == 2) then
callClientFunction(player, "elevatorAskLimsa002", 2);
end
player:EndEvent();
end

View File

@ -0,0 +1,13 @@
require ("global")
function onEventStarted(player, npc)
floorChoice = callClientFunction(player, "elevatorAskLimsa003", 0);
if (floorChoice == 1) then
callClientFunction(player, "elevatorAskLimsa003", 1);
elseif (floorChoice == 2) then
callClientFunction(player, "elevatorAskLimsa003", 2);
end
player:EndEvent();
end

View File

@ -1,5 +1,7 @@
require ("global")
function onEventStarted(player, npc) function onEventStarted(player, npc)
defaultSea = GetStaticActor("DftSea"); defaultSea = GetStaticActor("DftSea");
player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithAergwynt_001", nil, nil, nil); callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithAergwynt_001", nil, nil, nil);
player:endEvent();
end end

View File

@ -1,5 +1,7 @@
require ("global")
function onEventStarted(player, npc) function onEventStarted(player, npc)
defaultSea = GetStaticActor("DftSea"); defaultSea = GetStaticActor("DftSea");
player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithBaderon_001", nil, nil, nil); callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithBaderon_001", nil, nil, nil);
player:endEvent();
end end

View File

@ -1,7 +1,7 @@
require ("global")
function onEventStarted(player, npc) function onEventStarted(player, npc)
defaultSea = GetStaticActor("DftSea"); defaultSea = GetStaticActor("DftSea");
player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithChantine_001", nil, nil, nil); callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithChantine_001", nil, nil, nil);
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithChantine_002", nil, nil, nil); --LNC player:endEvent();
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithChantine_003", nil, nil, nil); --LNC NO GUILD
end end

View File

@ -1,7 +1,7 @@
require ("global")
function onEventStarted(player, npc) function onEventStarted(player, npc)
defaultSea = GetStaticActor("DftSea"); defaultSea = GetStaticActor("DftSea");
player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithEstrilda_001", nil, nil, nil); --DEFAULT callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithEstrilda_001", nil, nil, nil);
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithEstrilda_002", nil, nil, nil); --IF ARCHER player:endEvent();
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithEstrilda_003", nil, nil, nil); --IF ARCHER
end end

View File

@ -1,7 +1,7 @@
require ("global")
function onEventStarted(player, npc) function onEventStarted(player, npc)
defaultSea = GetStaticActor("DftSea"); defaultSea = GetStaticActor("DftSea");
player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithFrithuric_001", nil, nil, nil); callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithFrithuric_001", nil, nil, nil);
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithFrithuric_002", nil, nil, nil); --LTW player:endEvent();
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithFrithuric_003", nil, nil, nil); --LTW NO GUILD
end end

View File

@ -1,5 +1,7 @@
require ("global")
function onEventStarted(player, npc) function onEventStarted(player, npc)
defaultSea = GetStaticActor("DftSea"); defaultSea = GetStaticActor("DftSea");
player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithFzhumii_001", nil, nil, nil); callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithFzhumii_001", nil, nil, nil);
player:endEvent();
end end

View File

@ -1,7 +1,7 @@
require ("global")
function onEventStarted(player, npc) function onEventStarted(player, npc)
defaultSea = GetStaticActor("DftSea"); defaultSea = GetStaticActor("DftSea");
player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithGigirya_001", nil, nil, nil); callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithGigirya_001", nil, nil, nil);
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithGigirya_002", nil, nil, nil); --THM player:endEvent();
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithGigirya_003", nil, nil, nil); --THM NO GUILD
end end

View File

@ -1,5 +1,7 @@
require ("global")
function onEventStarted(player, npc) function onEventStarted(player, npc)
defaultSea = GetStaticActor("DftSea"); defaultSea = GetStaticActor("DftSea");
player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithGnibnpha_001", nil, nil, nil); callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithGnibnpha_001", nil, nil, nil);
player:endEvent();
end end

View File

@ -1,7 +1,7 @@
require ("global")
function onEventStarted(player, npc) function onEventStarted(player, npc)
defaultSea = GetStaticActor("DftSea"); defaultSea = GetStaticActor("DftSea");
player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithGregory_001", nil, nil, nil); callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithGregory_001", nil, nil, nil);
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithGregory_002", nil, nil, nil); --CNJ player:endEvent();
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithGregory_003", nil, nil, nil); --CNJ NO GUILD
end end

View File

@ -1,5 +1,7 @@
require ("global")
function onEventStarted(player, npc) function onEventStarted(player, npc)
defaultSea = GetStaticActor("DftSea"); defaultSea = GetStaticActor("DftSea");
player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithIsleen_001", nil, nil, nil); callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithIsleen_001", nil, nil, nil);
player:endEvent();
end end

View File

@ -1,5 +0,0 @@
function onEventStarted(player, npc)
defaultSea = GetStaticActor("DftSea");
player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithIsleen_001", nil, nil, nil);
end

View File

@ -1,7 +1,7 @@
require ("global")
function onEventStarted(player, npc) function onEventStarted(player, npc)
defaultSea = GetStaticActor("DftSea"); defaultSea = GetStaticActor("DftSea");
player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithJosias_001", nil, nil, nil); callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithJosias_001", nil, nil, nil);
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithJosias_002", nil, nil, nil); --CRP player:endEvent();
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithJosias_003", nil, nil, nil); --CRP NO GUILD
end end

View File

@ -1,7 +1,7 @@
require ("global")
function onEventStarted(player, npc) function onEventStarted(player, npc)
defaultSea = GetStaticActor("DftSea"); defaultSea = GetStaticActor("DftSea");
player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithKakamehi_001", nil, nil, nil); callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithKakamehi_001", nil, nil, nil);
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithKakamehi_002", nil, nil, nil); --IF ALC player:endEvent();
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithKakamehi_003", nil, nil, nil); --IF ALC
end end

View File

@ -1,7 +1,7 @@
require ("global")
function onEventStarted(player, npc) function onEventStarted(player, npc)
defaultSea = GetStaticActor("DftSea"); defaultSea = GetStaticActor("DftSea");
player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithKokoto_001", nil, nil, nil); callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithKokoto_001", nil, nil, nil);
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithKokoto_002", nil, nil, nil); --LNC player:endEvent();
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithKokoto_003", nil, nil, nil); --LNC NO GUILD
end end

View File

@ -1,5 +1,7 @@
require ("global")
function onEventStarted(player, npc) function onEventStarted(player, npc)
defaultSea = GetStaticActor("DftSea"); defaultSea = GetStaticActor("DftSea");
player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithLaniaitte_001", nil, nil, nil); callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithLaniaitte_001", nil, nil, nil);
player:endEvent();
end end

View File

@ -1,7 +1,7 @@
require ("global")
function onEventStarted(player, npc) function onEventStarted(player, npc)
defaultSea = GetStaticActor("DftSea"); defaultSea = GetStaticActor("DftSea");
player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithLauda_001", nil, nil, nil); callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithLauda_001", nil, nil, nil);
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithLauda_002", nil, nil, nil); --BTN player:endEvent();
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithLauda_003", nil, nil, nil); --BTN NO GUILD
end end

View File

@ -1,7 +1,7 @@
require ("global")
function onEventStarted(player, npc) function onEventStarted(player, npc)
defaultSea = GetStaticActor("DftSea"); defaultSea = GetStaticActor("DftSea");
player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithMaunie_001", nil, nil, nil); callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithMaunie_001", nil, nil, nil);
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithMaunie_002", nil, nil, nil); --PUG player:endEvent();
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithMaunie_003", nil, nil, nil); --PUG NO GUILD
end end

View File

@ -1,15 +1,14 @@
require ("global")
function onEventStarted(player, npc) function onEventStarted(player, npc)
defaultSea = GetStaticActor("DftSea"); defaultSea = GetStaticActor("DftSea");
player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithInn_Desk", nil, nil, nil); choice = callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithInn_Desk", nil, nil, nil);
end if (choice == 1) then
GetWorldManager():DoZoneChange(player, 13);
function onEventUpdate(player, npc, blah, menuSelect) elseif (choice == 2) then
--Do Set Homepoint
if (menuSelect == 1) then
GetWorldManager():DoZoneChange(player, 12);
end end
player:EndEvent(); player:EndEvent();
end end

View File

@ -1,7 +1,7 @@
require ("global")
function onEventStarted(player, npc) function onEventStarted(player, npc)
defaultSea = GetStaticActor("DftSea"); defaultSea = GetStaticActor("DftSea");
player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithNanaka_001", nil, nil, nil); callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithNanaka_001", nil, nil, nil);
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithNanaka_002", nil, nil, nil); --GSM player:endEvent();
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithNanaka_003", nil, nil, nil); --GSM NO GUILD
end end

View File

@ -1,7 +1,7 @@
require ("global")
function onEventStarted(player, npc) function onEventStarted(player, npc)
defaultSea = GetStaticActor("DftSea"); defaultSea = GetStaticActor("DftSea");
player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithStephannot_001", nil, nil, nil); callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithStephannot_001", nil, nil, nil);
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithStephannot_002", nil, nil, nil); --MIN player:endEvent();
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithStephannot_003", nil, nil, nil); --MIN NO GUILD
end end

View File

@ -1,8 +1,7 @@
require ("global")
function onEventStarted(player, npc) function onEventStarted(player, npc)
defaultSea = GetStaticActor("DftSea"); defaultSea = GetStaticActor("DftSea");
player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithTirauland_001", nil, nil, nil); callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithTirauland_001", nil, nil, nil);
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithTirauland_002", nil, nil, nil); --LNC player:endEvent();
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithTirauland_003", nil, nil, nil); --LNC NO GUILD
--player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithTirauland_010", nil, nil, nil); --NOT DOW/DOM
end end

View File

@ -1,5 +1,7 @@
require ("global")
function onEventStarted(player, npc) function onEventStarted(player, npc)
defaultSea = GetStaticActor("DftSea"); defaultSea = GetStaticActor("DftSea");
player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithZanthael_001", nil, nil, nil); callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithZanthael_001", nil, nil, nil);
player:endEvent();
end end

View File

@ -1,5 +1,7 @@
require ("global")
function onEventStarted(player, npc) function onEventStarted(player, npc)
defaultSea = GetStaticActor("DftSea"); defaultSea = GetStaticActor("DftSea");
player:RunEventFunction("delegateEvent", player, defaultSea, "defaultTalkWithZehrymm_001", nil, nil, nil); callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithZehrymm_001", nil, nil, nil);
player:endEvent();
end end

View File

@ -0,0 +1,6 @@
shopInfo = {
welcomeText = 94,
shopPack = 0x67,
shopCurrancy = nil
}

Some files were not shown because too many files have changed in this diff Show More