mirror of
				https://bitbucket.org/Ioncannon/project-meteor-server.git
				synced 2025-05-20 08:26:59 -04:00 
			
		
		
		
	Fixed bug with old "findActor" code since private areas were added. Add scripts for npcs in echo during limsa opening.
This commit is contained in:
		| @@ -581,7 +581,7 @@ namespace FFXIVClassic_Map_Server | |||||||
|             newArea.AddActorToZone(player); |             newArea.AddActorToZone(player); | ||||||
|  |  | ||||||
|             //Update player actor's properties |             //Update player actor's properties | ||||||
|             player.zoneId = newArea.actorId; |             player.zoneId = newArea is PrivateArea ? ((PrivateArea)newArea).GetParentZone().actorId : newArea.actorId; | ||||||
|  |  | ||||||
|             player.privateArea = newArea is PrivateArea ? ((PrivateArea)newArea).GetPrivateAreaName() : null; |             player.privateArea = newArea is PrivateArea ? ((PrivateArea)newArea).GetPrivateAreaName() : null; | ||||||
|             player.privateAreaType = newArea is PrivateArea ? ((PrivateArea)newArea).GetPrivateAreaType() : 0; |             player.privateAreaType = newArea is PrivateArea ? ((PrivateArea)newArea).GetPrivateAreaType() : 0; | ||||||
| @@ -649,16 +649,20 @@ namespace FFXIVClassic_Map_Server | |||||||
|         public void DoZoneIn(Player player, bool isLogin, ushort spawnType) |         public void DoZoneIn(Player player, bool isLogin, ushort spawnType) | ||||||
|         { |         { | ||||||
|             //Add player to new zone and update |             //Add player to new zone and update | ||||||
|             Zone zone = GetZone(player.zoneId); |             Area playerArea; | ||||||
|  |             if (player.privateArea != null) | ||||||
|  |                 playerArea = GetPrivateArea(player.zoneId, player.privateArea, player.privateAreaType); | ||||||
|  |             else | ||||||
|  |                 playerArea = GetZone(player.zoneId); | ||||||
|  |  | ||||||
|             //This server does not contain that zoneId |             //This server does not contain that zoneId | ||||||
|             if (zone == null) |             if (playerArea == null) | ||||||
|                 return; |                 return; | ||||||
|  |  | ||||||
|             //Set the current zone and add player |             //Set the current zone and add player | ||||||
|             player.zone = zone; |             player.zone = playerArea; | ||||||
|  |  | ||||||
|             zone.AddActorToZone(player); |             playerArea.AddActorToZone(player); | ||||||
|              |              | ||||||
|             //Send packets             |             //Send packets             | ||||||
|             if (!isLogin) |             if (!isLogin) | ||||||
| @@ -833,13 +837,18 @@ namespace FFXIVClassic_Map_Server | |||||||
|  |  | ||||||
|         public Player GetPCInWorld(string name) |         public Player GetPCInWorld(string name) | ||||||
|         { |         { | ||||||
|             foreach (Zone zone in zoneList.Values) |             if (Server.GetServer().GetSession(name) != null) | ||||||
|             {  |                 return Server.GetServer().GetSession(name).GetActor(); | ||||||
|                 Player p = zone.FindPCInZone(name); |             else | ||||||
|                 if (p != null) |                 return null; | ||||||
|                     return p; |         } | ||||||
|             } |  | ||||||
|             return null; |         public Player GetPCInWorld(uint charId) | ||||||
|  |         { | ||||||
|  |             if (Server.GetServer().GetSession(charId) != null) | ||||||
|  |                 return Server.GetServer().GetSession(charId).GetActor(); | ||||||
|  |             else | ||||||
|  |                 return null; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         public Actor GetActorInWorld(uint charId) |         public Actor GetActorInWorld(uint charId) | ||||||
| @@ -864,17 +873,6 @@ namespace FFXIVClassic_Map_Server | |||||||
|             return null; |             return null; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         public Player GetPCInWorld(uint charId) |  | ||||||
|         { |  | ||||||
|             foreach (Zone zone in zoneList.Values) |  | ||||||
|             { |  | ||||||
|                 Player p = zone.FindPCInZone(charId); |  | ||||||
|                 if (p != null) |  | ||||||
|                     return p; |  | ||||||
|             } |  | ||||||
|             return null; |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         public Zone GetZone(uint zoneId) |         public Zone GetZone(uint zoneId) | ||||||
|         { |         { | ||||||
|             if (!zoneList.ContainsKey(zoneId)) |             if (!zoneList.ContainsKey(zoneId)) | ||||||
|   | |||||||
| @@ -627,6 +627,13 @@ namespace FFXIVClassic_Map_Server.Actors | |||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         public void ChangeAnimation(uint animId) | ||||||
|  |         { | ||||||
|  |             Actor a = zone.FindActorInZone(currentTarget); | ||||||
|  |             if (a is Npc) | ||||||
|  |                 ((Npc)a).animationId = animId; | ||||||
|  |         } | ||||||
|  |  | ||||||
|         public void SetDCFlag(bool flag) |         public void SetDCFlag(bool flag) | ||||||
|         { |         { | ||||||
|             if (flag) |             if (flag) | ||||||
|   | |||||||
| @@ -190,7 +190,8 @@ | |||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> |   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> | ||||||
|   <PropertyGroup> |   <PropertyGroup> | ||||||
|     <PostBuildEvent>xcopy "$(SolutionDir)data\world_config.ini" "$(SolutionDir)$(ProjectName)\$(OutDir)" /d</PostBuildEvent> |     <PostBuildEvent> | ||||||
|  |     </PostBuildEvent> | ||||||
|   </PropertyGroup> |   </PropertyGroup> | ||||||
|   <!-- To modify your build process, add your task inside one of the targets below and uncomment it.  |   <!-- To modify your build process, add your task inside one of the targets below and uncomment it.  | ||||||
|        Other similar extension points exist, see Microsoft.Common.targets. |        Other similar extension points exist, see Microsoft.Common.targets. | ||||||
|   | |||||||
| @@ -0,0 +1,13 @@ | |||||||
|  | require ("global") | ||||||
|  |  | ||||||
|  | function onEventStarted(player, npc, triggerName) | ||||||
|  | 	man0l1Quest = player:GetQuest("Man0l1"); | ||||||
|  | 	 | ||||||
|  | 	if (man0l1Quest ~= nil) then	 | ||||||
|  | 		if (triggerName == "talkDefault") then | ||||||
|  | 			callClientFunction(player, "delegateEvent", player, man0l1Quest, "processEvent010_2");		 | ||||||
|  | 			player:EndEvent(); | ||||||
|  | 		end		 | ||||||
|  | 	end | ||||||
|  |  | ||||||
|  | end | ||||||
| @@ -0,0 +1,13 @@ | |||||||
|  | require ("global") | ||||||
|  |  | ||||||
|  | function onEventStarted(player, npc, triggerName) | ||||||
|  | 	man0l1Quest = player:GetQuest("Man0l1"); | ||||||
|  | 	 | ||||||
|  | 	if (man0l1Quest ~= nil) then	 | ||||||
|  | 		if (triggerName == "talkDefault") then | ||||||
|  | 			callClientFunction(player, "delegateEvent", player, man0l1Quest, "processEvent010_5");		 | ||||||
|  | 			player:EndEvent(); | ||||||
|  | 		end		 | ||||||
|  | 	end | ||||||
|  |  | ||||||
|  | end | ||||||
| @@ -0,0 +1,13 @@ | |||||||
|  | require ("global") | ||||||
|  |  | ||||||
|  | function onEventStarted(player, npc, triggerName) | ||||||
|  | 	man0l1Quest = player:GetQuest("Man0l1"); | ||||||
|  | 	 | ||||||
|  | 	if (man0l1Quest ~= nil) then	 | ||||||
|  | 		if (triggerName == "talkDefault") then | ||||||
|  | 			callClientFunction(player, "delegateEvent", player, man0l1Quest, "processEvent010_4");		 | ||||||
|  | 			player:EndEvent(); | ||||||
|  | 		end		 | ||||||
|  | 	end | ||||||
|  |  | ||||||
|  | end | ||||||
| @@ -4,7 +4,7 @@ function onSpawn(player, npc) | |||||||
| 	man0l1Quest = player:GetQuest("Man0l1");	 | 	man0l1Quest = player:GetQuest("Man0l1");	 | ||||||
| 	 | 	 | ||||||
| 	if (man0l1Quest ~= nil) then		 | 	if (man0l1Quest ~= nil) then		 | ||||||
| 		npc:SetQuestGraphic(player, 0x2); | 		npc:SetQuestGraphic(player, 0x3); | ||||||
| 	end | 	end | ||||||
| end | end | ||||||
|  |  | ||||||
|   | |||||||
| @@ -0,0 +1,13 @@ | |||||||
|  | require ("global") | ||||||
|  |  | ||||||
|  | function onEventStarted(player, npc, triggerName) | ||||||
|  | 	man0l1Quest = player:GetQuest("Man0l1"); | ||||||
|  | 	 | ||||||
|  | 	if (man0l1Quest ~= nil) then	 | ||||||
|  | 		if (triggerName == "talkDefault") then | ||||||
|  | 			callClientFunction(player, "delegateEvent", player, man0l1Quest, "processEvent010_7");		 | ||||||
|  | 			player:EndEvent(); | ||||||
|  | 		end		 | ||||||
|  | 	end | ||||||
|  |  | ||||||
|  | end | ||||||
| @@ -0,0 +1,13 @@ | |||||||
|  | require ("global") | ||||||
|  |  | ||||||
|  | function onEventStarted(player, npc, triggerName) | ||||||
|  | 	man0l1Quest = player:GetQuest("Man0l1"); | ||||||
|  | 	 | ||||||
|  | 	if (man0l1Quest ~= nil) then	 | ||||||
|  | 		if (triggerName == "talkDefault") then | ||||||
|  | 			callClientFunction(player, "delegateEvent", player, man0l1Quest, "processEvent010_6");		 | ||||||
|  | 			player:EndEvent(); | ||||||
|  | 		end		 | ||||||
|  | 	end | ||||||
|  |  | ||||||
|  | end | ||||||
| @@ -0,0 +1,13 @@ | |||||||
|  | require ("global") | ||||||
|  |  | ||||||
|  | function onEventStarted(player, npc, triggerName) | ||||||
|  | 	man0l1Quest = player:GetQuest("Man0l1"); | ||||||
|  | 	 | ||||||
|  | 	if (man0l1Quest ~= nil) then	 | ||||||
|  | 		if (triggerName == "talkDefault") then | ||||||
|  | 			callClientFunction(player, "delegateEvent", player, man0l1Quest, "processEvent010_7");		 | ||||||
|  | 			player:EndEvent(); | ||||||
|  | 		end		 | ||||||
|  | 	end | ||||||
|  |  | ||||||
|  | end | ||||||
| @@ -0,0 +1,13 @@ | |||||||
|  | require ("global") | ||||||
|  |  | ||||||
|  | function onEventStarted(player, npc, triggerName) | ||||||
|  | 	man0l1Quest = player:GetQuest("Man0l1"); | ||||||
|  | 	 | ||||||
|  | 	if (man0l1Quest ~= nil) then	 | ||||||
|  | 		if (triggerName == "talkDefault") then | ||||||
|  | 			callClientFunction(player, "delegateEvent", player, man0l1Quest, "processEvent010_3");		 | ||||||
|  | 			player:EndEvent(); | ||||||
|  | 		end		 | ||||||
|  | 	end | ||||||
|  |  | ||||||
|  | end | ||||||
| @@ -0,0 +1,13 @@ | |||||||
|  | require ("global") | ||||||
|  |  | ||||||
|  | function onEventStarted(player, npc, triggerName) | ||||||
|  | 	man0l1Quest = player:GetQuest("Man0l1"); | ||||||
|  | 	 | ||||||
|  | 	if (man0l1Quest ~= nil) then	 | ||||||
|  | 		if (triggerName == "talkDefault") then | ||||||
|  | 			callClientFunction(player, "delegateEvent", player, man0l1Quest, "processEvent010_8");		 | ||||||
|  | 			player:EndEvent(); | ||||||
|  | 		end		 | ||||||
|  | 	end | ||||||
|  |  | ||||||
|  | end | ||||||
| @@ -0,0 +1,12 @@ | |||||||
|  | function init(npc) | ||||||
|  | 	return false, false, 0, 0;	 | ||||||
|  | end | ||||||
|  |  | ||||||
|  | function onEventStarted(player, npc, triggerName) | ||||||
|  | 	if (triggerName == "caution") then | ||||||
|  | 		worldMaster = GetWorldMaster(); | ||||||
|  | 		player:SendGameMessage(player, worldMaster, 34109, 0x20); | ||||||
|  | 	elseif (triggerName == "exit") then		 | ||||||
|  | 	end | ||||||
|  | 	player:EndEvent(); | ||||||
|  | end | ||||||
		Reference in New Issue
	
	Block a user