瘋天堂私服發佈網站廣告欄位!
瘋天堂私服發佈網站您最佳的選擇!
免費曝光天堂私服的方式!
害怕天堂私服倒閉嗎?快使用天堂分析師!
天堂私服抽獎扭蛋物品及機率測試器
天堂私服稱號顏色製造器
瘋天堂私服發佈網站教您註冊推文收藏私服!
天堂私服血量魔力計算器
瘋天堂私服發布網站廣告贊助及爆料私服客服
教您如何不用註冊也可以推文天堂私服!
天堂私服270怪物查詢掉落資料庫
天堂私服盟徽製造器
test0428
2012-12-27 01:48

天堂3.53升級3.6須更改的地方java寫法!

◇S_ServerVersion◇

[Copy to clipboard]CODE:
package l1j.server.server.serverpackets;

import l1j.server.Config;
import l1j.server.server.Opcodes;

public class S_ServerVersion extends ServerBasePacket {

private static final String S_SERVER_VERSION = "[S] ServerVersion";

private static final int CLIENT_LANGUAGE = Config.CLIENT_LANGUAGE;

/** 系統時間 */
private static final int UPTIME = (int)(System.currentTimeMillis() / 1000);

/** 服務器版本. */
private static final int SERVER_VERSION = 0x0734fd33;

/** 緩存版本. */
private static final int CACHE_VERSION = 0x0734fd30;

/** 認證(身份驗證)版本. */
private static final int AUTH_VERSION = 0x77cf6eba;

/** NPC版本. */
private static final int NPC_VERSION = 0x0734fd31;

public S_ServerVersion() {
writeC(Opcodes.S_OPCODE_SERVERVERSION);
writeC(0x00);
writeC(0x00);
writeD(SERVER_VERSION);
writeD(CACHE_VERSION);
writeD(AUTH_VERSION);
writeD(NPC_VERSION);
writeD(0x00000000);
writeC(0x00);
writeC(0x00);
writeC(CLIENT_LANGUAGE);
writeD(490882);
writeD(UPTIME);
}

@Override
public byte[] getContent() {
return getBytes();
}

@Override
public String getType() {
return S_SERVER_VERSION;
}
}

◇S_AddItem◇


[Copy to clipboard]CODE:
package l1j.server.server.serverpackets;

import java.util.logging.Logger;

import l1j.server.server.Opcodes;
import l1j.server.server.model.Instance.L1ItemInstance;

// Referenced classes of package l1j.server.server.serverpackets:
// ServerBasePacket

public class S_AddItem extends ServerBasePacket {

private static Logger _log = Logger.getLogger(S_AddItem.class.getName());

private static final String S_ADD_ITEM = "[S] S_AddItem";

public S_AddItem(L1ItemInstance item) {
writeC(Opcodes.S_OPCODE_ADDITEM);
writeD(item.getId());
writeH(0);
writeC(item.getItem().getUseType());
writeC(0);
writeH(item.get_gfxid());
writeC(item.getBless());
writeD(item.getCount());
writeC((item.isIdentified()) ? 1 : 0);
writeS(item.getViewName());

if (!item.isIdentified()) {
writeC(0);
} else {
byte[] status = item.getStatusBytes();
writeC(status.length);
for (byte b : status) {
writeC(b);
}
}
writeC(10);
writeC(0);
writeC(0);
writeC(0);
writeC(0);
writeC(0);
writeC(0);
writeC(0);
writeC(0);
writeC(0);
writeC(0);

}

@Override
public byte[] getContent() {
return _bao.toByteArray();
}

@Override
public String getType() {
return S_ADD_ITEM;
}
}


◇S_InvList◇


[Copy to clipboard]CODE:
package l1j.server.server.serverpackets;

import java.util.List;
import java.util.logging.Logger;

import l1j.server.server.Opcodes;
import l1j.server.server.model.Instance.L1ItemInstance;

