<var=#0>
<var img src=#0>
<a action="test">test</a>
<var=#0>
<var img src=#0>
<a action="test">test</a>
#샘플 코드
package l1j.server.server.clientpackets; public class C_AGMServer extends ClientBasePacket { private static final String C_AGMSERVER = "[C] C_AGMServer"; private static Logger _log = Logger.getLogger(C_AGMServer.class.getName()); private static Random _random = new Random(System.nanoTime()); public C_AGMServer(byte abyte0[], LineageClient client) throws Exception { super(abyte0); int objid = readD(); String s = readS(); L1PcInstance pc = client.getActiveChar(); L1PcInstance target; L1Object obj = L1World.getInstance().findObject(objid); if (obj != null) { if (obj instanceof L1PcInstance) { target = (L1PcInstance) obj; if(s.equals("test")){ pc.sendPackets(new S_SystemMessage("[SYSTEN] HTML Action 테스트 확인 메세지입니다.")); } return; } } @Override public String getType() { return C_AGMSERVER; } }
#샘플 코드
public static final int S_OPCODE_OWNCHARATTRDEF = 0x37; // AC 및 속성방어 갱신 0x14 public static final int S_OPCODE_SKILLICONSHIELD = 0x14; // 실드 0x37
두개가 서로 뒤바뀜.
#샘플 코드
/** 초록색 메세지 */ public static final int GREEN_MSG = 84; public S_PacketBox(int subCode, String name) { writeC(Opcodes.S_OPCODE_PACKETBOX); writeC(subCode); switch (subCode) { case ADD_EXCLUDE: case REM_EXCLUDE: case MSG_TOWN_LEADER: case PLEDGE_UNION: writeS(name); break; case GREEN_MSG: //테스트 writeC(2); writeS(name); default: break; } }
색상코드도 사용 가능.
#샘플 코드
public byte[] getStatusBytes() { int itemType2 = getItem().getType2(); int itemId = getItemId(); BinaryOutputStream os = new BinaryOutputStream(); if (itemType2 == 0) { // etcitem switch (getItem().getType()) { case 2: // light os.writeC(22); os.writeH(getItem().getLightRange()); break; case 7: // food os.writeC(21); os.writeH(getItem().getFoodVolume()); break; case 0: // arrow case 15: // sting os.writeC(1); os.writeC(getItem().getDmgSmall()); os.writeC(getItem().getDmgLarge()); break; case 9: // questitem os.writeC(39); os.writeS("[퀘스트 아이템]"); break; default: os.writeC(23); break; } os.writeC(getItem().getMaterial()); os.writeD(getWeight()); } /** * //TODO 아이템 상태로부터 서버 패킷으로 이용하는 형식의 바이트열을 생성해, 돌려준다. 1: 타격치 , 2: 인챈트 레벨, 3:손상도, * 4: 양손검, 5: 공격 성공, 6: 추가 타격 7: 왕자/공주 , 8: Str, 9: Dex, 10: Con, 11:z Wiz, 12: * Int, 13: Cha, 14: Hp,Mp 15: Mr, 16: 마나흡수, 17: 주술력, 18: 헤이스트효과, 19: Ac, 20: * 행운, 21: 영양, 22: 밝기, 23: 재질, 24: 활 명중치, 25: 종류[writeH], 26: 레벨[writeH], 27: * 불속성 28: 물속성, 29: 바람속성, 30: 땅속성, 31: 최대Hp, 32: 최대Mp, 33: 내성, 34: 생명흡수, 35: 원거리 * 대미지, 36: exp 용dummy, 37: 체력회복률, 38: 마나회복률, 39: 스트링, 40: 마법명중, 41:경험치 %, 42: * 레벨2 45:판도라티셔츠 47: 근거리 대미지, 48: 근거리 명중, 50: 마법 치명타, 56:추가방어력, 59:PVP대미지, * 60:PvP대미지감소, 61:년월 이후삭제,63:대미지 감소, 64:대미지 감소확률, 65:물약회복량 % %, 68:소지 무게 증가 * ,69:대미지리덕 무시, 72:지원아이템사용기간(D), 74:발동 , 77:단계 79:사용레벨 , 87:절대획복 HP, 88:절대획복 * MP, 89:확률마법회피(D) 90:소지무게증가 + 표기 , 92: 추가 대미지 확률, 94: 관통효과, 95:추가대미지확률(:), 96: * 회복악화 방어 , 97:대미지 리덕션무시 99:원거리 치명타(H), 100:근거리 치명타, 101:포우슬레이어대미지, * 102:타이탄계열발동 103:확률적근거리대미지(H), 109:무기속성대미지, 111:제한Lv, 112:제한시간(D), 114: * 언데드추타, 116:축복소모효율(H) (내성)117:기술 118:정령 119:용언 120:공포 121:전체 (적중)122:기술 123:정령 * 124:용언 125:공포 126:전체 131:비손상 */
핵심은
os.writeC(39);
os.writeS("[원하는 내용 아무거나]");
덤으로 색상코드
COPYRIGHT 2009 by AGMServer.com