mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-05-20 08:26:59 -04:00
Removed NLua and replaced it with MoonSharp. Scripting for NPCs has been implemented, but still have to test a lot.
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
using FFXIVClassic_Lobby_Server.common;
|
||||
using FFXIVClassic_Lobby_Server.packets;
|
||||
using FFXIVClassic_Map_Server.actors;
|
||||
using FFXIVClassic_Map_Server.dataobjects;
|
||||
using FFXIVClassic_Map_Server.lua;
|
||||
using FFXIVClassic_Map_Server.packets.send.actor;
|
||||
using FFXIVClassic_Map_Server.utils;
|
||||
@@ -43,7 +44,15 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
|
||||
public override SubPacket createScriptBindPacket(uint playerActorId)
|
||||
{
|
||||
List<LuaParam> lParams = LuaUtils.createLuaParamList("/Chara/Npc/Populace/PopulaceStandard", false, false, false, false, false, 0xF47F6, false, false, 0, 1, "TEST");
|
||||
List<LuaParam> lParams;
|
||||
|
||||
LuaEngine lua = Server.getServer().GetLuaEngine();
|
||||
Player player = Server.getServer().GetWorldManager().GetPCInWorld(playerActorId);
|
||||
lParams = lua.doActorOnInstantiate(player, this);
|
||||
|
||||
if (lParams == null)
|
||||
lParams = LuaUtils.createLuaParamList("/Chara/Npc/Populace/PopulaceStandard", false, false, false, false, false, 0xF47F6, false, false, 0, 1, "TEST");
|
||||
|
||||
return ActorInstantiatePacket.buildPacket(actorId, playerActorId, actorName, className, lParams);
|
||||
}
|
||||
|
||||
|
@@ -7,6 +7,7 @@ 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.inventory;
|
||||
using FFXIVClassic_Map_Server.packets.send.events;
|
||||
using FFXIVClassic_Map_Server.packets.send.list;
|
||||
using FFXIVClassic_Map_Server.packets.send.login;
|
||||
using FFXIVClassic_Map_Server.packets.send.player;
|
||||
@@ -588,5 +589,43 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
}
|
||||
}
|
||||
|
||||
public void queuePacket(BasePacket packet)
|
||||
{
|
||||
playerSession.queuePacket(packet);
|
||||
}
|
||||
|
||||
public void queuePacket(SubPacket packet)
|
||||
{
|
||||
playerSession.queuePacket(packet, true, false);
|
||||
}
|
||||
|
||||
public void sendMessage(uint logType, string sender, string message)
|
||||
{
|
||||
queuePacket(SendMessagePacket.buildPacket(actorId, actorId, logType, sender, message));
|
||||
}
|
||||
|
||||
public void logout()
|
||||
{
|
||||
queuePacket(LogoutPacket.buildPacket(actorId));
|
||||
}
|
||||
|
||||
public void quitGame()
|
||||
{
|
||||
queuePacket(QuitPacket.buildPacket(actorId));
|
||||
}
|
||||
|
||||
public void runEventFunction(string functionName, params object[] parameters)
|
||||
{
|
||||
List<LuaParam> lParams = LuaUtils.createLuaParamList(parameters);
|
||||
queuePacket(RunEventFunctionPacket.buildPacket(actorId, playerSession.eventCurrentOwner, playerSession.eventCurrentStarter, functionName, lParams));
|
||||
}
|
||||
|
||||
public void endEvent()
|
||||
{
|
||||
SubPacket p = EndEventPacket.buildPacket(actorId, playerSession.eventCurrentOwner, playerSession.eventCurrentStarter);
|
||||
p.debugPrintSubPacket();
|
||||
queuePacket(p);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user