Untitled
unknown
java
10 months ago
4.3 kB
7
Indexable
// 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);
}
}Editor is loading...
Leave a Comment