mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-04-02 19:42:05 -04:00
Merge branch 'master' of https://bitbucket.org/Ioncannon/ffxiv-classic-server into lua_commands
# Conflicts: # FFXIVClassic Common Class Lib/packages.config # FFXIVClassic Lobby Server/Program.cs # FFXIVClassic Map Server/CommandProcessor.cs # FFXIVClassic Map Server/Program.cs # FFXIVClassic Map Server/actors/Actor.cs
This commit is contained in:
commit
37d91480f9
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="MySql.Data" version="6.9.8" targetFramework="net45" />
|
<package id="MySql.Data" version="6.9.8" targetFramework="net45" />
|
||||||
<package id="NLog" version="4.3.5" tarGetFramework="net45" targetFramework="net45" />
|
<package id="NLog" version="4.3.5" targetFramework="net45" targetFramework="net45" />
|
||||||
</packages>
|
</packages>
|
@ -18,11 +18,11 @@ namespace FFXIVClassic_Lobby_Server
|
|||||||
|
|
||||||
public static bool Load()
|
public static bool Load()
|
||||||
{
|
{
|
||||||
Program.Log.Info("Loading lobby_config.ini file... ");
|
Program.Log.Info("Loading lobby_config.ini file");
|
||||||
|
|
||||||
if (!File.Exists("./lobby_config.ini"))
|
if (!File.Exists("./lobby_config.ini"))
|
||||||
{
|
{
|
||||||
Program.Log.Error("[FILE NOT FOUND]");
|
Program.Log.Error("FILE NOT FOUND!");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,8 +38,6 @@ namespace FFXIVClassic_Lobby_Server
|
|||||||
ConfigConstants.DATABASE_USERNAME = configIni.GetValue("Database", "username", "");
|
ConfigConstants.DATABASE_USERNAME = configIni.GetValue("Database", "username", "");
|
||||||
ConfigConstants.DATABASE_PASSWORD = configIni.GetValue("Database", "password", "");
|
ConfigConstants.DATABASE_PASSWORD = configIni.GetValue("Database", "password", "");
|
||||||
|
|
||||||
Program.Log.Info("[OK]");
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -28,10 +28,6 @@ namespace FFXIVClassic_Lobby_Server
|
|||||||
if (!ConfigConstants.Load())
|
if (!ConfigConstants.Load())
|
||||||
startServer = false;
|
startServer = false;
|
||||||
|
|
||||||
Assembly assem = Assembly.GetExecutingAssembly();
|
|
||||||
Version vers = assem.GetName().Version;
|
|
||||||
Program.Log.Info("Version: " + vers.ToString());
|
|
||||||
|
|
||||||
//Test DB Connection
|
//Test DB Connection
|
||||||
Program.Log.Info("Testing DB connection to \"{0}\"... ", ConfigConstants.DATABASE_HOST);
|
Program.Log.Info("Testing DB connection to \"{0}\"... ", ConfigConstants.DATABASE_HOST);
|
||||||
using (MySqlConnection conn = new MySqlConnection(String.Format("Server={0}; Port={1}; Database={2}; UID={3}; Password={4}", ConfigConstants.DATABASE_HOST, ConfigConstants.DATABASE_PORT, ConfigConstants.DATABASE_NAME, ConfigConstants.DATABASE_USERNAME, ConfigConstants.DATABASE_PASSWORD)))
|
using (MySqlConnection conn = new MySqlConnection(String.Format("Server={0}; Port={1}; Database={2}; UID={3}; Password={4}", ConfigConstants.DATABASE_HOST, ConfigConstants.DATABASE_PORT, ConfigConstants.DATABASE_NAME, ConfigConstants.DATABASE_USERNAME, ConfigConstants.DATABASE_PASSWORD)))
|
||||||
@ -55,9 +51,7 @@ namespace FFXIVClassic_Lobby_Server
|
|||||||
{
|
{
|
||||||
Server server = new Server();
|
Server server = new Server();
|
||||||
server.StartServer();
|
server.StartServer();
|
||||||
|
while (true) Thread.Sleep(10000);
|
||||||
while (true)
|
|
||||||
Thread.Sleep(1000);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Program.Log.Info("Press any key to continue...");
|
Program.Log.Info("Press any key to continue...");
|
||||||
|
@ -81,7 +81,7 @@ namespace FFXIVClassic_Lobby_Server
|
|||||||
}
|
}
|
||||||
|
|
||||||
Console.ForegroundColor = ConsoleColor.White;
|
Console.ForegroundColor = ConsoleColor.White;
|
||||||
Program.Log.Debug("Lobby Server has started @ {0}:{1}", (mServerSocket.LocalEndPoint as IPEndPoint).Address, (mServerSocket.LocalEndPoint as IPEndPoint).Port);
|
Program.Log.Info("Lobby Server has started @ {0}:{1}", (mServerSocket.LocalEndPoint as IPEndPoint).Address, (mServerSocket.LocalEndPoint as IPEndPoint).Port);
|
||||||
Console.ForegroundColor = ConsoleColor.Gray;
|
Console.ForegroundColor = ConsoleColor.Gray;
|
||||||
|
|
||||||
mProcessor = new PacketProcessor();
|
mProcessor = new PacketProcessor();
|
||||||
|
@ -23,7 +23,7 @@ namespace FFXIVClassic_Map_Server
|
|||||||
|
|
||||||
if (!File.Exists("./map_config.ini"))
|
if (!File.Exists("./map_config.ini"))
|
||||||
{
|
{
|
||||||
Program.Log.Error("[FILE NOT FOUND]");
|
Program.Log.Error("FILE NOT FOUND");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -40,8 +40,6 @@ namespace FFXIVClassic_Map_Server
|
|||||||
ConfigConstants.DATABASE_USERNAME = configIni.GetValue("Database", "username", "");
|
ConfigConstants.DATABASE_USERNAME = configIni.GetValue("Database", "username", "");
|
||||||
ConfigConstants.DATABASE_PASSWORD = configIni.GetValue("Database", "password", "");
|
ConfigConstants.DATABASE_PASSWORD = configIni.GetValue("Database", "password", "");
|
||||||
|
|
||||||
Program.Log.Info("[OK]");
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -34,10 +34,6 @@ namespace FFXIVClassic_Map_Server
|
|||||||
if (!ConfigConstants.Load())
|
if (!ConfigConstants.Load())
|
||||||
startServer = false;
|
startServer = false;
|
||||||
|
|
||||||
Assembly assem = Assembly.GetExecutingAssembly();
|
|
||||||
Version vers = assem.GetName().Version;
|
|
||||||
Program.Log.Info("Version: " + vers.ToString());
|
|
||||||
|
|
||||||
//Test DB Connection
|
//Test DB Connection
|
||||||
Program.Log.Info("Testing DB connection... ");
|
Program.Log.Info("Testing DB connection... ");
|
||||||
using (MySqlConnection conn = new MySqlConnection(String.Format("Server={0}; Port={1}; Database={2}; UID={3}; Password={4}", ConfigConstants.DATABASE_HOST, ConfigConstants.DATABASE_PORT, ConfigConstants.DATABASE_NAME, ConfigConstants.DATABASE_USERNAME, ConfigConstants.DATABASE_PASSWORD)))
|
using (MySqlConnection conn = new MySqlConnection(String.Format("Server={0}; Port={1}; Database={2}; UID={3}; Password={4}", ConfigConstants.DATABASE_HOST, ConfigConstants.DATABASE_PORT, ConfigConstants.DATABASE_NAME, ConfigConstants.DATABASE_USERNAME, ConfigConstants.DATABASE_PASSWORD)))
|
||||||
|
@ -116,7 +116,7 @@ namespace FFXIVClassic_Map_Server
|
|||||||
}
|
}
|
||||||
|
|
||||||
Console.ForegroundColor = ConsoleColor.White;
|
Console.ForegroundColor = ConsoleColor.White;
|
||||||
Program.Log.Debug("Map Server has started @ {0}:{1}", (mServerSocket.LocalEndPoint as IPEndPoint).Address, (mServerSocket.LocalEndPoint as IPEndPoint).Port);
|
Program.Log.Info("Map Server has started @ {0}:{1}", (mServerSocket.LocalEndPoint as IPEndPoint).Address, (mServerSocket.LocalEndPoint as IPEndPoint).Port);
|
||||||
Console.ForegroundColor = ConsoleColor.Gray;
|
Console.ForegroundColor = ConsoleColor.Gray;
|
||||||
|
|
||||||
mProcessor = new PacketProcessor(this, mConnectedPlayerList, mConnectionList);
|
mProcessor = new PacketProcessor(this, mConnectedPlayerList, mConnectionList);
|
||||||
|
@ -302,7 +302,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||||||
zone.BroadcastPacketAroundActor(this, ChangeSpeedPacket);
|
zone.BroadcastPacketAroundActor(this, ChangeSpeedPacket);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void generateActorName(int actorNumber)
|
public void GenerateActorName(int actorNumber)
|
||||||
{
|
{
|
||||||
//Format Class Name
|
//Format Class Name
|
||||||
string className = this.className.Replace("Populace", "Ppl")
|
string className = this.className.Replace("Populace", "Ppl")
|
||||||
|
@ -348,7 +348,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
Npc npc = new Npc(mActorList.Count + 1, actorClass.actorClassId, location.uniqueId, actorId, location.x, location.y, location.z, location.rot, location.state, location.animId, actorClass.displayNameId, null, actorClass.classPath);
|
Npc npc = new Npc(mActorList.Count + 1, actorClass.actorClassId, location.uniqueId, actorId, location.x, location.y, location.z, location.rot, location.state, location.animId, actorClass.displayNameId, null, actorClass.classPath);
|
||||||
npc.loadEventConditions(actorClass.eventConditions);
|
npc.LoadEventConditions(actorClass.eventConditions);
|
||||||
|
|
||||||
AddActorToZone(npc);
|
AddActorToZone(npc);
|
||||||
}
|
}
|
||||||
|
@ -45,7 +45,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||||||
|
|
||||||
this.actorClassId = classId;
|
this.actorClassId = classId;
|
||||||
|
|
||||||
loadNpcAppearance(classId);
|
LoadNpcAppearance(classId);
|
||||||
|
|
||||||
this.classPath = classPath;
|
this.classPath = classPath;
|
||||||
className = classPath.Substring(classPath.LastIndexOf("/")+1);
|
className = classPath.Substring(classPath.LastIndexOf("/")+1);
|
||||||
@ -73,7 +73,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||||||
npcWork.pushCommand = 0x271D;
|
npcWork.pushCommand = 0x271D;
|
||||||
npcWork.pushCommandPriority = 1;
|
npcWork.pushCommandPriority = 1;
|
||||||
|
|
||||||
generateActorName((int)actorNumber);
|
GenerateActorName((int)actorNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
public SubPacket CreateAddActorPacket(uint playerActorId)
|
public SubPacket CreateAddActorPacket(uint playerActorId)
|
||||||
@ -186,7 +186,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||||||
return actorClassId;
|
return actorClassId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void loadNpcAppearance(uint id)
|
public void LoadNpcAppearance(uint id)
|
||||||
{
|
{
|
||||||
using (MySqlConnection conn = new MySqlConnection(String.Format("Server={0}; Port={1}; Database={2}; UID={3}; Password={4}", ConfigConstants.DATABASE_HOST, ConfigConstants.DATABASE_PORT, ConfigConstants.DATABASE_NAME, ConfigConstants.DATABASE_USERNAME, ConfigConstants.DATABASE_PASSWORD)))
|
using (MySqlConnection conn = new MySqlConnection(String.Format("Server={0}; Port={1}; Database={2}; UID={3}; Password={4}", ConfigConstants.DATABASE_HOST, ConfigConstants.DATABASE_PORT, ConfigConstants.DATABASE_NAME, ConfigConstants.DATABASE_USERNAME, ConfigConstants.DATABASE_PASSWORD)))
|
||||||
{
|
{
|
||||||
@ -288,7 +288,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void loadEventConditions(string eventConditions)
|
public void LoadEventConditions(string eventConditions)
|
||||||
{
|
{
|
||||||
EventList conditions = JsonConvert.DeserializeObject<EventList>(eventConditions);
|
EventList conditions = JsonConvert.DeserializeObject<EventList>(eventConditions);
|
||||||
this.eventConditions = conditions;
|
this.eventConditions = conditions;
|
||||||
|
@ -241,7 +241,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||||||
packets.Add(_0x132Packet.BuildPacket(playerActorId, 0x4, "commandContent"));
|
packets.Add(_0x132Packet.BuildPacket(playerActorId, 0x4, "commandContent"));
|
||||||
packets.Add(_0x132Packet.BuildPacket(playerActorId, 0x6, "commandJudgeMode"));
|
packets.Add(_0x132Packet.BuildPacket(playerActorId, 0x6, "commandJudgeMode"));
|
||||||
packets.Add(_0x132Packet.BuildPacket(playerActorId, 0x100, "commandRequest"));
|
packets.Add(_0x132Packet.BuildPacket(playerActorId, 0x100, "commandRequest"));
|
||||||
packets.Add(_0x132Packet.BuildPacket(playerActorId, 0x100, "widGetCreate"));
|
packets.Add(_0x132Packet.BuildPacket(playerActorId, 0x100, "widgetCreate"));
|
||||||
packets.Add(_0x132Packet.BuildPacket(playerActorId, 0x100, "macroRequest"));
|
packets.Add(_0x132Packet.BuildPacket(playerActorId, 0x100, "macroRequest"));
|
||||||
return packets;
|
return packets;
|
||||||
}
|
}
|
||||||
@ -386,7 +386,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||||||
for (int i = 0; i < charaWork.additionalCommandAcquired.Length; i++)
|
for (int i = 0; i < charaWork.additionalCommandAcquired.Length; i++)
|
||||||
{
|
{
|
||||||
if (charaWork.additionalCommandAcquired[i] != false)
|
if (charaWork.additionalCommandAcquired[i] != false)
|
||||||
propPacketUtil.AddProperty(String.Format("charaWork.AdditionalCommandAcquired[{0}]", i));
|
propPacketUtil.AddProperty(String.Format("charaWork.additionalCommandAcquired[{0}]", i));
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < charaWork.parameterSave.commandSlot_compatibility.Length; i++)
|
for (int i = 0; i < charaWork.parameterSave.commandSlot_compatibility.Length; i++)
|
||||||
|
@ -8,4 +8,4 @@ host=127.0.0.1
|
|||||||
port=3306
|
port=3306
|
||||||
database=ffxiv_server
|
database=ffxiv_server
|
||||||
username=root
|
username=root
|
||||||
password=root
|
password=
|
||||||
|
@ -8,4 +8,4 @@ host=127.0.0.1
|
|||||||
port=3306
|
port=3306
|
||||||
database=ffxiv_server
|
database=ffxiv_server
|
||||||
username=root
|
username=root
|
||||||
password=root
|
password=
|
||||||
|
@ -13,9 +13,9 @@ function onEventUpdate(player, npc, eventStep, menuOptionSelected)
|
|||||||
player:EndEvent();
|
player:EndEvent();
|
||||||
return;
|
return;
|
||||||
elseif (menuOptionSelected == 2) then
|
elseif (menuOptionSelected == 2) then
|
||||||
player:quitGame();
|
player:QuitGame();
|
||||||
elseif (menuOptionSelected == 3) then
|
elseif (menuOptionSelected == 3) then
|
||||||
player:logout();
|
player:Logout();
|
||||||
elseif (menuOptionSelected == 4) then
|
elseif (menuOptionSelected == 4) then
|
||||||
player:SendMessage(33, "", "Heck the bed");
|
player:SendMessage(33, "", "Heck the bed");
|
||||||
end
|
end
|
||||||
|
@ -0,0 +1,61 @@
|
|||||||
|
function init(npc)
|
||||||
|
return false, false, 0, 0;
|
||||||
|
end
|
||||||
|
|
||||||
|
function onEventStarted(player, npc)
|
||||||
|
|
||||||
|
saySheetId = 1;
|
||||||
|
|
||||||
|
if (npc:GetActorClassId() == 1000157) then
|
||||||
|
saySheetId = 9;
|
||||||
|
elseif (npc:GetActorClassId() == 1000158) then
|
||||||
|
saySheetId = 24;
|
||||||
|
elseif (npc:GetActorClassId() == 1000162) then
|
||||||
|
saySheetId = 18;
|
||||||
|
elseif (npc:GetActorClassId() == 1000164) then
|
||||||
|
saySheetId = 16;
|
||||||
|
elseif (npc:GetActorClassId() == 1000459) then
|
||||||
|
saySheetId = 21;
|
||||||
|
elseif (npc:GetActorClassId() == 1000460) then
|
||||||
|
saySheetId = 13;
|
||||||
|
elseif (npc:GetActorClassId() == 1000461) then
|
||||||
|
saySheetId = 15;
|
||||||
|
elseif (npc:GetActorClassId() == 1000462) then
|
||||||
|
saySheetId = 11;
|
||||||
|
elseif (npc:GetActorClassId() == 1000464) then
|
||||||
|
saySheetId = 10;
|
||||||
|
elseif (npc:GetActorClassId() == 1000466) then
|
||||||
|
saySheetId = 17;
|
||||||
|
elseif (npc:GetActorClassId() == 1000631) then
|
||||||
|
saySheetId = 8;
|
||||||
|
elseif (npc:GetActorClassId() == 1000632) then
|
||||||
|
saySheetId = 7;
|
||||||
|
elseif (npc:GetActorClassId() == 1000633) then
|
||||||
|
saySheetId = 12;
|
||||||
|
elseif (npc:GetActorClassId() == 1000634) then
|
||||||
|
saySheetId = 23;
|
||||||
|
elseif (npc:GetActorClassId() == 1000635) then
|
||||||
|
saySheetId = 20;
|
||||||
|
elseif (npc:GetActorClassId() == 1000636) then
|
||||||
|
saySheetId = 22;
|
||||||
|
elseif (npc:GetActorClassId() == 1000637) then
|
||||||
|
saySheetId = 14;
|
||||||
|
elseif (npc:GetActorClassId() == 1001461) then
|
||||||
|
saySheetId = 19;
|
||||||
|
end
|
||||||
|
|
||||||
|
player:RunEventFunction("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???
|
||||||
|
--player:RunEventFunction("cashbackTalk", 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1); --Refund items???
|
||||||
|
|
||||||
|
if (menuOptionSelected == 4) then
|
||||||
|
player:EndEvent();
|
||||||
|
else
|
||||||
|
player:RunEventFunction("selectMode", nil, npc:GetActorClassId(), false, 1000001); --Step 2, state your business
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
@ -9,15 +9,15 @@ Switches between active and passive mode states
|
|||||||
function onEventStarted(player, command, triggerName)
|
function onEventStarted(player, command, triggerName)
|
||||||
|
|
||||||
if (player:GetState() == 0) then
|
if (player:GetState() == 0) then
|
||||||
player:changeState(2);
|
player:ChangeState(2);
|
||||||
elseif (player:GetState() == 2) then
|
elseif (player:GetState() == 2) then
|
||||||
player:changeState(0);
|
player:ChangeState(0);
|
||||||
end
|
end
|
||||||
|
|
||||||
player:EndCommand();
|
player:EndCommand();
|
||||||
|
|
||||||
--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
|
||||||
player:GetDirector():OnCommand(command);
|
player:GetDirector():OnCommand(command);
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -13,21 +13,21 @@ function onEventStarted(player, actor, triggerName, isGoobbue)
|
|||||||
worldMaster = GetWorldMaster();
|
worldMaster = GetWorldMaster();
|
||||||
|
|
||||||
if (isGoobbue ~= true) then
|
if (isGoobbue ~= true) then
|
||||||
player:changeMusic(83);
|
player:ChangeMusic(83);
|
||||||
player:SendChocoboAppearance();
|
player:SendChocoboAppearance();
|
||||||
player:SendGameMessage(player, worldMaster, 26001, 0x20);
|
player:SendGameMessage(player, worldMaster, 26001, 0x20);
|
||||||
player:SetMountState(1);
|
player:SetMountState(1);
|
||||||
else
|
else
|
||||||
player:changeMusic(98);
|
player:ChangeMusic(98);
|
||||||
player:SendGoobbueAppearance();
|
player:SendGoobbueAppearance();
|
||||||
player:SendGameMessage(player, worldMaster, 26019, 0x20);
|
player:SendGameMessage(player, worldMaster, 26019, 0x20);
|
||||||
player:SetMountState(2);
|
player:SetMountState(2);
|
||||||
end
|
end
|
||||||
|
|
||||||
player:changeSpeed(0.0, 5.0, 10.0);
|
player:ChangeSpeed(0.0, 5.0, 10.0);
|
||||||
player:changeState(15);
|
player:ChangeState(15);
|
||||||
else
|
else
|
||||||
player:changeMusic(player:GetZone().bgmDay);
|
player:ChangeMusic(player:GetZone().bgmDay);
|
||||||
|
|
||||||
worldMaster = GetWorldMaster();
|
worldMaster = GetWorldMaster();
|
||||||
|
|
||||||
@ -38,8 +38,8 @@ function onEventStarted(player, actor, triggerName, isGoobbue)
|
|||||||
end
|
end
|
||||||
|
|
||||||
player:SetMountState(0);
|
player:SetMountState(0);
|
||||||
player:changeSpeed(0.0, 2.0, 5.0)
|
player:ChangeSpeed(0.0, 2.0, 5.0)
|
||||||
player:changeState(0);
|
player:ChangeState(0);
|
||||||
end
|
end
|
||||||
|
|
||||||
player:EndCommand();
|
player:EndCommand();
|
||||||
|
@ -8,12 +8,12 @@ function onEventStarted(player, actor, triggerName, emoteId)
|
|||||||
|
|
||||||
if (player:GetState() == 0) then
|
if (player:GetState() == 0) then
|
||||||
if (emoteId == 0x2712) then
|
if (emoteId == 0x2712) then
|
||||||
player:changeState(11);
|
player:ChangeState(11);
|
||||||
else
|
else
|
||||||
player:changeState(13);
|
player:ChangeState(13);
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
player:changeState(0);
|
player:ChangeState(0);
|
||||||
end
|
end
|
||||||
|
|
||||||
player:EndCommand();
|
player:EndCommand();
|
||||||
|
@ -12,7 +12,7 @@ emoteTable = {
|
|||||||
function onEventStarted(player, actor, triggerName, emoteId)
|
function onEventStarted(player, actor, triggerName, emoteId)
|
||||||
|
|
||||||
if (player:GetState() == 0) then
|
if (player:GetState() == 0) then
|
||||||
player:doEmote(emoteId);
|
player:DoEmote(emoteId);
|
||||||
end
|
end
|
||||||
|
|
||||||
player:EndCommand();
|
player:EndCommand();
|
||||||
|
@ -137,7 +137,7 @@ function equipItem(player, equipSlot, item)
|
|||||||
|
|
||||||
if (classId ~= nil) then
|
if (classId ~= nil) then
|
||||||
player:SendGameMessage(player, worldMaster, 30103, 0x20, 0, 0, player, classId);
|
player:SendGameMessage(player, worldMaster, 30103, 0x20, 0, 0, player, classId);
|
||||||
player:prepareClassChange(classId);
|
player:PrepareClassChange(classId);
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
@ -161,23 +161,23 @@ function equipItem(player, equipSlot, item)
|
|||||||
|
|
||||||
--Graphic Slot was set, otherwise it's a special case
|
--Graphic Slot was set, otherwise it's a special case
|
||||||
if (graphicSlot ~= nil) then
|
if (graphicSlot ~= nil) then
|
||||||
player:graphicChange(graphicSlot, item);
|
player:GraphicChange(graphicSlot, item);
|
||||||
if (graphicSlot == GRAPHICSLOT_MAINHAND) then player:graphicChange(GRAPHICSLOT_OFFHAND, nil); end
|
if (graphicSlot == GRAPHICSLOT_MAINHAND) then player:GraphicChange(GRAPHICSLOT_OFFHAND, nil); end
|
||||||
elseif (gItem:IsNailWeapon()) then
|
elseif (gItem:IsNailWeapon()) then
|
||||||
player:graphicChange(GRAPHICSLOT_MAINHAND, item);
|
player:GraphicChange(GRAPHICSLOT_MAINHAND, item);
|
||||||
player:graphicChange(GRAPHICSLOT_OFFHAND, item);
|
player:GraphicChange(GRAPHICSLOT_OFFHAND, item);
|
||||||
elseif (gItem:IsBowWeapon()) then
|
elseif (gItem:IsBowWeapon()) then
|
||||||
player:graphicChange(GRAPHICSLOT_MAINHAND, item);
|
player:GraphicChange(GRAPHICSLOT_MAINHAND, item);
|
||||||
--player:graphicChange(GRAPHICSLOT_OFFHAND, item);
|
--player:GraphicChange(GRAPHICSLOT_OFFHAND, item);
|
||||||
elseif (equipSlot == EQUIPSLOT_EARS) then
|
elseif (equipSlot == EQUIPSLOT_EARS) then
|
||||||
player:graphicChange(GRAPHICSLOT_R_EAR, item);
|
player:GraphicChange(GRAPHICSLOT_R_EAR, item);
|
||||||
player:graphicChange(GRAPHICSLOT_L_EAR, item);
|
player:GraphicChange(GRAPHICSLOT_L_EAR, item);
|
||||||
end
|
end
|
||||||
|
|
||||||
--Load gearset for new class and begin class change
|
--Load gearset for new class and begin class change
|
||||||
if (classId ~= nil) then
|
if (classId ~= nil) then
|
||||||
loadGearset(player, classId);
|
loadGearset(player, classId);
|
||||||
player:doClassChange(classId);
|
player:DoClassChange(classId);
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
@ -194,20 +194,20 @@ function unequipItem(player, equipSlot, item)
|
|||||||
|
|
||||||
if (equipSlot == EQUIPSLOT_BODY) then --Show Undershirt
|
if (equipSlot == EQUIPSLOT_BODY) then --Show Undershirt
|
||||||
item = player:GetEquipment():GetItemAtSlot(EQUIPSLOT_UNDERSHIRT);
|
item = player:GetEquipment():GetItemAtSlot(EQUIPSLOT_UNDERSHIRT);
|
||||||
player:graphicChange(GRAPHICSLOT_BODY, item);
|
player:GraphicChange(GRAPHICSLOT_BODY, item);
|
||||||
elseif (equipSlot == EQUIPSLOT_LEGS) then --Show Undergarment
|
elseif (equipSlot == EQUIPSLOT_LEGS) then --Show Undergarment
|
||||||
item = player:GetEquipment():GetItemAtSlot(EQUIPSLOT_UNDERGARMENT);
|
item = player:GetEquipment():GetItemAtSlot(EQUIPSLOT_UNDERGARMENT);
|
||||||
player:graphicChange(GRAPHICSLOT_LEGS, item);
|
player:GraphicChange(GRAPHICSLOT_LEGS, item);
|
||||||
elseif (equipSlot == EQUIPSLOT_HANDS) then player:graphicChange(15, 0, 1, 0, 0);
|
elseif (equipSlot == EQUIPSLOT_HANDS) then player:GraphicChange(15, 0, 1, 0, 0);
|
||||||
elseif (equipSlot == EQUIPSLOT_FEET) then player:graphicChange(16, 0, 1, 0, 0);
|
elseif (equipSlot == EQUIPSLOT_FEET) then player:GraphicChange(16, 0, 1, 0, 0);
|
||||||
else
|
else
|
||||||
if (equipSlot == EQUIPSLOT_MAINHAND) then player:graphicChange(GRAPHICSLOT_MAINHAND, nil);
|
if (equipSlot == EQUIPSLOT_MAINHAND) then player:GraphicChange(GRAPHICSLOT_MAINHAND, nil);
|
||||||
elseif (equipSlot == EQUIPSLOT_OFFHAND) then player:graphicChange(GRAPHICSLOT_OFFHAND, nil);
|
elseif (equipSlot == EQUIPSLOT_OFFHAND) then player:GraphicChange(GRAPHICSLOT_OFFHAND, nil);
|
||||||
elseif (equipSlot == EQUIPSLOT_HEAD) then player:graphicChange(GRAPHICSLOT_HEAD, nil);
|
elseif (equipSlot == EQUIPSLOT_HEAD) then player:GraphicChange(GRAPHICSLOT_HEAD, nil);
|
||||||
elseif (equipSlot == EQUIPSLOT_WAIST) then player:graphicChange(GRAPHICSLOT_WAIST, nil);
|
elseif (equipSlot == EQUIPSLOT_WAIST) then player:GraphicChange(GRAPHICSLOT_WAIST, nil);
|
||||||
elseif (equipSlot == EQUIPSLOT_EARS) then player:graphicChange(GRAPHICSLOT_L_EAR, nil); player:graphicChange(GRAPHICSLOT_R_EAR, nil);
|
elseif (equipSlot == EQUIPSLOT_EARS) then player:GraphicChange(GRAPHICSLOT_L_EAR, nil); player:GraphicChange(GRAPHICSLOT_R_EAR, nil);
|
||||||
elseif (equipSlot == EQUIPSLOT_RFINGER) then player:graphicChange(GRAPHICSLOT_RFINGER, nil);
|
elseif (equipSlot == EQUIPSLOT_RFINGER) then player:GraphicChange(GRAPHICSLOT_RFINGER, nil);
|
||||||
elseif (equipSlot == EQUIPSLOT_LFINGER) then player:graphicChange(GRAPHICSLOT_LFINGER, nil);
|
elseif (equipSlot == EQUIPSLOT_LFINGER) then player:GraphicChange(GRAPHICSLOT_LFINGER, nil);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return true;
|
return true;
|
||||||
|
@ -10,6 +10,6 @@ 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:EndCommand();
|
||||||
end
|
end
|
||||||
|
@ -18,7 +18,7 @@ Countdown: 1
|
|||||||
function onEventStarted(player, command)
|
function onEventStarted(player, command)
|
||||||
--player:SetCurrentMenuId(0);
|
--player:SetCurrentMenuId(0);
|
||||||
--player:RunEventFunction("delegateCommand", command, "eventConfirm");
|
--player:RunEventFunction("delegateCommand", command, "eventConfirm");
|
||||||
player:logout();
|
player:Logout();
|
||||||
end
|
end
|
||||||
|
|
||||||
function onEventUpdate(player, command, triggerName, step, arg1, arg2)
|
function onEventUpdate(player, command, triggerName, step, arg1, arg2)
|
||||||
@ -28,10 +28,10 @@ function onEventUpdate(player, command, triggerName, step, arg1, arg2)
|
|||||||
--Menu Dialog
|
--Menu Dialog
|
||||||
if (currentMenuId == 0) then
|
if (currentMenuId == 0) then
|
||||||
if (arg1 == 1) then --Exit
|
if (arg1 == 1) then --Exit
|
||||||
player:quitGame();
|
player:QuitGame();
|
||||||
player:EndCommand();
|
player:EndCommand();
|
||||||
elseif (arg1 == 2) then --Character Screen
|
elseif (arg1 == 2) then --Character Screen
|
||||||
player:logout();
|
player:Logout();
|
||||||
player:EndCommand();
|
player:EndCommand();
|
||||||
--player:SetCurrentMenuId(1);
|
--player:SetCurrentMenuId(1);
|
||||||
--player:RunEventFunction("delegateCommand", command, "eventCountDown");
|
--player:RunEventFunction("delegateCommand", command, "eventCountDown");
|
||||||
@ -42,7 +42,7 @@ function onEventUpdate(player, command, triggerName, step, arg1, arg2)
|
|||||||
elseif (currentMenuId == 1) then
|
elseif (currentMenuId == 1) then
|
||||||
|
|
||||||
if (arg2 == 1) then --Logout Complete
|
if (arg2 == 1) then --Logout Complete
|
||||||
player:logout();
|
player:Logout();
|
||||||
player:EndCommand();
|
player:EndCommand();
|
||||||
elseif (arg2 == 2) then --Cancel Pressed
|
elseif (arg2 == 2) then --Cancel Pressed
|
||||||
player:EndCommand();
|
player:EndCommand();
|
||||||
|
@ -6,18 +6,18 @@ function onBeginLogin(player)
|
|||||||
if (player:GetPlayTime(false) == 0) then
|
if (player:GetPlayTime(false) == 0) then
|
||||||
initialTown = player:GetInitialTown();
|
initialTown = player:GetInitialTown();
|
||||||
|
|
||||||
if (initialTown == 1 and player:hasQuest(110001) == false) then
|
if (initialTown == 1 and player:HasQuest(110001) == false) then
|
||||||
player:AddQuest(110001);
|
player:AddQuest(110001);
|
||||||
elseif (initialTown == 2 and player:hasQuest(110005) == false) then
|
elseif (initialTown == 2 and player:HasQuest(110005) == false) then
|
||||||
player:AddQuest(110005);
|
player:AddQuest(110005);
|
||||||
elseif (initialTown == 3 and player:hasQuest(110009) == false) then
|
elseif (initialTown == 3 and player:HasQuest(110009) == false) then
|
||||||
player:AddQuest(110009);
|
player:AddQuest(110009);
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
--For Opening. Set Director and reset position incase d/c
|
--For Opening. Set Director and reset position incase d/c
|
||||||
if (player:hasQuest(110001) == true) then
|
if (player:HasQuest(110001) == true) then
|
||||||
--player:SetDirector("openingDirector", false);
|
--player:SetDirector("openingDirector", false);
|
||||||
player.positionX = 0.016;
|
player.positionX = 0.016;
|
||||||
player.positionY = 10.35;
|
player.positionY = 10.35;
|
||||||
@ -26,7 +26,7 @@ function onBeginLogin(player)
|
|||||||
player.rotation = 0.025;
|
player.rotation = 0.025;
|
||||||
player:GetQuest(110001):ClearQuestData();
|
player:GetQuest(110001):ClearQuestData();
|
||||||
player:GetQuest(110001):ClearQuestFlags();
|
player:GetQuest(110001):ClearQuestFlags();
|
||||||
elseif (player:hasQuest(110005) == true) then
|
elseif (player:HasQuest(110005) == true) then
|
||||||
player:SetDirector("openingDirector", false);
|
player:SetDirector("openingDirector", false);
|
||||||
player.positionX = 369.5434;
|
player.positionX = 369.5434;
|
||||||
player.positionY = 4.21;
|
player.positionY = 4.21;
|
||||||
@ -34,7 +34,7 @@ function onBeginLogin(player)
|
|||||||
player.rotation = -1.26721;
|
player.rotation = -1.26721;
|
||||||
player:GetQuest(110005):ClearQuestData();
|
player:GetQuest(110005):ClearQuestData();
|
||||||
player:GetQuest(110005):ClearQuestFlags();
|
player:GetQuest(110005):ClearQuestFlags();
|
||||||
elseif (player:hasQuest(110009) == true) then
|
elseif (player:HasQuest(110009) == true) then
|
||||||
player:SetDirector("openingDirector", false);
|
player:SetDirector("openingDirector", false);
|
||||||
player.positionX = 5.364327;
|
player.positionX = 5.364327;
|
||||||
player.positionY = 196.0;
|
player.positionY = 196.0;
|
||||||
|
Loading…
Reference in New Issue
Block a user