📄 c_logintoserver.java
字号:
pc.startHpRegeneration();
pc.startMpRegeneration();
pc.startObjectAutoUpdate();
client.CharReStart(false);
pc.beginExpMonitor();
pc.save(); // DBにキャラクター情報を書き込む
pc.sendPackets(new S_OwnCharStatus(pc));
if (pc.getHellTime() > 0) {
pc.beginHell(false);
}
}
private void items(L1PcInstance pc) {
// DBからキャラクターと倉庫のアイテムを読み込む
CharacterTable.getInstance().restoreInventory(pc);
pc.sendPackets(new S_InvList(pc.getInventory().getItems()));
}
private void bookmarks(L1PcInstance pc) {
Connection con = null;
PreparedStatement pstm = null;
ResultSet rs = null;
try {
con = L1DatabaseFactory.getInstance().getConnection();
pstm = con
.prepareStatement("SELECT * FROM character_teleport WHERE char_id=? ORDER BY name ASC");
pstm.setInt(1, pc.getId());
rs = pstm.executeQuery();
while (rs.next()) {
L1BookMark bookmark = new L1BookMark();
bookmark.setId(rs.getInt("id"));
bookmark.setCharId(rs.getInt("char_id"));
bookmark.setName(rs.getString("name"));
bookmark.setLocX(rs.getInt("locx"));
bookmark.setLocY(rs.getInt("locy"));
bookmark.setMapId(rs.getShort("mapid"));
S_Bookmarks s_bookmarks = new S_Bookmarks(bookmark.getName(),
bookmark.getMapId(), bookmark.getId());
pc.addBookMark(bookmark);
pc.sendPackets(s_bookmarks);
}
} catch (SQLException e) {
_log.log(Level.SEVERE, e.getLocalizedMessage(), e);
} finally {
SQLUtil.close(rs);
SQLUtil.close(pstm);
SQLUtil.close(con);
}
}
private void skills(L1PcInstance pc) {
Connection con = null;
PreparedStatement pstm = null;
ResultSet rs = null;
try {
con = L1DatabaseFactory.getInstance().getConnection();
pstm = con
.prepareStatement("SELECT * FROM character_skills WHERE char_obj_id=?");
pstm.setInt(1, pc.getId());
rs = pstm.executeQuery();
int i = 0;
int lv1 = 0;
int lv2 = 0;
int lv3 = 0;
int lv4 = 0;
int lv5 = 0;
int lv6 = 0;
int lv7 = 0;
int lv8 = 0;
int lv9 = 0;
int lv10 = 0;
int lv11 = 0;
int lv12 = 0;
int lv13 = 0;
int lv14 = 0;
int lv15 = 0;
int lv16 = 0;
int lv17 = 0;
int lv18 = 0;
int lv19 = 0;
int lv20 = 0;
int lv21 = 0;
int lv22 = 0;
int lv23 = 0;
int lv24 = 0;
int lv25 = 0;
int lv26 = 0;
int lv27 = 0;
int lv28 = 0;
while (rs.next()) {
int skillId = rs.getInt("skill_id");
L1Skills l1skills = SkillsTable.getInstance().getTemplate(
skillId);
if (l1skills.getSkillLevel() == 1) {
lv1 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 2) {
lv2 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 3) {
lv3 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 4) {
lv4 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 5) {
lv5 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 6) {
lv6 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 7) {
lv7 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 8) {
lv8 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 9) {
lv9 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 10) {
lv10 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 11) {
lv11 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 12) {
lv12 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 13) {
lv13 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 14) {
lv14 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 15) {
lv15 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 16) {
lv16 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 17) {
lv17 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 18) {
lv18 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 19) {
lv19 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 20) {
lv20 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 21) {
lv21 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 22) {
lv22 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 23) {
lv23 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 24) {
lv24 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 25) {
lv25 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 26) {
lv26 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 27) {
lv27 |= l1skills.getId();
}
if (l1skills.getSkillLevel() == 28) {
lv28 |= l1skills.getId();
}
i = lv1 + lv2 + lv3 + lv4 + lv5 + lv6 + lv7 + lv8 + lv9 + lv10
+ lv11 + lv12 + lv13 + lv14 + lv15 + lv16 + lv17 + lv18
+ lv19 + lv20 + lv21 + lv22 + lv23 + lv24 + lv25 + lv26 + lv27 + lv28;
//施法前判斷有無學過法術 by 0936690278
//XXX 登入時紀錄學過的skill
pc.setSkillMastery(skillId);
//END
//~施法前判斷有無學過法術 by 0936690278
}
if (i > 0) {
pc.sendPackets(new S_AddSkill(lv1, lv2, lv3, lv4, lv5, lv6,
lv7, lv8, lv9, lv10, lv11, lv12, lv13, lv14, lv15,
lv16, lv17, lv18, lv19, lv20, lv21, lv22, lv23, lv24, lv25, lv26, lv27, lv28));
// _log.warning("ここたち来るのね@直訳");
}
} catch (SQLException e) {
_log.log(Level.SEVERE, e.getLocalizedMessage(), e);
} finally {
SQLUtil.close(rs);
SQLUtil.close(pstm);
SQLUtil.close(con);
}
}
private void serchSummon(L1PcInstance pc) {
for (L1SummonInstance summon : L1World.getInstance().getAllSummons()) {
if (summon.getMaster().getId() == pc.getId()) {
summon.setMaster(pc);
pc.addPet(summon);
for (L1PcInstance visiblePc : L1World.getInstance()
.getVisiblePlayer(summon)) {
visiblePc.sendPackets(new S_SummonPack(summon, visiblePc));
}
}
}
}
private void buff(ClientThread clientthread, L1PcInstance pc) {
Connection con = null;
PreparedStatement pstm = null;
ResultSet rs = null;
try {
con = L1DatabaseFactory.getInstance().getConnection();
pstm = con
.prepareStatement("SELECT * FROM character_buff WHERE char_obj_id=?");
pstm.setInt(1, pc.getId());
rs = pstm.executeQuery();
while (rs.next()) {
int skillid = rs.getInt("skill_id");
int remaining_time = rs.getInt("remaining_time");
if (skillid == SHAPE_CHANGE) { // 変身
int poly_id = rs.getInt("poly_id");
L1PolyMorph.doPoly(pc, poly_id, remaining_time, L1PolyMorph
.MORPH_BY_LOGIN);
} else if (skillid == STATUS_BRAVE) { // ブレイブ ポーション等
pc.sendPackets(new S_SkillBrave(pc.getId(), 1,
remaining_time));
pc.broadcastPacket(new S_SkillBrave(pc.getId(), 1, 0));
pc.setBraveSpeed(1);
pc.setSkillEffect(skillid, remaining_time * 1000);
// 經驗加倍藥水
} else if (skillid == L1SkillId.EXP_UP_A || skillid == L1SkillId.EXP_UP_B || skillid == L1SkillId.EXP_UP_C) { // 經驗加倍狀態
pc.setSkillEffect(skillid, remaining_time * 1000);
// end
} else if (skillid == STATUS_ELFBRAVE) { // エルヴンワッフル
pc.sendPackets(new S_SkillBrave(pc.getId(), 3,
remaining_time));
pc.broadcastPacket(new S_SkillBrave(pc.getId(), 3, 0));
pc.setBraveSpeed(1);
pc.setSkillEffect(skillid, remaining_time * 1000);
} else if (skillid == STATUS_HASTE) { // グリーン ポーション
pc.sendPackets(new S_SkillHaste(pc.getId(), 1,
remaining_time));
pc.broadcastPacket(new S_SkillHaste(pc.getId(), 1, 0));
pc.setMoveSpeed(1);
pc.setSkillEffect(skillid, remaining_time * 1000);
} else if (skillid == STATUS_BLUE_POTION) { // ブルーポーション
pc.sendPackets(new S_SkillIconGFX(34, remaining_time));
pc.setSkillEffect(skillid, remaining_time * 1000);
} else if (skillid == STATUS_CHAT_PROHIBITED) { // チャット禁止
pc.sendPackets(new S_SkillIconGFX(36, remaining_time));
pc.setSkillEffect(skillid, remaining_time * 1000);
} else if (skillid >= COOKING_1_0_N && skillid <= COOKING_1_6_N
|| skillid >= COOKING_1_0_S && skillid <= COOKING_1_6_S
|| skillid >= COOKING_2_0_N && skillid <= COOKING_2_6_N
|| skillid >= COOKING_2_0_S && skillid <= COOKING_2_6_S
|| skillid >= COOKING_3_0_N && skillid <= COOKING_3_6_N
|| skillid >= COOKING_3_0_S && skillid <= COOKING_3_6_S) { // 料理(デザートは除く)
L1Cooking.eatCooking(pc, skillid, remaining_time);
} else {
L1SkillUse l1skilluse = new L1SkillUse();
l1skilluse.handleCommands(clientthread.getActiveChar(),
skillid, pc.getId(), pc.getX(), pc.getY(), null,
remaining_time, L1SkillUse.TYPE_LOGIN);
}
}
} catch (SQLException e) {
_log.log(Level.SEVERE, e.getLocalizedMessage(), e);
} finally {
SQLUtil.close(rs);
SQLUtil.close(pstm);
SQLUtil.close(con);
}
}
@Override
public String getType() {
return C_LOGIN_TO_SERVER;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -