Fix resource loading, add player died notification
This commit is contained in:
@ -102,6 +102,7 @@ namespace RageCoop.Client
|
||||
#endif
|
||||
public static Ped P;
|
||||
public static float FPS;
|
||||
private bool _lastDead;
|
||||
private void OnTick(object sender, EventArgs e)
|
||||
{
|
||||
P= Game.Player.Character;
|
||||
@ -171,6 +172,7 @@ namespace RageCoop.Client
|
||||
P.Health=1;
|
||||
Game.Player.WantedLevel=0;
|
||||
Main.Logger.Debug("Player died.");
|
||||
Scripting.API.Events.InvokePlayerDied();
|
||||
}
|
||||
GTA.UI.Screen.StopEffects();
|
||||
}
|
||||
@ -181,7 +183,11 @@ namespace RageCoop.Client
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
else if (P.IsDead && !_lastDead)
|
||||
{
|
||||
Scripting.API.Events.InvokePlayerDied();
|
||||
}
|
||||
_lastDead=P.IsDead;
|
||||
Ticked++;
|
||||
}
|
||||
|
||||
|
@ -122,7 +122,7 @@ namespace RageCoop.Client
|
||||
PedID = packet.PedID,
|
||||
Username= packet.Username,
|
||||
};
|
||||
GTA.UI.Notification.Show($"{p.Username} connected.");
|
||||
GTA.UI.Notification.Show($"~h~{p.Username}~h~ connected.");
|
||||
PlayerList.SetPlayer(packet.PedID, packet.Username);
|
||||
|
||||
Main.Logger.Debug($"player connected:{p.Username}");
|
||||
@ -130,7 +130,7 @@ namespace RageCoop.Client
|
||||
private static void PlayerDisconnect(Packets.PlayerDisconnect packet)
|
||||
{
|
||||
var name = PlayerList.GetPlayer(packet.PedID).Username;
|
||||
GTA.UI.Notification.Show($"{name} left.");
|
||||
GTA.UI.Notification.Show($"~h~{name}~h~ left.");
|
||||
PlayerList.RemovePlayer(packet.PedID);
|
||||
EntityPool.RemoveAllFromPlayer(packet.PedID);
|
||||
|
||||
|
@ -16,6 +16,7 @@ namespace RageCoop.Client.Scripting
|
||||
{
|
||||
API.Events.OnPedDeleted+=(s, p) => { API.SendCustomEvent(CustomEvents.OnPedDeleted, p.ID); };
|
||||
API.Events.OnVehicleDeleted+=(s, p) => { API.SendCustomEvent(CustomEvents.OnVehicleDeleted, p.ID); };
|
||||
API.Events.OnPlayerDied+=() => { API.SendCustomEvent(CustomEvents.OnPlayerDied); };
|
||||
|
||||
API.RegisterCustomEventHandler(CustomEvents.SetAutoRespawn, SetAutoRespawn);
|
||||
API.RegisterCustomEventHandler(CustomEvents.SetDisplayNameTag, SetDisplayNameTag);
|
||||
@ -30,6 +31,7 @@ namespace RageCoop.Client.Scripting
|
||||
API.RegisterCustomEventHandler(CustomEvents.UpdatePedBlip, UpdatePedBlip);
|
||||
API.RegisterCustomEventHandler(CustomEvents.IsHost, (e) => { _isHost=(bool)e.Args[0]; });
|
||||
API.RegisterCustomEventHandler(CustomEvents.WeatherTimeSync, WeatherTimeSync);
|
||||
API.RegisterCustomEventHandler(CustomEvents.OnPlayerDied, (e) => { GTA.UI.Notification.Show($"~h~{e.Args[0]}~h~ died."); });
|
||||
Task.Run(() =>
|
||||
{
|
||||
while (true)
|
||||
|
@ -125,12 +125,13 @@ namespace RageCoop.Client
|
||||
}
|
||||
}
|
||||
// Skip update if no new sync message has arrived.
|
||||
if (!NeedUpdate) {
|
||||
if (!NeedUpdate)
|
||||
{
|
||||
if (Velocity.Length()<3)
|
||||
{
|
||||
DisplayVehicle();
|
||||
}
|
||||
return;
|
||||
return;
|
||||
}
|
||||
#endregion
|
||||
#region -- SYNC CRITICAL --
|
||||
|
@ -12,6 +12,7 @@ namespace RageCoop.Core.Scripting
|
||||
{
|
||||
static MD5 Hasher = MD5.Create();
|
||||
static Dictionary<int,string> Hashed=new Dictionary<int,string>();
|
||||
internal static readonly int OnPlayerDied = Hash("RageCoop.OnPlayerDied");
|
||||
internal static readonly int SetWeather = Hash("RageCoop.SetWeather");
|
||||
internal static readonly int OnPedDeleted = Hash("RageCoop.OnPedDeleted");
|
||||
internal static readonly int OnVehicleDeleted = Hash("RageCoop.OnVehicleDeleted");
|
||||
|
@ -37,6 +37,10 @@ namespace RageCoop.Server.Scripting
|
||||
}
|
||||
}
|
||||
});
|
||||
API.RegisterCustomEventHandler(CustomEvents.OnPlayerDied, (e) =>
|
||||
{
|
||||
API.SendCustomEventQueued(API.GetAllClients().Values.Where(x=>x!=e.Sender).ToList(),CustomEvents.OnPlayerDied,e.Sender.Username);
|
||||
});
|
||||
}
|
||||
public override void OnStop()
|
||||
{
|
||||
|
@ -64,7 +64,7 @@ namespace RageCoop.Server.Scripting
|
||||
IsDirectory=false,
|
||||
Name=relativeName
|
||||
};
|
||||
if (file.EndsWith(".dll") && !file.Contains('/') && IsManagedAssembly(file))
|
||||
if (file.EndsWith(".dll") && !relativeName.Contains('/') && IsManagedAssembly(file))
|
||||
{
|
||||
try
|
||||
{
|
||||
|
Reference in New Issue
Block a user