mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-07-21 18:15:59 +02:00
Merge branch 'proxy_server' into develop
# Conflicts: # FFXIVClassic Common Class Lib/packages.config
This commit is contained in:
commit
3864bf6d85
195 changed files with 5926 additions and 1601 deletions
|
@ -1,4 +1,4 @@
|
|||
using FFXIVClassic_Map_Server.packets;
|
||||
|
||||
using FFXIVClassic_Map_Server.actors;
|
||||
using FFXIVClassic_Map_Server.lua;
|
||||
using FFXIVClassic_Map_Server.packets.send.actor;
|
||||
|
@ -71,7 +71,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||
return SetActorSpeedPacket.BuildPacket(actorId, playerActorId);
|
||||
}
|
||||
|
||||
public SubPacket CreateSpawnPositonPacket(uint playerActorId, uint spawnType)
|
||||
public SubPacket CreateSpawnPositonPacket(uint playerActorId, ushort spawnType)
|
||||
{
|
||||
SubPacket spawnPacket;
|
||||
if (!spawnedFirstTime && playerActorId == actorId)
|
||||
|
@ -92,7 +92,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||
return spawnPacket;
|
||||
}
|
||||
|
||||
public SubPacket CreateSpawnTeleportPacket(uint playerActorId, uint spawnType)
|
||||
public SubPacket CreateSpawnTeleportPacket(uint playerActorId, ushort spawnType)
|
||||
{
|
||||
SubPacket spawnPacket;
|
||||
|
||||
|
@ -224,7 +224,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||
return GetSpawnPackets(playerActorId, 0x1);
|
||||
}
|
||||
|
||||
public virtual BasePacket GetSpawnPackets(uint playerActorId, uint spawnType)
|
||||
public virtual BasePacket GetSpawnPackets(uint playerActorId, ushort spawnType)
|
||||
{
|
||||
List<SubPacket> subpackets = new List<SubPacket>();
|
||||
subpackets.Add(CreateAddActorPacket(playerActorId, 8));
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
using FFXIVClassic_Map_Server;
|
||||
using FFXIVClassic.Common;
|
||||
using FFXIVClassic_Map_Server.packets;
|
||||
|
||||
using FFXIVClassic_Map_Server.actors.area;
|
||||
using FFXIVClassic_Map_Server.actors.chara.npc;
|
||||
using FFXIVClassic_Map_Server.dataobjects;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using FFXIVClassic_Map_Server.packets;
|
||||
|
||||
using FFXIVClassic.Common;
|
||||
using FFXIVClassic_Map_Server.Actors;
|
||||
using FFXIVClassic_Map_Server.lua;
|
||||
using FFXIVClassic_Map_Server.packets.send.actor;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
using FFXIVClassic_Map_Server;
|
||||
using FFXIVClassic.Common;
|
||||
using FFXIVClassic_Map_Server.packets;
|
||||
|
||||
using FFXIVClassic_Map_Server.actors.chara.npc;
|
||||
using FFXIVClassic_Map_Server.Actors;
|
||||
using FFXIVClassic_Map_Server.lua;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using FFXIVClassic_Map_Server.packets;
|
||||
|
||||
using FFXIVClassic.Common;
|
||||
using FFXIVClassic_Map_Server.Actors.Chara;
|
||||
using FFXIVClassic_Map_Server.packets.send.actor;
|
||||
|
||||
|
@ -35,6 +36,8 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||
public const int L_INDEXFINGER = 26;
|
||||
public const int UNKNOWN = 27;
|
||||
|
||||
public bool isStatic = false;
|
||||
|
||||
public uint modelId;
|
||||
public uint[] appearanceIds = new uint[28];
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ using FFXIVClassic_Map_Server.actors.chara.npc;
|
|||
using FFXIVClassic_Map_Server.Actors.Chara;
|
||||
using FFXIVClassic_Map_Server.dataobjects;
|
||||
using FFXIVClassic_Map_Server.lua;
|
||||
using FFXIVClassic_Map_Server.packets;
|
||||
|
||||
using FFXIVClassic_Map_Server.packets.receive.events;
|
||||
using FFXIVClassic_Map_Server.packets.send.actor;
|
||||
using FFXIVClassic_Map_Server.utils;
|
||||
|
@ -86,13 +86,17 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||
List<LuaParam> lParams;
|
||||
|
||||
Player player = Server.GetWorldManager().GetPCInWorld(playerActorId);
|
||||
lParams = DoActorInit(player);
|
||||
lParams = DoActorInit(player);
|
||||
|
||||
if (lParams != null && lParams.Count >= 3 && lParams[2].typeID == 0 && (int)lParams[2].value == 0)
|
||||
isStatic = true;
|
||||
|
||||
if (lParams == null)
|
||||
{
|
||||
string classPathFake = "/Chara/Npc/Populace/PopulaceStandard";
|
||||
string classNameFake = "PopulaceStandard";
|
||||
lParams = LuaUtils.CreateLuaParamList(classPathFake, false, false, false, false, false, 0xF47F6, false, false, 0, 0);
|
||||
isStatic = true;
|
||||
//ActorInstantiatePacket.BuildPacket(actorId, playerActorId, actorName, classNameFake, lParams).DebugPrintSubPacket();
|
||||
return ActorInstantiatePacket.BuildPacket(actorId, playerActorId, actorName, classNameFake, lParams);
|
||||
}
|
||||
|
@ -111,7 +115,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||
return ActorInstantiatePacket.BuildPacket(actorId, playerActorId, actorName, className, lParams);
|
||||
}
|
||||
|
||||
public override BasePacket GetSpawnPackets(uint playerActorId, uint spawnType)
|
||||
public override BasePacket GetSpawnPackets(uint playerActorId, ushort spawnType)
|
||||
{
|
||||
List<SubPacket> subpackets = new List<SubPacket>();
|
||||
subpackets.Add(CreateAddActorPacket(playerActorId));
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
using FFXIVClassic_Map_Server.Actors;
|
||||
using FFXIVClassic_Map_Server.dataobjects;
|
||||
using FFXIVClassic_Map_Server.packets.send.actor.inventory;
|
||||
using FFXIVClassic_Map_Server.packets.send.Actor.inventory;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace FFXIVClassic_Map_Server.actors.chara.player
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
using FFXIVClassic_Map_Server.packets;
|
||||
|
||||
using FFXIVClassic.Common;
|
||||
using FFXIVClassic_Map_Server.Actors;
|
||||
using FFXIVClassic_Map_Server.dataobjects;
|
||||
using FFXIVClassic_Map_Server.packets.send.actor.inventory;
|
||||
using FFXIVClassic_Map_Server.packets.send.Actor.inventory;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
using FFXIVClassic.Common;
|
||||
using FFXIVClassic_Map_Server.packets;
|
||||
|
||||
using FFXIVClassic_Map_Server.actors.chara.player;
|
||||
using FFXIVClassic_Map_Server.actors.director;
|
||||
using FFXIVClassic_Map_Server.dataobjects;
|
||||
|
@ -7,8 +7,6 @@ using FFXIVClassic_Map_Server.dataobjects.chara;
|
|||
using FFXIVClassic_Map_Server.lua;
|
||||
using FFXIVClassic_Map_Server.packets.send;
|
||||
using FFXIVClassic_Map_Server.packets.send.actor;
|
||||
using FFXIVClassic_Map_Server.packets.send.actor.events;
|
||||
using FFXIVClassic_Map_Server.packets.send.Actor.inventory;
|
||||
using FFXIVClassic_Map_Server.packets.send.events;
|
||||
using FFXIVClassic_Map_Server.packets.send.list;
|
||||
using FFXIVClassic_Map_Server.packets.send.player;
|
||||
|
@ -17,7 +15,8 @@ using System;
|
|||
using System.Collections.Generic;
|
||||
using MoonSharp.Interpreter;
|
||||
using FFXIVClassic_Map_Server.packets.receive.events;
|
||||
|
||||
using FFXIVClassic_Map_Server.packets.send.actor.inventory;
|
||||
|
||||
namespace FFXIVClassic_Map_Server.Actors
|
||||
{
|
||||
class Player : Character
|
||||
|
@ -84,7 +83,9 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||
|
||||
public Coroutine currentEventRunning;
|
||||
|
||||
//Player Info
|
||||
//Player Info
|
||||
public uint destinationZone;
|
||||
public ushort destinationSpawnType;
|
||||
public uint[] timers = new uint[20];
|
||||
public ushort currentJob;
|
||||
public uint currentTitle;
|
||||
|
@ -124,9 +125,9 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||
|
||||
public PlayerWork playerWork = new PlayerWork();
|
||||
|
||||
public ConnectedPlayer playerSession;
|
||||
public Session playerSession;
|
||||
|
||||
public Player(ConnectedPlayer cp, uint actorID) : base(actorID)
|
||||
public Player(Session cp, uint actorID) : base(actorID)
|
||||
{
|
||||
playerSession = cp;
|
||||
actorName = String.Format("_pc{0:00000000}", actorID);
|
||||
|
@ -258,9 +259,9 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||
else
|
||||
lParams = LuaUtils.CreateLuaParamList("/Chara/Player/Player_work", false, false, false, false, false, true);
|
||||
return ActorInstantiatePacket.BuildPacket(actorId, playerActorId, actorName, className, lParams);
|
||||
}
|
||||
|
||||
public override BasePacket GetSpawnPackets(uint playerActorId, uint spawnType)
|
||||
}
|
||||
|
||||
public override BasePacket GetSpawnPackets(uint playerActorId, ushort spawnType)
|
||||
{
|
||||
List<SubPacket> subpackets = new List<SubPacket>();
|
||||
subpackets.Add(CreateAddActorPacket(playerActorId, 8));
|
||||
|
@ -481,7 +482,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||
QueuePacket(SetMapPacket.BuildPacket(actorId, zone.regionId, zone.actorId));
|
||||
|
||||
QueuePacket(GetSpawnPackets(actorId, spawnType));
|
||||
GetSpawnPackets(actorId, spawnType).DebugPrintPacket();
|
||||
//GetSpawnPackets(actorId, spawnType).DebugPrintPacket();
|
||||
|
||||
#region grouptest
|
||||
//Retainers
|
||||
|
@ -653,16 +654,39 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||
}
|
||||
|
||||
public void CleanupAndSave()
|
||||
{
|
||||
{
|
||||
playerSession.LockUpdates(true);
|
||||
|
||||
//Remove actor from zone and main server list
|
||||
zone.RemoveActorFromZone(this);
|
||||
Server.GetServer().RemovePlayer(this);
|
||||
|
||||
//Set Destination to 0
|
||||
this.destinationZone = 0;
|
||||
this.destinationSpawnType = 0;
|
||||
|
||||
//Save Player
|
||||
Database.SavePlayerPlayTime(this);
|
||||
Database.SavePlayerPosition(this);
|
||||
|
||||
Program.Log.Info("{0} has been logged out and saved.", this.customDisplayName);
|
||||
}
|
||||
|
||||
public void CleanupAndSave(uint destinationZone, ushort spawnType, float destinationX, float destinationY, float destinationZ, float destinationRot)
|
||||
{
|
||||
playerSession.LockUpdates(true);
|
||||
|
||||
//Remove actor from zone and main server list
|
||||
zone.RemoveActorFromZone(this);
|
||||
|
||||
//Set destination
|
||||
this.destinationZone = destinationZone;
|
||||
this.destinationSpawnType = spawnType;
|
||||
this.positionX = destinationX;
|
||||
this.positionY = destinationY;
|
||||
this.positionZ = destinationZ;
|
||||
this.rotation = destinationRot;
|
||||
|
||||
//Save Player
|
||||
Database.SavePlayerPlayTime(this);
|
||||
Database.SavePlayerPosition(this);
|
||||
}
|
||||
|
||||
public Area GetZone()
|
||||
|
@ -730,8 +754,8 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||
}
|
||||
|
||||
public void SendGameMessage(Actor sourceActor, Actor textIdOwner, ushort textId, byte log, params object[] msgParams)
|
||||
{
|
||||
if (msgParams.Length == 0)
|
||||
{
|
||||
if (msgParams == null || msgParams.Length == 0)
|
||||
{
|
||||
QueuePacket(GameMessagePacket.BuildPacket(Server.GetWorldManager().GetActor().actorId, actorId, sourceActor.actorId, textIdOwner.actorId, textId, log));
|
||||
}
|
||||
|
@ -740,24 +764,24 @@ namespace FFXIVClassic_Map_Server.Actors
|
|||
}
|
||||
|
||||
public void SendGameMessage(Actor textIdOwner, ushort textId, byte log, params object[] msgParams)
|
||||
{
|
||||
if (msgParams.Length == 0)
|
||||
{
|
||||
if (msgParams == null || msgParams.Length == 0)
|
||||
QueuePacket(GameMessagePacket.BuildPacket(Server.GetWorldManager().GetActor().actorId, actorId, textIdOwner.actorId, textId, log));
|
||||
else
|
||||
QueuePacket(GameMessagePacket.BuildPacket(Server.GetWorldManager().GetActor().actorId, actorId, textIdOwner.actorId, textId, log, LuaUtils.CreateLuaParamList(msgParams)));
|
||||
}
|
||||
|
||||
public void SendGameMessage(Actor textIdOwner, ushort textId, byte log, string customSender, params object[] msgParams)
|
||||
{
|
||||
if (msgParams.Length == 0)
|
||||
{
|
||||
if (msgParams == null || msgParams.Length == 0)
|
||||
QueuePacket(GameMessagePacket.BuildPacket(Server.GetWorldManager().GetActor().actorId, actorId, textIdOwner.actorId, textId, customSender, log));
|
||||
else
|
||||
QueuePacket(GameMessagePacket.BuildPacket(Server.GetWorldManager().GetActor().actorId, actorId, textIdOwner.actorId, textId, customSender, log, LuaUtils.CreateLuaParamList(msgParams)));
|
||||
}
|
||||
|
||||
public void SendGameMessage(Actor textIdOwner, ushort textId, byte log, uint displayId, params object[] msgParams)
|
||||
{
|
||||
if (msgParams.Length == 0)
|
||||
{
|
||||
if (msgParams == null || msgParams.Length == 0)
|
||||
QueuePacket(GameMessagePacket.BuildPacket(Server.GetWorldManager().GetActor().actorId, actorId, textIdOwner.actorId, textId, displayId, log));
|
||||
else
|
||||
QueuePacket(GameMessagePacket.BuildPacket(Server.GetWorldManager().GetActor().actorId, actorId, textIdOwner.actorId, textId, displayId, log, LuaUtils.CreateLuaParamList(msgParams)));
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
using FFXIVClassic_Map_Server.packets;
|
||||
using FFXIVClassic.Common;
|
||||
using FFXIVClassic_Map_Server.lua;
|
||||
using FFXIVClassic_Map_Server.packets.send.actor;
|
||||
using System.Collections.Generic;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using FFXIVClassic_Map_Server.packets;
|
||||
|
||||
using FFXIVClassic.Common;
|
||||
using FFXIVClassic_Map_Server.Actors;
|
||||
using FFXIVClassic_Map_Server.lua;
|
||||
using FFXIVClassic_Map_Server.packets.send.actor;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using FFXIVClassic_Map_Server.packets;
|
||||
|
||||
using FFXIVClassic.Common;
|
||||
using FFXIVClassic_Map_Server.Actors;
|
||||
using FFXIVClassic_Map_Server.lua;
|
||||
using FFXIVClassic_Map_Server.packets.send.actor;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using FFXIVClassic_Map_Server.packets;
|
||||
|
||||
using FFXIVClassic.Common;
|
||||
using FFXIVClassic_Map_Server.actors.director;
|
||||
using FFXIVClassic_Map_Server.lua;
|
||||
using FFXIVClassic_Map_Server.packets.send.actor;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using FFXIVClassic_Map_Server.packets;
|
||||
|
||||
using FFXIVClassic.Common;
|
||||
using FFXIVClassic_Map_Server.Actors;
|
||||
using FFXIVClassic_Map_Server.lua;
|
||||
using FFXIVClassic_Map_Server.packets.send.actor;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using FFXIVClassic_Map_Server.packets;
|
||||
|
||||
using FFXIVClassic.Common;
|
||||
using FFXIVClassic_Map_Server.Actors;
|
||||
using FFXIVClassic_Map_Server.lua;
|
||||
using FFXIVClassic_Map_Server.packets.send.actor;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using FFXIVClassic_Map_Server.packets;
|
||||
|
||||
using FFXIVClassic.Common;
|
||||
using FFXIVClassic_Map_Server.Actors;
|
||||
using FFXIVClassic_Map_Server.lua;
|
||||
using FFXIVClassic_Map_Server.packets.send.actor;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using FFXIVClassic_Map_Server.packets;
|
||||
|
||||
using FFXIVClassic.Common;
|
||||
using FFXIVClassic_Map_Server.lua;
|
||||
using FFXIVClassic_Map_Server.packets.send.actor;
|
||||
using System.Collections.Generic;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue