protected override void Load() { EffectManager.onEffectTextCommitted += onTextCommited; EffectManager.onEffectButtonClicked += onButtonClicked; U.Events.OnPlayerConnected += onPlayerConnected; U.Events.OnPlayerDisconnected += onPlayerDisconnected; UnturnedPlayerEvents.OnPlayerUpdateGesture += UnturnedPlayerEvents_OnPlayerUpdateGesture; Instance = this; registerin = new Dictionary <CSteamID, Character>(); Logger.Log("############################", ConsoleColor.Cyan); Logger.Log("# L4OwnIdentity #", ConsoleColor.Cyan); Logger.Log("# By: Lafalafa #", ConsoleColor.Cyan); Logger.Log("# discord.gg/eAkMRkv #", ConsoleColor.Cyan); Logger.Log("############################", ConsoleColor.Cyan); string path = $"{Rocket.Core.Environment.PluginsDirectory}/{Assembly.GetName().Name}/Database"; try { if (!System.IO.Directory.Exists(path)) { System.IO.DirectoryInfo di = System.IO.Directory.CreateDirectory(path); } DbRP.initializeDatabase($"{path}/L4OwnIdentity.db"); } catch (Exception e) { Console.WriteLine("We can`t make a new dir, the error is: {0}", e.ToString()); } }
private void onPlayerConnected(UnturnedPlayer player) { if (DbRP.getCharacter(player) != null) { return; } if (!registerin.ContainsKey(player.CSteamID)) { registerin.Add(player.CSteamID, new Character(null, null, null, DateTime.Now.Date, player.CSteamID)); } player.Player.enablePluginWidgetFlag(EPluginWidgetFlags.Modal); if (Configuration.Instance.DisableNames) { player.Player.setPluginWidgetFlag(EPluginWidgetFlags.ShowInteractWithEnemy, false); } if (Configuration.Instance.ChangeNames) { player.Player.character.name = $"{DbRP.getCharacter(player).Name} {DbRP.getCharacter(player).Lastname}"; } EffectManager.sendUIEffect(Configuration.Instance.EffectRegister, 11046, player.CSteamID, true); EffectManager.sendUIEffectImageURL(11046, player.CSteamID, true, "RPCharacter_Logo", Instance.Configuration.Instance.Logo); EffectManager.sendUIEffectImageURL(11046, player.CSteamID, true, "RPCharacter_Fondo", Instance.Configuration.Instance.Fondo); }
private void onButtonClicked(Player p, string buttonName) { UnturnedPlayer player = UnturnedPlayer.FromPlayer(p); switch (buttonName) { case "RPCharacter_Register": if (registerin[player.CSteamID].Name == null || registerin[player.CSteamID].Lastname == null || registerin[player.CSteamID].Birth.Date == DateTime.Now.Date) { ChatManager.serverSendMessage(string.Format($"{MessageName}{Instance.Translate("BAD_REGISTER").Replace('(', '<').Replace(')', '>')}"), Color.white, null, player.SteamPlayer(), EChatMode.WELCOME, ChatLogo, true); return; } string[] parameters = registerin[player.CSteamID].getParameters(); ChatManager.serverSendMessage(string.Format($"{MessageName}{Instance.Translate("SUCCESSFULLY_REGISTERED", parameters[0], parameters[1], parameters[2], parameters[3]).Replace('(', '<').Replace(')', '>')}"), Color.white, null, player.SteamPlayer(), EChatMode.WELCOME, ChatLogo, true); EffectManager.askEffectClearByID(Configuration.Instance.EffectRegister, player.CSteamID); player.Player.disablePluginWidgetFlag(EPluginWidgetFlags.Modal); DbRP.addCharacter(registerin[player.CSteamID]); registerin.Remove(player.CSteamID); player.Player.disablePluginWidgetFlag((EPluginWidgetFlags)8); break; case "RPCharacter_Man": ChatManager.serverSendMessage(string.Format($"{MessageName}{Instance.Translate("SEX_CHANGE_MAN").Replace('(', '<').Replace(')', '>')}"), Color.white, null, player.SteamPlayer(), EChatMode.WELCOME, ChatLogo, true); registerin[player.CSteamID].Sex = false; break; case "Character_Woman": ChatManager.serverSendMessage(string.Format($"{MessageName}{Instance.Translate("SEX_CHANGE_WOMAN").Replace('(', '<').Replace(')', '>')}"), Color.white, null, player.SteamPlayer(), EChatMode.WELCOME, ChatLogo, true); registerin[player.CSteamID].Sex = true; break; case "RPCharacter_Discord": OpenUrl(player, "https://discord.gg/eAkMRkv", "Discord for a custom UI or requeset a plugin"); break; } }
private void UnturnedPlayerEvents_OnPlayerUpdateGesture(UnturnedPlayer player, UnturnedPlayerEvents.PlayerGesture gesture) { if (gesture == UnturnedPlayerEvents.PlayerGesture.Point && player.HasPermission("l4ownidentity.checkdni")) { //Character character = DbRP.getCharacter(player); //if (character == null) { return; } //string sex = "W"; //if (!character.Sex) //{ // sex = "M"; //} //EffectManager.sendUIEffect(Configuration.Instance.EffectDni, 11022, true, character.Name, character.Lastname, character.Birth.ToString("dd/MM/yyyy"), sex); //EffectManager.sendUIEffectImageURL(11022, player.CSteamID, true, "Image", player.SteamProfile.AvatarFull.OriginalString); //EffectManager.sendUIEffectText(11022, player.CSteamID, true, "SteamIDDNI", player.CSteamID.m_SteamID.ToString()); //StartCoroutine(showDni(player)); Player vplayer = RaycastHelper.GetPlayerFromHits(player.Player, 3); Character character = null; string sex; if (vplayer == null) { try { character = DbRP.getCharacter(player); } catch (Exception) { return; } if (character == null) { return; } sex = "M"; if (!character.Sex) { sex = "W"; } EffectManager.sendUIEffect(Configuration.Instance.EffectDni, 11022, true, character.Name, character.Lastname, character.Birth.ToString("dd/MM/yyyy"), sex);; EffectManager.sendUIEffectImageURL(11022, player.CSteamID, true, "Image", player.SteamProfile.AvatarFull.OriginalString); EffectManager.sendUIEffectText(11022, player.CSteamID, true, "SteamIDDNI", player.CSteamID.m_SteamID.ToString()); StartCoroutine(showDni(player)); return; } UnturnedPlayer victim = UnturnedPlayer.FromPlayer(vplayer); if (victim.Player.animator.gesture != EPlayerGesture.SURRENDER_START) { return; } try { character = DbRP.getCharacter(victim); } catch (Exception) { return; } if (character == null) { return; } sex = "M"; if (!character.Sex) { sex = "W"; } EffectManager.sendUIEffect(Configuration.Instance.EffectDni, 11022, true, character.Name, character.Lastname, character.Birth.ToString("dd/MM/yyyy"), sex);; EffectManager.sendUIEffectImageURL(11022, player.CSteamID, true, "Image", player.SteamProfile.AvatarFull.OriginalString); EffectManager.sendUIEffectText(11022, player.CSteamID, true, "SteamIDDNI", player.CSteamID.m_SteamID.ToString()); StartCoroutine(showDni(player)); return; } if (gesture != UnturnedPlayerEvents.PlayerGesture.Wave) { return; } ; EffectManager.askEffectClearByID(Configuration.Instance.EffectDni, player.CSteamID); }