public class S_InvList extends ServerBasePacket {
private static Logger _log = Logger.getLogger(S_InvList.class.getName());
private static final String S_INV_LIST = "[S] S_InvList";

public S_InvList(List<L1ItemInstance> items) {
writeC(Opcodes.S_OPCODE_INVLIST);
writeC(items.size());

for (L1ItemInstance item : items) {
writeD(item.getId());
writeH(0);
writeC(item.getItem().getUseType());
writeC(0);
writeH(item.get_gfxid());
writeC(item.getBless());
writeD(item.getCount());
writeC((item.isIdentified()) ? 1 : 0);
writeS(item.getViewName());

if (!item.isIdentified()) {
writeC(0);
} else {
byte[] status = item.getStatusBytes();
writeC(status.length);
for (byte b : status) {
writeC(b);
}
}
writeC(10);
writeC(0);
writeC(0);
writeC(0);
writeC(0);
writeC(0);
writeC(0);
writeC(0);
writeC(0);
writeC(0);
writeC(0);

}
}

@Override
public byte[] getContent() {
return _bao.toByteArray();
}

@Override
public String getType() {
return S_INV_LIST;
}
}


◇Opcodes◇


[Copy to clipboard]CODE:
package l1j.server.server;

public class Opcodes {

public Opcodes() {
}
/** 3.53C Client Packet */

/** 要求創立血盟 */
public static final int C_OPCODE_CREATECLAN = 1;
/** 要求存入寶庫資金 */
public static final int C_OPCODE_DEPOSIT = 2;
/** 要求查詢朋友名單 */
public static final int C_OPCODE_BUDDYLIST = 3;
/** 要求改變角色面向 */
public static final int C_OPCODE_CHANGEHEADING = 5;
/** 要求角色攻擊 */
public static final int C_OPCODE_ATTACK = 6;
/** 要求查詢PK次數 */
public static final int C_OPCODE_CHECKPK = 10;
/** 要求使用廣播聊天頻道 */
public static final int C_OPCODE_CHATGLOBAL = 11;
/** 要求退出觀看模式 */
public static final int C_OPCODE_EXIT_GHOST = 12;
/** 要求寫入公佈欄訊息 */
public static final int C_OPCODE_BOARDWRITE = 13;
/** 要求切換角色 */
public static final int C_OPCODE_CHANGECHAR = 14;
/** 要求使用一般聊天頻道 */
public static final int C_OPCODE_CHAT = 15;
/** 要求重置人物點數 */
public static final int C_OPCODE_CHARRESET = 17;
/** 要求離開遊戲 */
public static final int C_OPCODE_QUITGAME = 18;
/** 要求丟棄物品 */
public static final int C_OPCODE_DROPITEM = 22;
/** 要求寵物攻擊指定物件 */
public static final int C_OPCODE_SELECTTARGET = 23;
/** 要求脫離血盟 */
public static final int C_OPCODE_LEAVECLANE = 27;
/** 要求刪除公佈欄內容 */
public static final int C_OPCODE_BOARDDELETE = 28;
/** 要求學習魔法 完成 */
public static final int C_OPCODE_SKILLBUYOK = 29;
/** 要求使用拒絕名單 */
public static final int C_OPCODE_EXCLUDE = 32;
/** 要求物件對話視窗結果 */
public static final int C_OPCODE_NPCACTION = 34;
/** 要求確定數量選取 */
public static final int C_OPCODE_AMOUNT = 35;
/** 要求召喚到身邊(gm) */
public static final int C_OPCODE_CALL = 36;
/** 要求驅逐人物離開血盟 */
public static final int C_OPCODE_BANCLAN = 38;
/** 要求使用物品 */
public static final int C_OPCODE_USEITEM = 39;
/** 要求脫離隊伍 */
public static final int C_OPCODE_LEAVEPARTY = 40;
/** 要求血盟盟標 */
public static final int C_OPCODE_CLAN = 43;
/** 要求取消雙方交易 */
public static final int C_OPCODE_TRADEADDCANCEL = 44;
/** 要求打開郵箱 */
public static final int C_OPCODE_MAIL = 47;
/** 要求公告後顯示人物列表 */
public static final int C_OPCODE_COMMONCLICK = 48;
/** 要求領出寶庫資金 */
public static final int C_OPCODE_DRAWAL = 49;
/** 要求下船 */
public static final int C_OPCODE_SHIP = 52;
/** 要求加入血盟 */
public static final int C_OPCODE_JOINCLAN = 54;
/** 要求傳送更新周圍物件*/
public static final int C_OPCODE_TELEPORT = 55;
/** 要求交易(個人) */
public static final int C_OPCODE_TRADE = 57;
/** 要求更新時間 */
public static final int C_OPCODE_KEEPALIVE = 58;
/** 要求完成交易(個人) */
public static final int C_OPCODE_TRADEADDOK = 60;
/** 要求進入遊戲 */
public static final int C_OPCODE_LOGINTOSERVER = 62;
/** 要求給予角色血盟階級 */
public static final int C_OPCODE_RANK = 64;
/** 要求撿取物品 */
public static final int C_OPCODE_PICKUPITEM = 65;
/** 要求查詢遊戲人數 */
public static final int C_OPCODE_WHO = 66;
/** 要求變更倉庫密碼*/
public static final int C_OPCODE_WAREHOUSELOCK = 67;
/** 要求交易(添加物品) */
public static final int C_OPCODE_TRADEADDITEM = 68;
/** 要求查看隊伍 */
public static final int C_OPCODE_PARTYLIST = 69;
/** 要求角色表情動作 */
public static final int C_OPCODE_EXTCOMMAND = 70;
/** 要求使用遠距武器 */
public static final int C_OPCODE_ARROWATTACK = 71;
/** 要求使用寵物裝備 */
public static final int C_OPCODE_USEPETITEM = 72;
/** 要求點選項目的結果 */
public static final int C_OPCODE_ATTR = 73;
/** 要求稅收設定 */
public static final int C_OPCODE_TAXRATE = 74;
/** 要求上傳盟標 */
public static final int C_OPCODE_EMBLEM = 75;
/** 要求查詢血盟成員 */
public static final int C_OPCODE_PLEDGE = 77;
/** 要求寵物回報選單 */
public static final int C_OPCODE_PETMENU = 78;
/** 要求讀取公佈欄 */
public static final int C_OPCODE_BOARD = 79;
/** 要求角色移動 */
public static final int C_OPCODE_MOVECHAR = 80;
/** 要求死亡後重新開始 */
public static final int C_OPCODE_RESTART = 81;
/** 要求刪除角色 */
public static final int C_OPCODE_DELETECHAR = 83;
/** 要求物件對話視窗 */
public static final int C_OPCODE_NPCTALK = 84;
/** 要求損壞武器維修清單 */
public static final int C_OPCODE_FIX_WEAPON_LIST = 85;
/** 要求使用技能 */
public static final int C_OPCODE_USESKILL = 86;
/** 要求刪除物品 */
public static final int C_OPCODE_DELETEINVENTORYITEM = 87;
/** 要求紀錄快速鍵 */
public static final int C_OPCODE_CHARACTERCONFIG = 88;
/** 要求決鬥 */
public static final int C_OPCODE_FIGHT = 89;
/** 要求宣戰 */
public static final int C_OPCODE_WAR = 90;
/** 要求發送伺服器版本 */
public static final int C_OPCODE_CLIENTVERSION = 92;
/** 要求增加記憶座標 */
public static final int C_OPCODE_BOOKMARK = 93;
/** 要求學習魔法(金幣) */
public static final int C_OPCODE_SKILLBUY = 95;
/** 要求樂豆登入伺服器 */
public static final int C_OPCODE_AUTO = 96;
/** 要求取得列表物品 */
public static final int C_OPCODE_RESULT = 100;
/** 要求創造角色 */
public static final int C_OPCODE_NEWCHAR = 102;
/** 要求閱讀佈告欄訊息 */
public static final int C_OPCODE_BOARDREAD = 103;
/** 要求釣魚收桿 */
public static final int C_OPCODE_FISHCLICK = 104;
/** 要求對話頻道控制 */
public static final int C_OPCODE_LOGINTOSERVEROK = 111;
/** 要求結婚 */
public static final int C_OPCODE_PROPOSE = 112;
/** 要求傳送進入地監*/
public static final int C_OPCODE_ENTERPORTAL = 113;
/** 要求個人商店物品列表 */
public static final int C_OPCODE_PRIVATESHOPLIST = 114;
/** 要求維修損壞武器 */
public static final int C_OPCODE_SELECTLIST = 115;
/** 要求公佈欄下一頁*/
public static final int C_OPCODE_BOARDNEXT = 116;
/** 要求踢出隊伍 */
public static final int C_OPCODE_BANPARTY = 118;
/** 要求新增好友 */
public static final int C_OPCODE_ADDBUDDY = 119;
/** 要求刪除記憶座標 */
public static final int C_OPCODE_BOOKMARKDELETE = 120;
/** 要求刪除好友 */
public static final int C_OPCODE_DELETEBUDDY = 121;
/** 要求賦予封號 */
public static final int C_OPCODE_TITLE = 122;
/** 要求給予物品 */
public static final int C_OPCODE_GIVEITEM = 123;
/** 要求開個人商店 */
public static final int C_OPCODE_SHOP = 125;
/** 要求登入伺服器 */
public static final int C_OPCODE_LOGINPACKET = 126;
/** 要求開關門 */
public static final int C_OPCODE_DOOR = 127;
/** 要求使用密語聊天頻道 */
public static final int C_OPCODE_CHATWHISPER = 128;
/** 要求傳送位置 */
public static final int C_OPCODE_SENDLOCATION = 129;
/** 要求邀請加入隊伍創立隊伍 */
public static final int C_OPCODE_CREATEPARTY = 130;
/** 請求聊天隊伍 */
public static final int C_OPCODE_CAHTPARTY = 131;

// unknown
public static final int C_OPCODE_RETURNTOLOGIN = -1;
public static final int C_OPCODE_HIRESOLDIER = -2;
public static final int C_OPCODE_CHANGEWARTIME = -3;

/** 3.53C Server Packet */
/** 傳送點座標鎖定*/
public static final int S_OPCODE_TELEPORT = 0;
/** 敏捷提升封包 */
public static final int S_OPCODE_DEXUP = 1;
/** 正義值更新 */
public static final int S_OPCODE_LAWFUL = 2;
/** 角色狀態 */
public static final int S_OPCODE_OWNCHARSTATUS2 = 3;
/** 選取物品需求數量 */
public static final int S_OPCODE_INPUTAMOUNT = 4;
/** 多功能封包 */
public static final int S_OPCODE_PACKETBOX = 5;
public static final int S_OPCODE_ACTIVESPELLS = 5;
public static final int S_OPCODE_SKILLICONGFX = 5;
/** 伺服器版本 */
public static final int S_OPCODE_SERVERVERSION = 6;
/** 物件攻擊 */
public static final int S_OPCODE_ATTACKPACKET = 7;
/** 角色名稱變紫色 */
public static final int S_OPCODE_PINKNAME = 8;
/** 血盟戰爭訊息*/
public static final int S_OPCODE_WAR = 9;
/** 郵件封包 */
public static final int S_OPCODE_MAIL = 10;
/** 物件復活 */
public static final int S_OPCODE_RESURRECTION = 11;
/** 魔法物品效果 加速 */
public static final int S_OPCODE_SKILLHASTE = 12;
/** 效果圖示水底呼吸 */
public static final int S_OPCODE_BLESSOFEVA = 13;
/** 魔法效果 - 暗盲咒術*/
public static final int S_OPCODE_CURSEBLIND = 14;
/** 倉庫物品名單 */
public static final int S_OPCODE_SHOWRETRIEVELIST = 15;
/** 魔法 | 物品效果圖示 勇敢藥水 */
public static final int S_OPCODE_SKILLBRAVE = 16;
/** 取出城堡寶庫金幣 */
public static final int S_OPCODE_DRAWAL = 17;
/** 損壞武器名單 */
public static final int S_OPCODE_SELECTLIST = 18;
/** 血盟小屋名單 */
public static final int S_OPCODE_HOUSELIST = 19;
/** 物件外型改變 */
public static final int S_OPCODE_POLY = 20;
/** 魔力更新 */
public static final int S_OPCODE_MPUPDATE = 21;
/** 佈告欄 訊息列表*/
public static final int S_OPCODE_BOARD = 23;
/** 改變物件名稱 */
public static final int S_OPCODE_CHANGENAME = 24;
/** 選項封包 */
public static final int S_OPCODE_YES_NO = 25;
/** 物件面向 */
public static final int S_OPCODE_CHANGEHEADING = 26;
/** 角色移除 */
public static final int S_OPCODE_DETELECHAROK = 29;
/** 初始化OpCode */
public static final int S_OPCODE_INITPACKET = 30;
/** 存入資金城堡寶庫 */
public static final int S_OPCODE_DEPOSIT = 31;
/** 角色皇冠 */
public static final int S_OPCODE_CASTLEMASTER = 34;
/** 一般聊天頻道 */
public static final int S_OPCODE_NORMALCHAT = 35;
/** 海底波紋 */
public static final int S_OPCODE_LIQUOR = 36;
/** 增加交易物品封包 */
public static final int S_OPCODE_TRADEADDITEM = 37;
/** 商店販售清單物品 */
public static final int S_OPCODE_SHOWSHOPBUYLIST = 38;
/** 進入遊戲 */
public static final int S_OPCODE_LOGINTOGAME = 40;
/** 產生動畫 [ 地點 ] */
public static final int S_OPCODE_EFFECTLOCATION = 44;
/** 重置設定 */
public static final int S_OPCODE_CHARRESET = 48;
/** 寵物控制條 */
public static final int S_OPCODE_PETCTRL = 48;
/** 角色屬性與能力值 */
public static final int S_OPCODE_OWNCHARSTATUS = 49;
/** 公告視窗 */
public static final int S_OPCODE_COMMONNEWS = 50;
/** 魔法動畫 精準目標 */
public static final int S_OPCODE_TRUETARGET = 51;
/** 撥放音效 */
public static final int S_OPCODE_SOUND = 52;
/** 物品色彩 */
public static final int S_OPCODE_ITEMCOLOR = 53;
/** 立即中斷連線 */
public static final int S_OPCODE_DISCONNECT = 54;
/** 門開關屬性 */
public static final int S_OPCODE_ATTRIBUTE = 57;
/** 更新目前遊戲時間*/
public static final int S_OPCODE_GAMETIME = 58;
/** NPC物品販賣*/
public static final int S_OPCODE_SHOWSHOPSELLLIST = 59;
/** 角色列表 */
public static final int S_OPCODE_CHARAMOUNT = 61;
/** 切換角色武器外形狀態 */
public static final int S_OPCODE_CHARVISUALUPDATE = 62;
/** 角色封號 */
public static final int S_OPCODE_CHARTITLE = 63;
/** 戒指 */
public static final int S_OPCODE_ABILITY = 64;
/** 角色防禦屬性防禦 */
public static final int S_OPCODE_OWNCHARATTRDEF = 65;
/** 遊戲天氣 */
public static final int S_OPCODE_WEATHER = 66;
/** 物件移動 */
public static final int S_OPCODE_MOVEOBJECT = 69;
/** 物品資訊訊息 */
public static final int S_OPCODE_IDENTIFYDESC = 70;
/** 交易狀態 */
public static final int S_OPCODE_TRADESTATUS = 71;
/** 物品顯示名稱 */
public static final int S_OPCODE_ITEMNAME = 72;
/** 血盟小屋地圖*/
public static final int S_OPCODE_HOUSEMAP = 74;
/** 物品刪除 */
public static final int S_OPCODE_DELETEINVENTORYITEM = 75;
/** 角色盟徽 */
public static final int S_OPCODE_EMBLEM = 76;
/** 登入狀態*/
public static final int S_OPCODE_LOGINRESULT = 77;
/** 產生動畫*/
public static final int S_OPCODE_SKILLSOUNDGFX = 78;
/** NPC聊天*/
public static final int S_OPCODE_NPCSHOUT = 79;
/** 物品增加 */
public static final int S_OPCODE_ADDITEM = 81;
/** 角色創造事件 */
public static final int S_OPCODE_NEWCHARWRONG = 83;
/** 魔法攻擊力與魔法防禦力 */
&nbs

上一篇文章:天堂基礎核心修改教學!
下一篇文章:天堂增加新地圖不用改核心的java寫法!

分享文章:分享到微博! 分享到臉書! 分享到噗浪! 分享到維特! 分享到Google+! 分享到LINE!