Object of type 'GTANetworkAPI.Player' cannot be converted to type 'System.String'.Отправлять ивент на клиент всем игрокам?
[RemoteEvent("sendmesageadmin")]
public static void sendmesageAdmin(string e)
{
NAPI.Task.Run(() =>
{
foreach (var c in Main.Players.Keys.ToList())
{
if (Main.Players[c].AdminLVL > 0)
{
Trigger.ClientEvent(c, "SendmesageAdminchat", e);
}
}
});
}
Я так понял RedAge мод. На шарпе делается примерно так:Object of type 'GTANetworkAPI.Player' cannot be converted to type 'System.String'.
System.ArgumentException: Object of type 'GTANetworkAPI.Player' cannot be converted to type 'System.String'.
at object RuntimeType.TryChangeType(object value, Binder binder, CultureInfo culture, bool needsSpecialCast)
at object[] System.Reflection.MethodBase.CheckArguments(object[] parameters, Binder binder, BindingFlags invokeAttr, CultureInfo culture, Signature sig)
at object[] System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(object obj, BindingFlags invokeAttr, Binder binder, object[] parameters, CultureInfo culture)
at object System.Reflection.RuntimeMethodInfo.Invoke(object obj, BindingFlags invokeAttr, Binder binder, object[] parameters, CultureInfo culture)
at void GTANetworkInternals.RemoteEventParser.Parse(Player sender, ulong eventNameHash, params object[] args)
at void GTANetworkInternals.RemoteEventHandler.Parse(Player sender, ulong eventNameHash, params object[] arguments)
проблемка не знаю как решить
foreach (Player allPlayers in NAPI.Pools.GetAllPlayers())
{
allPlayers.TriggerEvent("Server_Event", args);
}
код выдает туже ошибкуЯ так понял RedAge мод. На шарпе делается примерно так:
C#:foreach (Player allPlayers in NAPI.Pools.GetAllPlayers()) { allPlayers.TriggerEvent("Server_Event", args); }
Любой RemoteEvent первоначально должен принимать Player объект, а только потом уже твои аргументы.вот код
C#:[RemoteEvent("sendmesageadmin")] public static void sendmesageAdmin(string e) { NAPI.Task.Run(() => { foreach (var c in Main.Players.Keys.ToList()) { if (Main.Players[c].AdminLVL > 0) { Trigger.ClientEvent(c, "SendmesageAdminchat", e); } } }); }
public static void sendmesageAdmin(string e)
public static void sendmesageAdmin(Player player, string e)
Кстати да, не заметил. Изначально идет PlayerЛюбой RemoteEvent первоначально должен принимать Player объект, а только потом уже твои аргументы.
Измени
НаC#:public static void sendmesageAdmin(string e)
C#:public static void sendmesageAdmin(Player player, string e)
а как это можно на js сделать?Я так понял RedAge мод. На шарпе делается примерно так:
C#:foreach (Player allPlayers in NAPI.Pools.GetAllPlayers()) { allPlayers.TriggerEvent("Server_Event", args); }
а как это можно на js сделать?
mp.players.forEach(player => {
if (player !== undefined || player.loggedIn) // всякие проверки
{
player.call("Server_Event", [arg...]);
}
} )
Зачем тебе тут NAPI.Tadk.Run?вот код
C#:[RemoteEvent("sendmesageadmin")] public static void sendmesageAdmin(string e) { NAPI.Task.Run(() => { foreach (var c in Main.Players.Keys.ToList()) { if (Main.Players[c].AdminLVL > 0) { Trigger.ClientEvent(c, "SendmesageAdminchat", e); } } }); }
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?