Untitled
// controlle.java public void messageSubcommand (Message ms){ //addition case CMD.CLAN_PLEASE: System.out.println("this is clan please"); _char.clanPlease(mss); break; case CMD.CLAN_ACCEPT_PLEASE: System.out.println("this is clan accept please"); _char.acceptPleaseClan(mss); break; } // mapservice.java public void acceptPleaseClan(Char p) { Clan clan = p.clan; if (clan != null) { try { Message ms = messageSubCommand(CMD.CLAN_ACCEPT_PLEASE); DataOutputStream ds = ms.writer(); ds.writeInt(p.id); ds.writeUTF(clan.getName()); ds.writeByte(clan.getMemberByName(Char.setNameVip(p.name)).getType()); ds.flush(); sendMessage(ms); ms.cleanup(); } catch (Exception ex) { Log.error("acceptpleaseClan err: " + ex.getMessage(), ex); } } } // char.java public void acceptPleaseClan(Message ms) { try { int charId = ms.reader().readInt(); System.out.println("charId" + charId); Char _char = zone.findCharById(charId); if (_char != null) { PlayerInvite c = this.invite.findCharInvite(Invite.XIN_VAO_GIA_TOC, _char.id); if (c == null) { serverDialog("Đã hết thời gian chấp nhận vào gia tộc."); return; } // Clan clan = _char.clan; // List<Member> members = clan.memberDAO.getAll(); if (true) { _char.clan = clan; Member mem = Member.builder() .classId(_char.classId) .level(_char.level) .type(Clan.TYPE_NORMAl) .name(_char.name) .pointClan(0) .pointClanWeek(0) .build(); mem.setChar(this); mem.setOnline(true); clan.memberDAO.save(mem); zone.getService().acceptPleaseClan(this); serverMessage("Thành viên đã gia nhập vào gia tộc " + this.clan.getName()); _char.serverMessage("Bạn đã gia nhập vào gia tộc " + this.clan.getName()); _char.getService().updateInfoMe(); } else { serverDialog("Gia tộc đã đủ thành viên."); } } else { serverDialog("Người mời đã rời khỏi khu vực."); } } catch (Exception ex) { Log.error("accept please clan err: " + ex.getMessage(), ex); serverDialog(ex.getMessage()); } } public void clanPlease(Message ms) { try { int charId = ms.reader().readInt(); System.out.println("charID " + charId); Char _char = zone.findCharById(charId); // if (_char == null) { // return; // } // if (this.clan == null) { // return; // } Clan clan = _char.clan; List<Member> members = clan.memberDAO.getAll(); PlayerInvite p = _char.invite.findCharInvite(Invite.XIN_VAO_GIA_TOC, this.id); if (p != null) { serverDialog("Không thể xin vào vào liên tục. Vui lòng thử lại sau 30s nữa."); return; } if (members.size() >= clan.getMemberMax()) { serverMessage("Gia tộc đã đủ thành viên"); return; } _char.invite.addCharInvite(Invite.XIN_VAO_GIA_TOC, this.id, 30); _char.getService().clanplease(this); } catch (Exception ex) { // TODO: handle exception Log.error("err clan please: " + ex.getMessage(), ex); } }
Leave a Comment