public void CreateGroup(Client sender, int bossId, GroupType type, string name, string tag, string hexColor) { if (!sender.HasRank(ServerRank.AdministratorRozgrywki2)) { sender.SendWarning("Nie posiadasz uprawnień do tworzenia grupy."); return; } name = name.Replace('_', ' '); Color color; try { color = hexColor.ToColor(); } catch (ColorConvertException) { sender.SendError("Wprowadzony kolor jest nieprawidłowy."); return; } if (EntityHelper.GetAccountByServerId(bossId) != null) { AccountEntity boss = EntityHelper.GetAccountByServerId(bossId); if (boss.CharacterEntity.DbModel.Workers.Count < 3) { GroupEntity group = GroupEntity.Create(name, tag, type, color); group.AddWorker(new WorkerModel { Group = group.DbModel, Character = boss.CharacterEntity.DbModel, Rights = GroupRights.AllBasic, DutyMinutes = 0, Salary = 0 }); group.Save(); sender.SendInfo($"Stworzyłeś grupę {group.GetColoredName()}."); } else { boss.Client.SendError("Nie posiadasz wolnych slotów grupowych."); if (boss.Client != sender) { sender.SendError( $"Gracz: {boss.Client.Name} nie posiada wolnych slotów grupowych."); } } } else { sender.SendError("Nie znaleziono gracza o podanym Id."); } }
public void JoinGroup(Client sender, long groupId) { if (!sender.HasRank(ServerRank.AdministratorRozgrywki2)) { sender.SendError("Nie posiadasz uprawnień do ustawienia wchodzenia do grupy."); return; } if (EntityHelper.GetGroup(groupId) != null) { AccountEntity player = sender.GetAccountEntity(); GroupEntity group = EntityHelper.GetGroup(groupId); if (group.GetWorkers().Any(p => p.Character == player.CharacterEntity.DbModel)) { sender.SendError("Jesteś już w tej grupie."); return; } if (player.CharacterEntity.DbModel.Workers.Count < 3) { group.AddWorker(new WorkerModel { Group = group.DbModel, Character = sender.GetAccountEntity().CharacterEntity.DbModel, Rights = GroupRights.AllBasic, DutyMinutes = 0, Salary = 0 }); group.Save(); sender.SendInfo($"Wszedłeś do grupy {group.GetColoredName()}."); } else { sender.SendError("Nie posiadasz wolnych slotów grupowych."); } } else { sender.SendError("Nie znaleziono grupy o podanym Id."); } }