update namespace and use RC event from log to set player rank
This commit is contained in:
43
Commands/MuteClearCommand.cs
Normal file
43
Commands/MuteClearCommand.cs
Normal file
@ -0,0 +1,43 @@
|
||||
using SharedLibraryCore;
|
||||
using SharedLibraryCore.Commands;
|
||||
using SharedLibraryCore.Configuration;
|
||||
using SharedLibraryCore.Database.Models;
|
||||
using SharedLibraryCore.Interfaces;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
|
||||
namespace ClanTagRankCommands.Commands
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Example script command
|
||||
/// </summary>
|
||||
///
|
||||
|
||||
public class MuteClearCommand : Command
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
public MuteClearCommand(CommandConfiguration config, ITranslationLookup lookup, IMetaService metaService, IConfigurationHandlerFactory configurationHandlerFactory) : base(config, lookup)
|
||||
{
|
||||
|
||||
|
||||
Name = "MuteClear";
|
||||
Description = "clears the muted player list for current server";
|
||||
Alias = "mc";
|
||||
Permission = EFClient.Permission.Administrator;
|
||||
RequiresTarget = false;
|
||||
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(GameEvent E)
|
||||
{
|
||||
await E.Owner.ExecuteCommandAsync("muteclear");
|
||||
E.Origin.Tell("mute list cleared");
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
75
Commands/MuteCommand.cs
Normal file
75
Commands/MuteCommand.cs
Normal file
@ -0,0 +1,75 @@
|
||||
using SharedLibraryCore;
|
||||
using SharedLibraryCore.Commands;
|
||||
using SharedLibraryCore.Configuration;
|
||||
using SharedLibraryCore.Database.Models;
|
||||
using SharedLibraryCore.Interfaces;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
|
||||
namespace ClanTagRankCommands.Commands
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Example script command
|
||||
/// </summary>
|
||||
///
|
||||
|
||||
public class MuteCommand : Command
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
public MuteCommand(CommandConfiguration config, ITranslationLookup lookup, IMetaService metaService, IConfigurationHandlerFactory configurationHandlerFactory) : base(config, lookup)
|
||||
{
|
||||
|
||||
|
||||
Name = "Mute";
|
||||
Description = "mutes a player's chat.";
|
||||
Alias = "mute";
|
||||
Permission = EFClient.Permission.Administrator;
|
||||
RequiresTarget = true;
|
||||
Arguments = new[]
|
||||
{
|
||||
new CommandArgument()
|
||||
{
|
||||
Name = "player",
|
||||
Required = true
|
||||
},
|
||||
new CommandArgument()
|
||||
{
|
||||
Name = "reason",
|
||||
Required = false
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(GameEvent E)
|
||||
{
|
||||
//var S = E.Owner;
|
||||
|
||||
var msg = E.Data;
|
||||
if (E.Data == null)
|
||||
{
|
||||
msg = "Muted";
|
||||
}
|
||||
else
|
||||
{
|
||||
msg = E.Data;
|
||||
}
|
||||
if(E.Target.IsIngame && E.Target is object && E.Target != E.Origin)
|
||||
{
|
||||
await E.Owner.ExecuteCommandAsync("mute_player" + " " + E.Target.ClientNumber.ToString());
|
||||
E.Target.Warn("muted", E.Origin);
|
||||
}
|
||||
if(E.Target == E.Origin)
|
||||
{
|
||||
E.Origin.Tell("Can't mute yourself");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
86
Commands/PermaperkCommand.cs
Normal file
86
Commands/PermaperkCommand.cs
Normal file
@ -0,0 +1,86 @@
|
||||
using SharedLibraryCore;
|
||||
using SharedLibraryCore.Commands;
|
||||
using SharedLibraryCore.Configuration;
|
||||
using SharedLibraryCore.Database.Models;
|
||||
using SharedLibraryCore.Interfaces;
|
||||
using System.Threading.Tasks;
|
||||
using ClanTagRankCommands;
|
||||
|
||||
namespace ClanTagRankCommands.Commands
|
||||
{
|
||||
/// <summary>
|
||||
/// Example script command
|
||||
/// </summary>
|
||||
public class PermaperkCommand : Command
|
||||
{
|
||||
private readonly IMetaService _metaService;
|
||||
private readonly IConfigurationHandler<Configuration> _configurationHandler;
|
||||
private Configuration Config;
|
||||
public PermaperkCommand(CommandConfiguration config, ITranslationLookup lookup, IMetaService metaService, IConfigurationHandlerFactory configurationHandlerFactory) : base(config, lookup)
|
||||
{
|
||||
_metaService = metaService;
|
||||
_configurationHandler = configurationHandlerFactory.GetConfigurationHandler<Configuration>("ClanTagRankCommands");
|
||||
if (_configurationHandler.Configuration() == null)
|
||||
{
|
||||
_configurationHandler.Set((Configuration)new Configuration().Generate());
|
||||
_configurationHandler.Save();
|
||||
}
|
||||
Config = _configurationHandler.Configuration();
|
||||
Name = "Permaperk";
|
||||
Description = "force permaperks, clan tag, and speed if they don't set correctly.";
|
||||
Alias = "perma";
|
||||
Permission = EFClient.Permission.Trusted;
|
||||
RequiresTarget = false;
|
||||
Arguments = new[]
|
||||
{
|
||||
new CommandArgument()
|
||||
{
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(GameEvent E)
|
||||
{
|
||||
//await yadb.notifyYADB("Kicked player @{target} after a successful vote started from @{origin}", $"testing", E.Data,":pencil:", E.Owner, E.Origin, E.Origin);
|
||||
var speedtoggle = await _metaService.GetPersistentMeta("speedtoggle", E.Origin);
|
||||
if (speedtoggle == null)
|
||||
{
|
||||
// speedtoggle == 1 means slower, unmodified speed)
|
||||
await _metaService.AddPersistentMeta("speedtoggle", "0", E.Origin);
|
||||
speedtoggle = await _metaService.GetPersistentMeta("speedtoggle", E.Origin);
|
||||
}
|
||||
await E.Owner.SetDvarAsync("sv_iw4madmin_options", "speedtoggle;" + E.Origin.ClientNumber.ToString() + ";" + speedtoggle.Value.ToString());
|
||||
|
||||
if (E.Origin.CurrentServer == E.Owner && E.Origin is object && E.Origin.ClientNumber != -1 && E.Origin.ClientNumber != 9)
|
||||
{
|
||||
var rank_player_var = await _metaService.GetPersistentMeta("rank", E.Origin);
|
||||
var rankName = E.Origin.Level.ClanTag(Config);
|
||||
|
||||
rank_player_var = await _metaService.GetPersistentMeta("rank", E.Origin);
|
||||
if (rank_player_var == null)
|
||||
{
|
||||
|
||||
await _metaService.AddPersistentMeta("rank", "none", E.Origin);
|
||||
rank_player_var = await _metaService.GetPersistentMeta("rank", E.Origin);
|
||||
}
|
||||
|
||||
if (!(rank_player_var.Value.Contains("none")) && !(rank_player_var.Value.Contains("None")) && !(rank_player_var.Value.Contains("NONE")))
|
||||
{
|
||||
rankName = rank_player_var.Value;
|
||||
|
||||
}
|
||||
if (E.Origin.CurrentServer == E.Owner && E.Origin is object && E.Origin.ClientNumber != -1 && E.Origin.ClientNumber != 9)// && (E.Origin.Level > EFClient.Permission.Trusted || rankName != Config.User))
|
||||
{
|
||||
await E.Owner.ExecuteCommandAsync("setclantag" + " " + E.Origin.ClientNumber.ToString() + " " + rankName.ToString());
|
||||
await E.Owner.SetDvarAsync("sv_iw4madmin_role", "setRole;" + E.Origin.ClientNumber.ToString() + ";" + rankName.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -8,7 +8,7 @@ using System.Threading.Tasks;
|
||||
|
||||
|
||||
|
||||
namespace ClanTagRankApi.Commands
|
||||
namespace ClanTagRankCommands.Commands
|
||||
{
|
||||
/// <summary>
|
||||
/// Example script command
|
||||
@ -57,7 +57,11 @@ namespace ClanTagRankApi.Commands
|
||||
rank_string = E.Target.Level.ClanTag(Config);
|
||||
E.Origin.Tell(E.Target.Name + "'s rank has been reset to: " + rank_string);
|
||||
if (E.Target.IsIngame && E.Target is object)
|
||||
await E.Owner.ExecuteCommandAsync("setclantag" + " " + E.Target.ClientNumber + " " + rank_string);
|
||||
{
|
||||
await E.Owner.ExecuteCommandAsync("setclantag" + " " + E.Target.ClientNumber.ToString() + " " + rank_string.ToString());
|
||||
await E.Owner.SetDvarAsync("sv_iw4madmin_role", "setRole;" + E.Target.ClientNumber.ToString() + ";" + rank_string.ToString());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
@ -6,7 +6,7 @@ using SharedLibraryCore.Interfaces;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
|
||||
namespace ClanTagRankApi.Commands
|
||||
namespace ClanTagRankCommands.Commands
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
@ -91,7 +91,12 @@ namespace ClanTagRankApi.Commands
|
||||
}
|
||||
|
||||
if(E.Target.IsIngame && E.Target is object)
|
||||
await E.Owner.ExecuteCommandAsync("setclantag" + " " + E.Target.ClientNumber + " " + rank_string);
|
||||
{
|
||||
await E.Owner.ExecuteCommandAsync("setclantag" + " " + E.Target.ClientNumber.ToString() + " " + rank_string.ToString());
|
||||
await E.Owner.SetDvarAsync("sv_iw4madmin_role", "setRole;" + E.Target.ClientNumber.ToString() + ";" + rank_string.ToString());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
59
Commands/UnMuteCommand.cs
Normal file
59
Commands/UnMuteCommand.cs
Normal file
@ -0,0 +1,59 @@
|
||||
using SharedLibraryCore;
|
||||
using SharedLibraryCore.Commands;
|
||||
using SharedLibraryCore.Configuration;
|
||||
using SharedLibraryCore.Database.Models;
|
||||
using SharedLibraryCore.Interfaces;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
|
||||
namespace ClanTagRankCommands.Commands
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Example script command
|
||||
/// </summary>
|
||||
///
|
||||
|
||||
public class UnMuteCommand : Command
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
public UnMuteCommand(CommandConfiguration config, ITranslationLookup lookup, IMetaService metaService, IConfigurationHandlerFactory configurationHandlerFactory) : base(config, lookup)
|
||||
{
|
||||
|
||||
|
||||
Name = "Unmute";
|
||||
Description = "Unmutes a player's chat.";
|
||||
Alias = "Unmute";
|
||||
Permission = EFClient.Permission.Administrator;
|
||||
RequiresTarget = true;
|
||||
Arguments = new[]
|
||||
{
|
||||
new CommandArgument()
|
||||
{
|
||||
Name = "player",
|
||||
Required = true
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(GameEvent E)
|
||||
{
|
||||
//var S = E.Owner;
|
||||
|
||||
|
||||
if(E.Target.IsIngame && E.Target is object)
|
||||
{
|
||||
await E.Owner.ExecuteCommandAsync("unmute_player" + " " + E.Target.ClientNumber.ToString());
|
||||
E.Target.WarnClear(E.Origin);
|
||||
E.Target.Tell("You have been Unmuted");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user