젠틀님의 요청으로 인해 올립니다 [같은 계정 다른혈맹 중복가입 불가능]
위치 : C_JoinClan.java
private void JoinClan << 검색후 아래 적당한 곳에 추가 !
if(player.getClanid()==0){ //혈맹에 가입하지 않았으면서 현재캐릭이 클란에 가입 하려하면
boolean Checking = player.clanid_search1(player.getNetConnection().getAccountName(),target.getClanid());
if(Checking == true){ // 상대의 클랜아디이와 다르면 가입을 거부시킨다.
player.sendPackets(new S_SystemMessage("당신의 계정내 한캐릭은 이미 다른 혈맹에 가입중입니다. "));
player.sendPackets(new S_SystemMessage("한 계정내 캐릭들은 같은 혈맹만 가입 가능합니다. "));
target.sendPackets(new S_SystemMessage("상대방의 계정에 캐릭터가 다른 혈맹에 가입중입니다."));
return ;
}
}
추가하시면 아마 서치부분에 오류 뜰겁니다 메소드가 없다고
L1PcInstance.java
적당한 곳에 넣어주세요
/**여기서부터**/
public boolean clanid_search1(String i, int SS) { // 캐릭명이 디비에 있는지 검사하고 정보를
// 넘겨준다.
java.sql.Connection accountObjid = null; // 이름으로 objid를 검색하기 위해
PreparedStatement Query_objid = null;
ResultSet rs = null;
try {
int count = 0;
accountObjid = L1DatabaseFactory.getInstance().getConnection();
Query_objid = accountObjid
.prepareStatement("SELECT ClanID FROM characters WHERE account_name = '"
+ i + "'");
rs = Query_objid.executeQuery();
while (rs.next()) {
int aa = rs.getInt("ClanID");
if (aa != 0 && aa != SS) {
count++;
break;
}
}
if (count > 0) {
return true;
}
return false;
} catch (Exception e) {
} finally {
SQLUtil.close(rs);
SQLUtil.close(Query_objid);
SQLUtil.close(accountObjid);
}
return false;
}
/**여기까지**/

SNIKUDO 님의 최근 댓글