public TimeWeatherSync(Server server) : base(server) { server.RegisterEventHandler("Sync.RequestTime", new Action <Player>(OnRequestTime)); server.RegisterEventHandler("Sync.RequestWeather", new Action <Player>(OnRequestWeather)); server.RegisterTickHandler(TimeTick); server.RegisterTickHandler(WeatherTick); CommandRegister.RegisterAdminCommand("freezetime", OnFreezeTime, AdminLevel.SuperAdmin); CommandRegister.RegisterAdminCommand("time", OnSetTime, AdminLevel.SuperAdmin); CommandRegister.RegisterAdminCommand("weather", OnSetWeather, AdminLevel.Admin); }
public LoginHandler(Server server) : base(server) { server.RegisterEventHandler("Login.RequestCharacters", new Action <Player>(OnCharactersRequest)); server.RegisterEventHandler("Login.CreateCharacter", new Action <Player, string, string, string>(OnCreateRequest)); server.RegisterEventHandler("Login.LoadCharacter", new Action <Player, int>(OnLoadRequest)); server.RegisterEventHandler("Login.DeleteCharacter", new Action <Player, int>(OnCharacterDelete)); CommandRegister.RegisterAdminCommand("logout", cmd => OnCharactersRequest(cmd.Player), AdminLevel.Developer); CommandRegister.RegisterCommand("showlogin", cmd => { OnCharactersRequest(cmd.Player); }); }
public DevEnviroment(Server server) : base(server) { IsDebugInstance = GetConvar("mg_debugInstance", "false") == "true"; EnableVerboseLogging = GetConvar("mg_enableVerboseLogging", "false") == "true"; CommandRegister.RegisterAdminCommand("dev", OnDevCommand, AdminLevel.Developer); CommandRegister.RegisterAdminCommand("debug", OnSetDebug, AdminLevel.SuperAdmin); CommandRegister.RegisterAdminCommand("verbose", OnSetVerbose, AdminLevel.SuperAdmin); RegisterDevCommand("eui", OnSetEntityUI); RegisterDevCommand("removevehaccess", OnRemoveVehicleAccess); Log.Info($"Debug instance is {(IsDebugInstance ? "enabled" : "disabled")}"); Log.Info($"Verbose logging is {(EnableVerboseLogging ? "enabled" : "disabled")}"); }
public SessionManager(Server server) : base(server) { server.RegisterEventHandler("playerConnecting", new Action <Player, string, dynamic, dynamic>(OnInitialConnect)); server.RegisterEventHandler("playerDropped", new Action <Player, string>(OnPlayerDropped)); server.RegisterEventHandler("Session.Loaded", new Action <Player>(OnPlayerLoaded)); server.RegisterEventHandler("Session.UpdateClientData", new Action <Player, string, string>(OnDataUpdate)); server.RegisterEventHandler("Session.SetPlayerStatus", new Action <Player, string, dynamic>(OnSetStatus)); // TEMP server.RegisterEventHandler("chatMessage", new Action <int, string, string>(OnChatMessageEntered)); server.RegisterLocalEvent("Log.ToDatabase", new Action <string, string, string, string>(OnLogData)); server.RegisterTickHandler(SaveTick); CommandRegister.RegisterAdminCommand("listuser", cmd => { var player = GetPlayer(cmd.GetArgAs(0, 0)); if (player == null) { return; } Log.Info($"Server ID: {player.ServerID}"); Log.Info($"Player name: {player.PlayerName}"); Log.Info($"Player ped handle: {player.Ped?.Handle}"); Log.Info($"Position: {player.Position}"); foreach (var kvp in player.GlobalData) { Log.Info($"{kvp.Key} - {kvp.Value}"); } foreach (var kvp in player.LocalData) { Log.Info($"{kvp.Key} - {kvp.Value}"); } foreach (var kvp in player.ServerData) { Log.Info($"{kvp.Key} - {kvp.Value}"); } }, AdminLevel.SuperAdmin); CommandRegister.RegisterAdminCommand("saveusers", cmd => SaveAllUsers(), AdminLevel.SuperAdmin); CommandRegister.RegisterAdminCommand("savealldata|savedata", cmd => { CitizenFX.Core.Native.API.ExecuteCommand("saveusers"); CitizenFX.Core.Native.API.ExecuteCommand("savevehicles"); CitizenFX.Core.Native.API.ExecuteCommand("saveproperties"); }, AdminLevel.SuperAdmin); //loadPrivellagedUsers(); }
public SharedEmergencyItems() { CommandRegister.RegisterJobCommand("duty", OnDutyRequest, JobType.Police | JobType.EMS | JobType.Mechanic, true); CommandRegister.RegisterCommand("911", on911Command); CommandRegister.RegisterJobCommand("911r", on911Reply, JobType.Police | JobType.EMS); CommandRegister.RegisterCommand("311", on311Command); CommandRegister.RegisterJobCommand("311r", on311Reply, JobType.Police | JobType.EMS); CommandRegister.RegisterJobCommand("cv", cmd => cmd.Player.TriggerEvent("Job.SpawnServiceVehicle", cmd.GetArgAs(0, 1) - 1), JobType.Police | JobType.EMS); CommandRegister.RegisterJobCommand("impound", cmd => cmd.Player.TriggerEvent("Job.DeleteVehicle", true), JobType.Police | JobType.EMS | JobType.Mechanic | JobType.Tow); CommandRegister.RegisterJobCommand("fix", cmd => cmd.Player.TriggerEvent("Job.FixVehicle"), JobType.Police | JobType.EMS | JobType.Mechanic); CommandRegister.RegisterJobCommand("dv", cmd => cmd.Player.TriggerEvent("Job.DeleteVehicle"), JobType.Police | JobType.EMS); CommandRegister.RegisterAdminCommand("dv", cmd => cmd.Player.TriggerEvent("Job.DeleteVehicle"), AdminLevel.Moderator); CommandRegister.RegisterJobCommand("13", OnPanicButton, JobType.Police | JobType.EMS); CommandRegister.RegisterJobCommand("slimjim", cmd => cmd.Player.TriggerEvent("Lockpick.StartVehicleLockpick", 2), JobType.EMS | JobType.Police | JobType.Mechanic); CommandRegister.RegisterJobCommand("extra", cmd => cmd.Player.TriggerEvent("Job.SetVehicleExtra", cmd.GetArgAs(0, "1"), cmd.GetArgAs(1, "false")), JobType.Police | JobType.EMS); CommandRegister.RegisterJobCommand("setspawn", OnSetSpawn, JobType.EMS | JobType.Police, true); CommandRegister.RegisterJobCommand("resetspawn", OnResetSpawn, JobType.EMS | JobType.Police, true); CommandRegister.RegisterJobCommand("discount", cmd => cmd.Player.TriggerEvent("LSC:magicmechanic"), JobType.Mechanic); CommandRegister.RegisterJobCommand("setcallsign", OnSetCallsign, JobType.Police | JobType.EMS); }
public Admin(Server server) : base(server) { CommandRegister.RegisterAdminCommand("setadminlevel", SetPermissionLevel, AdminLevel.SuperAdmin); CommandRegister.RegisterAdminCommand("kick", KickPlayer, AdminLevel.Moderator); CommandRegister.RegisterAdminCommand("bring", OnBringCommand, AdminLevel.Admin); CommandRegister.RegisterAdminCommand("return", OnReturnCommand, AdminLevel.Admin); CommandRegister.RegisterAdminCommand("mute", OnMuteCommand, AdminLevel.Admin); CommandRegister.RegisterAdminCommand("unmute", OnUnMuteCommand, AdminLevel.Admin); CommandRegister.RegisterAdminCommand("freeze", OnFreezeCommand, AdminLevel.Admin); CommandRegister.RegisterAdminCommand("unfreeze", OnUnFreezeCommand, AdminLevel.Admin); CommandRegister.RegisterAdminCommand("announce", OnAnnounceCommand, AdminLevel.Admin); CommandRegister.RegisterAdminCommand("say", OnSayCommand, AdminLevel.SuperAdmin); CommandRegister.RegisterAdminCommand("playerlist", OnPlayerlistCommand, AdminLevel.Moderator); CommandRegister.RegisterAdminCommand("sc", OnStaffChatCommand, AdminLevel.Moderator); CommandRegister.RegisterRCONCommand("kickall", cmd => { foreach (var player in /*Server.PlayerList.ToList()*/ Players.ToList()) { player.Drop(string.Join(" ", cmd.Args)); } }); }
public Bans(Server server) : base(server) { CommandRegister.RegisterAdminCommand("ban", OnBanCommand, AdminLevel.Admin); loadBanTags(); }
public JobHandler(Server server) : base(server) { server.RegisterEventHandler("Job.SetPlayerJob", new Action <Player, string>(OnRemoteJobSet)); server.RegisterEventHandler("Job.SetDutyState", new Action <Player, bool>(OnSetDutyState)); CommandRegister.RegisterAdminCommand("copadd", cmd => { var targetPlayer = cmd.GetArgAs <int>(0); var targetObject = Sessions.GetPlayer(targetPlayer); if (targetObject != null) { SetPlayerJob(targetObject, JobType.Police); Log.ToClient("[Job]", "You are now a police officer", ConstantColours.Job, targetObject.Source); Log.ToClient("[Admin]", $"You made {targetObject.PlayerName} a police officer", ConstantColours.Admin, cmd.Player); Sessions.TriggerSessionEvent("OnPermissionRefresh", cmd.Session); } else { cmd.Session.Message($"Invalid ID"); } }, AdminLevel.Moderator); CommandRegister.RegisterAdminCommand("emsadd", cmd => { var targetPlayer = cmd.GetArgAs <int>(0); var targetObject = Sessions.GetPlayer(targetPlayer); if (targetObject != null) { SetPlayerJob(targetObject, JobType.EMS); Log.ToClient("[Job]", "You are now an EMS", ConstantColours.Job, targetObject.Source); Log.ToClient("[Admin]", $"You made {targetObject.PlayerName} an EMS", ConstantColours.Admin, cmd.Player); Sessions.TriggerSessionEvent("OnPermissionRefresh", cmd.Session); } else { cmd.Session.Message($"Invalid ID"); } }, AdminLevel.Moderator); CommandRegister.RegisterAdminCommand("mechadd", cmd => { var targetPlayer = cmd.GetArgAs <int>(0); var targetObject = Sessions.GetPlayer(targetPlayer); if (targetObject != null) { SetPlayerJob(targetObject, JobType.Mechanic); Log.ToClient("[Job]", "You are now a mechanic", ConstantColours.Job, targetObject.Source); Log.ToClient("[Admin]", $"You made {targetObject.PlayerName} a mechanic", ConstantColours.Admin, cmd.Player); Sessions.TriggerSessionEvent("OnPermissionRefresh", cmd.Session); } else { cmd.Session.Message($"Invalid ID"); } }, AdminLevel.Moderator); CommandRegister.RegisterAdminCommand("realtoradd", cmd => { var targetPlayer = cmd.GetArgAs <int>(0); var targetObject = Sessions.GetPlayer(targetPlayer); if (targetObject != null) { SetPlayerJob(targetObject, JobType.Realtor); Log.ToClient("[Job]", "You are now a realtor", ConstantColours.Job, targetObject.Source); Log.ToClient("[Admin]", $"You made {targetObject.PlayerName} a realtor", ConstantColours.Admin, cmd.Player); Sessions.TriggerSessionEvent("OnPermissionRefresh", cmd.Session); } else { cmd.Session.Message($"Invalid ID"); } }, AdminLevel.Moderator); CommandRegister.RegisterAdminCommand("coprem|emsrem|mechrem|realtorrem", resetPlayerJob, AdminLevel.Moderator); CommandRegister.RegisterAdminCommand("getplayersonjob", OnJobCheck, AdminLevel.SuperAdmin); CommandRegister.RegisterAdminCommand("addperm", cmd => { var player = cmd.GetArgAs(0, 0); cmd.Args.RemoveAt(0); var targetSession = Sessions.GetPlayer(player); if (targetSession == null) { return; } var curPerms = cmd.Session.Permissions; curPerms.Add(string.Join(";", cmd.Args)); targetSession.Permissions = curPerms; Sessions.TriggerSessionEvent("OnJobPermissionRefresh", targetSession); }, AdminLevel.Admin); CommandRegister.RegisterAdminCommand("showperm", cmd => { var player = cmd.GetArgAs(0, 0); cmd.Args.RemoveAt(0); var targetSession = Sessions.GetPlayer(player); if (targetSession == null) { return; } targetSession.ListPermissions(); }, AdminLevel.SuperAdmin); loadJobClasses(); }
public VehicleManager(Server server) : base(server) { //Session = Sessions; //server.RegisterEventHandler("Vehicle.RequestGarageVehicles", new Action<Player, string>(OnVehiclesRequest)); //server.RegisterEventHandler("Vehicle.RequestVehicleData", new Action<Player, int>(OnDataRequest)); //server.RegisterEventHandler("Vehicle.CreateExternalVehicle", new Action<Player, string>(OnCreateExternalVehicle)); //server.RegisterEventHandler("Vehicle.GiveKeyAccess", new Action<Player, int, int>(OnGiveKeyAccess)); //server.RegisterEventHandler("Vehicle.GiveVehicleOwnership", new Action<Player, int, int>(OnGiveVehOwnership)); //server.RegisterEventHandler("Vehicle.ImpoundVehicle", new Action<Player, int>(OnImpoundVehicle)); //server.RegisterEventHandler("Vehicles.UpdateVehicleData", new Action<Player, int, string>(OnDataUpdate)); //server.RegisterEventHandler("Vehicles.StoreOwnedVehicle", new Action<Player, int, string, string>(OnStoreVehicle)); //server.RegisterEventHandler("Vehicles.SetIndicatorStatus", new Action<Player, string, bool>(OnSetIndicator)); server.RegisterTickHandler(SaveVehicleTick); CommandRegister.RegisterAdminCommand("listvehdata", cmd => { var veh = GetVehicle(cmd.GetArgAs <int>(0)); foreach (var property in veh.GetType().GetRuntimeProperties()) { dynamic propertyValue = property.GetValue(veh, null); var propertyString = propertyValue.ToString(); if (propertyValue.GetType() == typeof(List <int>)) { propertyString = ""; foreach (var val in propertyValue) { propertyString += $"{val},"; } } Log.Info($"{property.Name}: {propertyString}"); } }, AdminLevel.Developer); CommandRegister.RegisterAdminCommand("savevehicles", cmd => SaveAllVehicles(), AdminLevel.SuperAdmin); Task.Factory.StartNew(async() => { await BaseScript.Delay(5000); MySQL.execute("UPDATE vehicle_data SET OutGarage = false"); MySQL.execute("SELECT * FROM vehicle_data", new Dictionary <string, dynamic> { }, new Action <List <dynamic> >(data => { foreach (var veh in data) { try { VehicleDataModel mods = JsonConvert.DeserializeObject <VehicleDataModel>(veh.mods); if (mods.Model == 0) { MySQL.execute("UPDATE bank_accounts SET Balance = Balance + @price WHERE OwnerID = @id", new Dictionary <string, dynamic> { { "@price", veh.VehiclePrice }, { "@id", veh.CharID } }); MySQL.execute("DELETE FROM vehicle_data WHERE VehID = @id", new Dictionary <string, dynamic> { { "@id", veh.VehID } }); } } catch { } } })); }); }