mirror of
				https://bitbucket.org/Ioncannon/project-meteor-server.git
				synced 2025-05-20 08:26:59 -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:
		| @@ -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; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user