private static void Process_String(Player client, string[] command) { if (client.Account.Permission < PlayerPermission.GM) return; if (command.Length < 2) client.SendMessage("Error: Proper format is /string Content"); else client.SendToScreen(StringsPacket.Create(client.UID, StringAction.Fireworks, command[1]), true); }
public void SendEnemyList(Player client) { for (var i = 0; i < 5; i++) { var targetGuild = GuildManager.GetGuild(_enemies[i]); if (targetGuild == null) { continue; } targetGuild = targetGuild.MasterGuild; if (targetGuild != null) { client.Send(StringsPacket.Create(targetGuild.Id, StringAction.SetEnemy, targetGuild.StringInfo)); } } }
public override void Run(Player _client, ConquerItem _item) { _client.SendToScreen(StringsPacket.Create(_client.UID, Enum.StringAction.Fireworks, _item.BaseItem.Name), true); _client.DeleteItem(_item); }
public void SendMemberList(Player client) { StringsPacket packet = new StringsPacket(); packet.Strings = new Packets.NetStringPacker(); packet.Type = StringAction.MemberList; packet.UID = client.UID; if (client.GuildId <= 0) { return; } String GL = ""; List <String> OnMembers = new List <String>(); List <String> OffMembers = new List <String>(); List <String> OnDeputies = new List <String>(); List <String> OffDeputies = new List <String>(); var memberlist = Database.ServerDatabase.Context.GuildAttributes.GetMembers(client.GuildId); foreach (var entry in memberlist) { var member = Database.ServerDatabase.Context.Characters.GetByUID(entry.Id); if (entry.Rank == GuildRank.GuildLeader) { GL = member.Name + Convert.ToChar(32) + member.Level + Convert.ToChar(32) + client.IsOnline(member.Name); } else if (entry.Rank == GuildRank.DeputyLeader) { if (client.IsOnline(member.Name) == 1) { OnDeputies.Add(member.Name + Convert.ToChar(32) + member.Level + Convert.ToChar(32) + "1"); } else { OffDeputies.Add(member.Name + Convert.ToChar(32) + member.Level + Convert.ToChar(32) + "0"); } } else { if (client.IsOnline(member.Name) == 1) { OnMembers.Add(member.Name + Convert.ToChar(32) + member.Level + Convert.ToChar(32) + "1"); } else { OffMembers.Add(member.Name + Convert.ToChar(32) + member.Level + Convert.ToChar(32) + "0"); } } } if (GL.EndsWith("1")) { packet.Strings.AddString(GL); } foreach (var dep in OnDeputies) { packet.Strings.AddString(dep); } foreach (var mem in OnMembers) { packet.Strings.AddString(mem); } if (GL.EndsWith("0")) { packet.Strings.AddString(GL); } foreach (var dep in OffDeputies) { packet.Strings.AddString(dep); } foreach (var mem in OffMembers) { packet.Strings.AddString(mem); } client.Send(packet); }
public override void Run(Game_Server.Player _client, ushort _linkback) { Responses = new List <NpcDialogPacket>(); AddAvatar(); switch (_linkback) { case 0: AddText("I can help you to divorce your spouse. You just will have to agree to a divorce. I will also need a MeteorTear. If you have this item and you really want to get divorced, we will do it soon."); AddOption("Yes, I want a divorce.", 1); AddOption("Just passing by.", 255); break; case 1: if (_client.Spouse == Constants.DEFAULT_MATE) { AddText("You really sure you want to divorce your spouse now? You will not regret later?"); AddOption("No I'll not. Let's do this.", 2); AddOption("I prefer to remain married.", 255); } else { AddText("Sorry, I can not divorce you if you are not married."); AddOption("Okay.", 255); } break; case 2: AddText("Are you ready? Be sure you're with MeteorTear, I really need it."); AddOption("Yeah. I am ready.", 3); AddOption("Let me think it over.", 255); break; case 3: if (_client.Spouse == Constants.DEFAULT_MATE && _client.HasItem(Constants.METEOR_TEAR_ID)) { var dbSpouse = Database.ServerDatabase.Context.Characters.GetByName(_client.Spouse); if (dbSpouse != null) { dbSpouse.Spouse = Constants.DEFAULT_MATE; Database.ServerDatabase.Context.Characters.AddOrUpdate(dbSpouse); var meteorTear = _client.GetItemByID(Constants.METEOR_TEAR_ID); _client.RemoveItem(meteorTear); meteorTear.DbItem.Owner = dbSpouse.UID; meteorTear.Save(); var spouse = Managers.PlayerManager.GetUser(_client.Spouse); if (spouse != null) { spouse.AddItem(meteorTear); spouse.Send(ItemInformationPacket.Create(meteorTear)); //sanity check incase they log out while it's being saved above or something weird spouse.Spouse = Constants.DEFAULT_MATE; spouse.Send((StringsPacket.Create(spouse.UID, StringAction.Mate, Constants.DEFAULT_MATE))); } Managers.PlayerManager.SendToServer(new TalkPacket(ChatType.GM, "Unfortunately! " + _client.Name + " and " + _client.Spouse + " got divorced.")); _client.Spouse = Constants.DEFAULT_MATE; _client.Save(); AddText("Done, you are now divorced. You are free to find another passion around. Be happy my friend."); AddOption("Thank you.", 255); } } else { AddText("Sorry, I can not divorce you if you don't have a MeteorTear."); AddOption("Okay.", 255); } break; } AddFinish(); Send(); }