public void SEND_CRYPTOBUFFER(Session PLAYER) { try { byte[] NEW_CRYPTO_KEY = GENERATE_(); byte[] NEW_CRYPTO_AUTH = GENERATE_(); PacketWrite WB = new PacketWrite(); WB.Short(24787); WB.Int(8); WB.ArrayBytes(NEW_CRYPTO_AUTH); WB.Int(8); WB.ArrayBytes(NEW_CRYPTO_KEY); WB.Int(1); WB.Int(0); WB.Int(0); PLAYER.SendPacket(WB, 1); PLAYER.Cryptography.AUTHENTIC_KEY = NEW_CRYPTO_AUTH; PLAYER.Cryptography.CRYPTOGRAPHY_KEY = NEW_CRYPTO_KEY; PacketWrite WAIT_TIME = new PacketWrite(); WAIT_TIME.Int(100); PLAYER.SendPacket(WAIT_TIME, 5); System.Threading.Thread.Sleep(100); } catch (Exception ex) { Log.Write("\n===========:Error:===========\n{0}\n{1}\n=============================n", ex.Message, ex.StackTrace); } }
public void BundleSellItens(Session p, PacketRead r) { PacketWrite pw = new PacketWrite(); r.Int(); int m_dwDeleteCount = r.Int(); pw.Int(m_dwDeleteCount); for (int i = 0; i < m_dwDeleteCount; i += 1) { int unk = r.Int(); pw.Int(unk); uint m_dwUID = r.UInt(); pw.UInt(m_dwUID); p.PInfo.m_iGamePoint += SelectPrice(m_dwUID); RemoveItem(p.PInfo.m_strLogin, m_dwUID); } int unk2 = r.Int(); pw.Int(unk2); PacketWrite ks = new PacketWrite(); ks.Int(0);//dwOK ks.Int(p.PInfo.m_iGamePoint); ks.Long(0); ks.ArrayBytes(pw.Get_Packet()); p.SendPacket(ks, 867); }
public static void KInDoorItemInfo(int m_dwID, int m_dwUID, PacketWrite ks) { ks.Int(m_dwID); ks.Int(1); ks.Int(m_dwID); ks.HexArray("00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"); }
public void HandlerNewsFromChannel(Session PLAYER, Read_Buffer RB) { PacketWrite WB = new PacketWrite(); WB.Int(0); WB.Int(0); PLAYER.SESSION_SEND(WB.Get_Packet(), 7); }
public void CheckItem(Session p, PacketRead r) { int ItemID = r.Int(); PacketWrite pw = new PacketWrite(); pw.Int(1); pw.Int(ItemID); p.SendPacket(pw, 677); }
public void packageInfoDetail(Session p, PacketRead r) { PacketWrite ks = new PacketWrite(); int id1 = r.Int(); int id2 = r.Int(); ks.Int(id1); ks.Int(id2); ks.Int(0); p.SendPacket(ks, 1600); }
public void EnterChannel(Session s, PacketRead r) { s.PInfo.m_dwChannelUID = r.Int(); PacketWrite p = new PacketWrite(); p.HexArray("00 00 00 00 03"); p.Int(Serializables.m_timeStamp()); p.Int(Serializables.m_timeStamp()); s.SendPacket(p, 45); GameServer.UsersList.Add(s); s.PInfo.m_cStatus = "LOBBY"; }
public void GachaSetReward(Session p, PacketRead r) { int unkvalue = r.Int(); int account = r.Int(); //Log.Write("GachaSetReward, value:{0}", unkvalue); //Log.Write("GachaSetReward, value:{0}", account); PacketWrite pw = new PacketWrite(); pw.Int(unkvalue); pw.Int(account); pw.HexArray("00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 01 00 0B F5 F4 00 00 00 01 00 00 00 01 00 0C 22 CC"); p.SendPacket(pw, 456); }
public static void KUserInfo(Session right, PacketWrite ks) { //#c22CBAA //#c769EFF ks.UnicodeStr(right.PInfo.m_strLogin); ks.Int(right.PInfo.m_dwUserUID); ks.UnicodeStr(right.PInfo.m_strNickName); ks.Int(0); ks.Byte(right.PInfo.m_ucCharType); ks.HexArray("00 00 00 00 00 FF 00 FF 00 FF 00 00 00 00 00 00 00 00 00 64 00 00"); ks.Int(right.PInfo.m_iGamePoint); ks.Short(0); }
public void GachaRewardList(Session p, PacketRead r) { int unkvalue = r.Int(); int account = r.Int(); //Log.Write("GachaRewardList, value:{0}", unkvalue); //Log.Write("GachaRewardList, value:{0}", account); PacketWrite pw = new PacketWrite(); pw.Int(unkvalue); pw.Int(account); pw.HexArray("01 00 00 00 02 00 00 00 00 00 00 00 06 00 0B F3 C4 00 0B F3 CE 00 0B F3 D8 00 0B F3 E2 00 0B F3 EC 00 0B F3 F6 00 00 00 01 00 00 00 05 00 0B F8 10 00 0B F8 1A 00 0B F8 24 00 0B F8 2E 00 0B F8 E2 00 00 00 06 00 00 00 1E 00 00 00 02 00 00 00 28 00 00 00 02 00 00 00 32 00 00 00 03 00 00 00 3C 00 00 00 03 00 00 00 46 00 00 00 04 00 00 00 50 00 00 00 05 00 00 00 00"); p.SendPacket(pw, 454); }
public void RemoveMission(Session p, PacketRead r) { int missionUID = r.Int(); int missionID = r.Int(); PacketWrite pw = new PacketWrite(); pw.Int(0); pw.Int(missionID); p.SendPacket(pw, 178); DataSet Query = new DataSet(); GameServer.Sql.Exec(Query, "DELETE FROM missions WHERE LoginUID = '{0}' AND MissionID = '{1}'", p.PInfo.m_dwUserUID, missionID); }
public void Loading(Session p, Read_Buffer r) { PacketWrite WB = new PacketWrite(); WB.HexArray("00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 01 00 00 00"); WB.HexArray("02 00 00 00 03 00 00 00 04 00 00 00 01 00 00 00 00"); WB.Int(TtLoad.Length); WB.UnicodeStr(TtLoad[0]); WB.UnicodeStr(TtLoad[1]); WB.UnicodeStr(TtLoad[2]); WB.UnicodeStr(TtLoad[3]); WB.HexArray("00 00 00 02 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00"); WB.Int(Match.Length); WB.UnicodeStr(Match[0]); WB.UnicodeStr(Match[1]); WB.UnicodeStr(Match[2]); WB.Int(0); WB.Int(Square.Length); WB.Int(0); WB.UnicodeStr(Square[0]); WB.Int(1); WB.UnicodeStr(Square[1]); WB.Int(2); WB.UnicodeStr(Square[2]); WB.HexArray("00 00 00 03 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 00"); WB.Int(0); p.SESSION_SEND(WB.Get_Packet(), 22); WaitTime(p, r); }
public void Loading(Session p, PacketRead r) { PacketWrite WB = new PacketWrite(); WB.HexArray("00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 01 00 00 00"); WB.HexArray("02 00 00 00 03 00 00 00 04 00 00 00 01 00 00 00 00"); WB.Int(TtLoad.Length); WB.UnicodeStr(TtLoad[0]); WB.UnicodeStr(TtLoad[1]); WB.UnicodeStr(TtLoad[2]); WB.UnicodeStr(TtLoad[3]); WB.HexArray("00 00 00 02 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00"); WB.Int(Match.Length); WB.UnicodeStr(Match[0]); WB.UnicodeStr(Match[1]); WB.UnicodeStr(Match[2]); WB.Int(0); WB.Int(Square.Length); WB.Int(0); WB.UnicodeStr(Square[0]); WB.Int(1); WB.UnicodeStr(Square[1]); WB.Int(2); WB.UnicodeStr(Square[2]); WB.HexArray("00 00 00 03 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 00"); WB.Int(0); p.SendPacket(WB, 22); WaitTime(p, r); }
public void Kairos(Session p, PacketRead r) { r.Jump(4); int itemuid = r.Int(); PacketWrite pw = new PacketWrite(); pw.Int(0); pw.Int(0); pw.HexArray("00 01 5E 28"); pw.Int(0); pw.Int(itemuid); pw.HexArray("00 00 00 00 00 00 00 01 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 01 58 73 0D 0B CE 52 38 00 00 0B 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 22 B0 00 00 00 00 00 D9 9F 1D 00 00 00 01 00 00 00 01 00 00 FF FF 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 01 58 73 0D 0A 96 51 A8 00 00 0B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D 85 01 98 FF F9 FD 78 73 E5 F6 9D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 47 50 0D 85 01 98 0D 85 01 98 00 00 00 00 00 00 00 00 00 00 00 00"); p.SendPacket(pw, 113); }
public void UsersList(Session s, PacketRead r) { PacketWrite pw = new PacketWrite(); pw.Int(GameServer.UsersList.Count); for (int i = 0; i < GameServer.UsersList.Count; i++) { pw.Int(GameServer.UsersList[i].PInfo.m_dwUserUID);//id pw.UnicodeStr(GameServer.UsersList[i].PInfo.m_strLogin); pw.Byte((byte)11); pw.HexArray("00 13 00 00 00 00 00"); } s.SendPacket(PacketCompress.HalfCompress(pw.Get_Packet()), 51); }
public void CompleteMission(Session p, PacketRead r) { int missionID = r.Int(); PacketWrite pw = new PacketWrite(); pw.Int(0); pw.Int(missionID); pw.HexArray("00 00 01 F8 00 00 00 11 00 00 00 01 00 00 22 B0 00 00 00 01 30 B2 5C A2 00 00 00 09 00 00 00 09 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 57 AD 34 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF 00 00 00 00 00 00 00 00 00 00 00 00 0D 00 FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4E 00 00 00 07 00 00 00 01 01 01 00 00 00 00 00 00 00 00 00 08 00 00 00 01 01 01 00 00 00 00 00 00 00 00 00 09 00 00 00 01 01 01 00 00 00 00 00 00 00 00 00 0A 00 00 00 01 01 01 00 00 00 00 00 00 00 00 00 0B 00 00 00 01 01 01 00 00 00 00 00 00 00 00 00 0C 00 00 00 01 01 01 00 00 00 00 00 00 00 00 00 0D 00 00 00 01 01 01 00 00 00 00 00 00 00 00 00 0E 00 00 00 01 01 01 00 00 00 00 00 00 00 00 00 0F 00 00 00 01 01 01 00 00 00 00 00 00 00 00 00 10 00 00 00 01 01 01 00 00 00 00 00 00 00 00 00 11 00 00 00 01 01 01 00 00 00 00 00 00 00 00 00 12 00 00 00 01 01 01 00 00 00 00 00 00 00 00 00 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 27 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 28 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 29 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 2A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00 34 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 36 00 00 00 00 00 00 00 00 00 00 00 00 00 00 37 00 00 00 00 00 00 00 00 00 00 00 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00 00 00 00 39 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 43 00 00 00 00 00 00 00 00 00 00 00 00 00 00 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 46 00 00 00 00 00 00 00 00 00 00 00 00 00 00 47 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 00 00 00 00 00 00 00 00 00 00 00 00 00 00 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 51 00 00 00 00 00 00 00 00 00 00 00 00 00 00 52 00 00 00 00 00 00 00 00 00 00 00 00 00 00 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 54 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 56 00 00 00 00 00 00 00 00 00 00 00 00 00 00 57 00 00 00 00 00 00 00 00 00 00 00 00 00 00 58 00 00 00 00 00 00 00 00 00 00 00 00 00 00 59 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5A 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 5B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 A0"); p.SendPacket(pw, 177); DataSet Query = new DataSet(); GameServer.Sql.Exec(Query, "DELETE FROM Missions WHERE LoginUID = '{0}' AND MissionID = '{1}'", p.PInfo.m_dwUserUID, missionID); }
private void ChangeJob(Session right) { PacketWrite ks = new PacketWrite(); ks.Int(0); right.SendPacket(ks, 185); }
public void Register(Session p, PacketRead r) { string userNickname = r.UnicodeString(); DataSet Query = new DataSet(); GameServer.Sql.Exec(Query, "SELECT * FROM NickNames WHERE nick = '{0}'", userNickname); if (Query.Tables[0].Rows.Count == 0) { p.PInfo.m_strNickName = userNickname; PacketWrite pw = new PacketWrite(); pw.Int(0); pw.Str(userNickname); p.SendPacket(pw, 136); DataSet DBAcess = new DataSet(); GameServer.Sql.Exec(DBAcess, "INSERT INTO NickNames(Login,nick) VALUES('{0}','{1}')", p.PInfo.m_strLogin, userNickname); } else { PacketWrite pw = new PacketWrite(); pw.HexArray("FF FF FF FD 00 00 00 00"); p.SendPacket(pw, 136); } }
public void HearBeat(Session PLAYER, Read_Buffer RB) { PacketWrite WB = new PacketWrite(); WB.Int(0); PLAYER.SESSION_SEND(WB.Get_Packet(), 0); }
private void SESSION_RECEIVE(byte[] _buffer, int _size) { int pos = 0; PacketRead RB_BUFFER = new PacketRead(_buffer, 0); ushort size = RB_BUFFER.UShort(); while (pos < _size) { if (C_Running == false) { return; } if (pos >= _size) { return; } try { byte[] n_buffer = new byte[size]; Array.Copy(_buffer, pos, n_buffer, 0, size); PacketRead r0 = new PacketRead(n_buffer, 0); pos += (ushort)((_buffer[pos + 1] << 8) | (_buffer[pos])); ushort new_size = r0.UShort(); r0.Short(); r0.Int(); byte[] iv = r0.Buffer_Array_Bytes(8); byte[] content = r0.Buffer_Array_Bytes(new_size - 16 - 10); byte[] get_payload = Cryptography.DECRYPT(content, iv); PacketRead rb = new PacketRead(get_payload, 0, true); ushort packetId = (ushort)((get_payload[0] << 8) | (get_payload[1])); if (HRecv.HANDLER.ContainsKey(packetId)) { Log.Write("clog : KTRUser::KSkTRUser::OnRecvCompleted({6}), {0}-{1}-{2}. {3}:{4}:{5}", DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Second, DateTime.Now.Minute, DateTime.Now.Hour, packetId); Type type = Type.GetType(HRecv.TYPE_HANDLER[packetId].ToString()); object classInstance = Activator.CreateInstance(type, null); HRecv.HANDLER[packetId].Invoke(classInstance, new object[] { this, rb }); } else { Log.Write("clog : KTRUser::KSkTRUser::OnRecvFailed,Packet unknown {6}! {0}-{1}-{2}. {3}:{4}:{5}", DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Second, DateTime.Now.Minute, DateTime.Now.Hour, packetId); Log.Write("\nclog : KTRUser::KSkTRUser::OnRecvFailed, Payload: \n{0}", BitConverter.ToString(get_payload).Replace("-", " ")); PacketWrite p = new PacketWrite(); p.Int(0); SendPacket(p, (short)(packetId + 1)); } } catch (Exception ex) { Log.Write("{0} \n {1}", ex.Message, ex.StackTrace); } } }
public void HearBeat(Session p, PacketRead r) { PacketWrite pw = new PacketWrite(); pw.Int(0); p.SendPacket(pw, 0); }
public void WaitTime(Session PLAYER, PacketRead RB) { PacketWrite wb = new PacketWrite(); wb.Int(100); PLAYER.SendPacket(wb, 5); }
public void WaitTime(Session PLAYER, Read_Buffer RB) { PacketWrite wb = new PacketWrite(); wb.Int(100); PLAYER.SESSION_SEND(wb.Get_Packet(), 5); }
public void MigrateServer(Session p, PacketRead r) { PacketWrite pw = new PacketWrite(); pw.Int(0); p.SendPacket(pw, 161); }
public void BuyVC(Session p, PacketRead r) { try { r.Jump(13); uint itemid = r.UInt(); r.Jump(8); int quantity = r.Int(); uint itemuid = 0; int valuePrice = SelectPrice(itemid); if (CheckItemExists(itemid, p) && quantity != -1) { sItem currentItem = ItemExists(itemid, p); itemuid = currentItem.ItemUID; quantity += currentItem.Quantity; p.PInventory.UpdateItem(p.PInfo.m_strLogin, itemid, quantity, itemuid); p.PInventory.InventoryList.Remove(currentItem); } else { itemuid = GetUID(); p.PInventory.AddItem(p.PInfo.m_strLogin, itemid, quantity, itemuid); } PacketWrite pw = new PacketWrite(); pw.Int(BuyException(valuePrice, p)); pw.Int(1); pw.UInt(itemid); pw.Int(1); pw.UInt(itemuid); pw.Int(quantity); pw.Int(quantity); pw.Short(0);//Epic pw.HexArray("00 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"); pw.Byte(LoadItemType(itemid)); pw.HexArray("00 00 00 00 00 00 00 00 00 00 00 00 00 04 FC F7 70 04 FC FF 78 00 00 0D 00 00 00 00 00 00 00 00 00 FF FF FF 9D"); pw.Int(p.PInfo.m_iVirtualPoint); pw.HexArray("00 00 00 00 00 00 01 5E 1C 00 40 47 00 00 00 00"); p.SendPacket(pw, 396); } catch { PacketWrite pw = new PacketWrite(); pw.Int(1); pw.Int(0); p.SendPacket(pw, 396); } }
public void ReceiveExp(Session player, PacketRead r) { int exp = r.Int(); if (exp < 203081358 && exp > 0) { PacketWrite write = new PacketWrite(); write.Int(player.PInfo.CurRoom.m_usUsers()); for (int i = 0; i < player.PInfo.CurRoom.m_usMaxUsers; i++) { if (player.PInfo.CurRoom.m_dwSlots[i].Active == true) { int characterPosition = player.PCharacters.PositionCharacter(player.PInfo.m_ucCharType, player); if (player.PInfo.CurRoom.m_dwSlots[i].usr.PCharacters.CharInfo[characterPosition].Exp < 2147483647) { libcomservice.Request.Server.EXPReward ExpManager = new libcomservice.Request.Server.EXPReward(); ExpManager.getExp(((int)player.PCharacters.CharInfo[characterPosition].Exp) + exp, player, player.PInfo.m_ucCharType, player.PInfo.CurRoom.m_dwSlots[i].usr.PCharacters.CharInfo[characterPosition].Level); write.Int(player.PInfo.CurRoom.m_dwSlots[i].usr.PInfo.m_dwUserUID); write.Byte(0); write.Long(player.PInfo.CurRoom.m_dwSlots[i].usr.PCharacters.CharInfo[characterPosition].Exp * 2); write.Long(player.PInfo.CurRoom.m_dwSlots[i].usr.PCharacters.CharInfo[characterPosition].Exp * 2); if (ExpManager.isLevelUP == true) { write.Int(player.PInfo.CurRoom.m_dwSlots[i].usr.PCharacters.CharInfo[characterPosition].Level - 1); } else { write.Int(player.PInfo.CurRoom.m_dwSlots[i].usr.PCharacters.CharInfo[characterPosition].Level); } write.Int(player.PInfo.CurRoom.m_dwSlots[i].usr.PCharacters.CharInfo[characterPosition].Level); write.HexArray("41 30 00 00 00 00 00 0C 00 00 00 A0"); for (int j = 0; j < player.PInfo.CurRoom.m_usMaxUsers; j++) { if (player.PInfo.CurRoom.m_dwSlots[j].Active == true) { player.PInfo.CurRoom.m_dwSlots[j].usr.SendPacket(write, 921); } } player.PInfo.CurRoom.m_dwSlots[i].usr.PCharacters.CharInfo[characterPosition].Exp += exp; ExpManager.updateExp(((int)player.PInfo.CurRoom.m_dwSlots[i].usr.PCharacters.CharInfo[characterPosition].Exp), player.PInfo.CurRoom.m_dwSlots[i].usr.PInfo.m_strLogin, player.PInfo.CurRoom.m_dwSlots[i].usr.PCharacters.CharInfo[characterPosition].CharType); } } } } }
public void WorldBossContrib(Session right) { PacketWrite ks = new PacketWrite(); ks.HexArray("FF FF FF 9D"); ks.Int(right.PInfo.WorldBossPoint); right.SendPacket(ks, 1736); }
public void CharsEquipsInfo(Session right) { PacketWrite pw = new PacketWrite(); pw.UnicodeStr(right.PInfo.m_strLogin); pw.Byte(right.PInfo.m_ucCharType); pw.Int(right.PCharacters.CharInfo.Length); for (int x = 0; x < right.PCharacters.CharInfo.Length; x++) { pw.Byte(right.PCharacters.CharInfo[x].CharType); pw.Int(right.PCharacters.CharInfo[x].Equipements.Count); for (int x2 = 0; x2 < right.PCharacters.CharInfo[x].Equipements.Count; x2++) { pw.Int(right.PCharacters.CharInfo[x].Equipements[x2].ItemID); pw.Int(1); pw.Int(right.PCharacters.CharInfo[x].Equipements[x2].ItemUID); pw.HexArray("00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"); } pw.Int(0); Serializables.KPetInfo(right, pw, x); pw.HexArray("00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"); } pw.Int(right.PInfo.m_dwUserUID); pw.Short(0); right.SendPacket(pw, 96); if (right.PInfo.CurRoom != null) { right.PInfo.CurRoom.SendForAllPlayersInRoom(pw, 96); } }
public void SendMyVirtualCash(Session p) { p.PInfo.m_iVirtualPoint = Querys.Execute_SelectVirtualPoint(p.PInfo.m_dwUserUID); PacketWrite pw = new PacketWrite(); pw.Int(p.PInfo.m_iVirtualPoint); p.SendPacket(pw, 394); }
public void LeaveChannel(Session s, PacketRead r) { PacketWrite pw = new PacketWrite(); pw.Int(0); s.SendPacket(pw, 58); GameServer.UsersList.Remove(s); s.PInfo.m_cStatus = "..."; }