using System; using System.Collections.Generic; using System.IO; using Utility; using InfinityScript; namespace InfNoReconnect { public class InfNoReconnect : BaseScript { List players; bool ReconDeny; string ServerSay; string ImmunePlayers; List Immunes = new List(); public InfNoReconnect() :base() { CheckFile(); ReconDeny = bool.Parse(UL.GET.GetServerCFG("InfNoReconnect", "ReconDeny", "true")); ImmunePlayers = UL.GET.GetServerCFG("InfNoReconnect", "ImmunePlayers", ""); ServerSay = UL.GET.GetServerCFG("InfNoReconnect", "ServerSay", string.Empty); if (!ImmunePlayers.Equals("")) Immunes = new List(ImmunePlayers.ToLower().Split(',')); UL.ServerPrint("InfNoReconnect by frst_ loaded | Mordekai74.3dn.ru"); List players = new List(); PlayerConnected += new Action(player => { player.SpawnedPlayer += new Action(() => { if (player.GetTeam() == "axis") { if (!players.Contains(player.HWID.ToLower())) players.Add(player.HWID.ToLower()); else { if (ReconDeny && !Immunes.Contains(player.HWID.ToLower())) { if (!string.IsNullOrEmpty(ServerSay)) { UL.ServerSay(ServerSay.Replace("", player.Name)); } UL.ServerCommand("dropclient " + player.GetClientNum()); } } } }); }); } public void CheckFile() { if (!File.Exists("scripts\\sv_config.ini")) { Log.Info("SV_CONFIG.INI HAS CREATED (SCRIPTS\\\\SV_CONFIG.INI)"); using (StreamWriter sw = new StreamWriter("scripts\\sv_config.ini", true)) { sw.WriteLine("[InfNoReconnect]"); sw.WriteLine("ReconDeny=true"); sw.WriteLine("ServerSay=^1 reconnected! Has been kicked."); sw.WriteLine("ImmunePlayers=HWID,HWID,HWID"); } } } } }