# 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:
Tahir Akhlaq 2016-06-18 05:59:42 +01:00
commit 37d91480f9
24 changed files with 185 additions and 138 deletions

View File

@ -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>

View File

@ -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;
} }
} }

View File

@ -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...");

View File

@ -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();

View File

@ -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;
} }
} }

View File

@ -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)))

View File

@ -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);

View File

@ -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")

View File

@ -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);
} }

View File

@ -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;

View File

@ -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++)

View File

@ -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=

View File

@ -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=

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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();

View File

@ -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();

View File

@ -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();

View File

@ -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;

View File

@ -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

View File

@ -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();

View File

@ -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;