Removed spawn locations warping. Fixed event packet str len. Fixed some scripts. Fixed doors not working.

This commit is contained in:
Filip Maj 2022-02-05 09:55:18 -05:00
parent ff074c8394
commit 3ad30460d8
7 changed files with 32 additions and 111 deletions

View file

@ -38,6 +38,7 @@ using System.Threading;
using Meteor.Map.actors.chara.ai;
using Meteor.Map.actors.chara.ai.controllers;
using Meteor.Map.DataObjects;
using Meteor.Map.actors.chara.player;
namespace Meteor.Map.lua
{
@ -64,17 +65,23 @@ namespace Meteor.Map.lua
luaTimer = new Timer(new TimerCallback(PulseSleepingOnTime),
null, TimeSpan.Zero, TimeSpan.FromMilliseconds(50));
UserData.RegistrationPolicy = InteropRegistrationPolicy.Automatic;
/*
UserData.RegisterType<LuaEngine>();
UserData.RegisterType<Player>();
UserData.RegisterType<Command>();
UserData.RegisterType<Npc>();
UserData.RegisterType<Quest>();
UserData.RegisterType<Zone>();
UserData.RegisterType<InventoryItem>();
UserData.RegisterType<ItemPackage>();
UserData.RegisterType<PrivateArea>();
UserData.RegisterType<PrivateAreaContent>();
UserData.RegisterType<Director>();
UserData.RegisterType<WorldManager>();
UserData.RegisterType<WorldMaster>();
*/
}
public static LuaEngine GetInstance()
@ -425,18 +432,20 @@ namespace Meteor.Map.lua
Area area = target.zone;
if (area is PrivateArea)
{
if (File.Exists(String.Format($"{ConfigConstants.OPTIONS_SCRIPTPATH}/unique/{0}/privatearea/{1}_{2}/{3}/{4}.lua", area.zoneName, ((PrivateArea)area).GetPrivateAreaName(), ((PrivateArea)area).GetPrivateAreaType(), target.className, target.GetUniqueId())))
child = LuaEngine.LoadScript(String.Format($"{ConfigConstants.OPTIONS_SCRIPTPATH}/unique/{0}/privatearea/{1}_{2}/{3}/{4}.lua", area.zoneName, ((PrivateArea)area).GetPrivateAreaName(), ((PrivateArea)area).GetPrivateAreaType(), target.className, target.GetUniqueId()), ref errorMsg);
string path = $"{ConfigConstants.OPTIONS_SCRIPTPATH}/unique/{area.zoneName}/privatearea/{((PrivateArea)area).GetPrivateAreaName()}_{((PrivateArea)area).GetPrivateAreaType()}/{target.className}/{target.GetUniqueId()}.lua";
if (File.Exists(path))
child = LuaEngine.LoadScript(path, ref errorMsg);
}
else
{
if (File.Exists(String.Format($"{ConfigConstants.OPTIONS_SCRIPTPATH}/unique/{0}/{1}/{2}.lua", area.zoneName, target.className, target.GetUniqueId())))
child = LuaEngine.LoadScript(String.Format($"{ConfigConstants.OPTIONS_SCRIPTPATH}/unique/{0}/{1}/{2}.lua", area.zoneName, target.className, target.GetUniqueId()), ref errorMsg);
string path = $"{ConfigConstants.OPTIONS_SCRIPTPATH}/unique/{area.zoneName}/{target.className}/{target.GetUniqueId()}.lua";
if (File.Exists(path))
child = LuaEngine.LoadScript(path, ref errorMsg);
}
if (parent == null && child == null)
{
LuaEngine.SendError(player, String.Format("ERROR: Could not find script for actor {0}.", target.GetName()));
LuaEngine.SendError(player, $"ERROR: Could not find script for actor {target.GetName()}.");
}
//Run Script