// Token: 0x060001DD RID: 477 RVA: 0x0003A20C File Offset: 0x0003840C public static void Packet_AcceptInvite(int index, ref byte[] data) { ByteStream buffer = new ByteStream(data); int response = buffer.ReadInt32(); buffer.Dispose(); bool flag = response == 1; if (flag) { bool flag2 = modTypes.TempPlayer[index].Invitationindex > 0; if (flag2) { bool flag3 = modTypes.TempPlayer[index].InvitationTimer > S_General.GetTimeMs(); if (flag3) { bool flag4 = S_NetworkConfig.IsPlaying(modTypes.TempPlayer[index].Invitationindex); if (flag4) { modTypes.Player[index].Character[(int)modTypes.TempPlayer[index].CurChar].InHouse = modTypes.TempPlayer[index].Invitationindex; modTypes.Player[index].Character[(int)modTypes.TempPlayer[index].CurChar].LastX = S_Players.GetPlayerX(index); modTypes.Player[index].Character[(int)modTypes.TempPlayer[index].CurChar].LastY = S_Players.GetPlayerY(index); modTypes.Player[index].Character[(int)modTypes.TempPlayer[index].CurChar].LastMap = S_Players.GetPlayerMap(index); modTypes.TempPlayer[index].InvitationTimer = 0; S_Players.PlayerWarp(index, modTypes.Player[modTypes.TempPlayer[index].Invitationindex].Character[(int)modTypes.TempPlayer[index].CurChar].Map, S_Housing.HouseConfig[modTypes.Player[modTypes.TempPlayer[index].Invitationindex].Character[(int)modTypes.TempPlayer[modTypes.TempPlayer[index].Invitationindex].CurChar].House.Houseindex].X, S_Housing.HouseConfig[modTypes.Player[modTypes.TempPlayer[index].Invitationindex].Character[(int)modTypes.TempPlayer[modTypes.TempPlayer[index].Invitationindex].CurChar].House.Houseindex].Y, true, true); } else { modTypes.TempPlayer[index].InvitationTimer = 0; S_NetworkSend.PlayerMsg(index, "Cannot find player!", 12); } } else { S_NetworkSend.PlayerMsg(index, "Your invitation has expired, have your friend re-invite you.", 14); } } } else { bool flag5 = S_NetworkConfig.IsPlaying(modTypes.TempPlayer[index].Invitationindex); if (flag5) { modTypes.TempPlayer[index].InvitationTimer = 0; S_NetworkSend.PlayerMsg(modTypes.TempPlayer[index].Invitationindex, (S_Players.GetPlayerName(index).Trim()) + " rejected your invitation", 12); } } }
public static void DestroyServer() { S_NetworkConfig.Socket.StopListening(); Console.WriteLine("Saving players online..."); modDatabase.SaveAllPlayersOnline(); Console.WriteLine("Unloading players..."); for (int i = 1; i <= Constants.MAX_PLAYERS; i++) { S_NetworkSend.SendLeftGame(i); S_Players.LeftGame(i); } S_NetworkConfig.DestroyNetwork(); ClearGameData(); Environment.Exit(0); }
// Token: 0x060001E1 RID: 481 RVA: 0x0003B8F8 File Offset: 0x00039AF8 public static void Packet_SellHouse(int index, ref byte[] data) { ByteStream buffer = new ByteStream(data); int Tmpindex = modTypes.Player[index].Character[(int)modTypes.TempPlayer[index].CurChar].House.Houseindex; bool flag = Tmpindex > 0; checked { if (flag) { int refund = (int)Math.Round((double)S_Housing.HouseConfig[Tmpindex].Price / 2.0); modTypes.Player[index].Character[(int)modTypes.TempPlayer[index].CurChar].House.Houseindex = 0; modTypes.Player[index].Character[(int)modTypes.TempPlayer[index].CurChar].House.FurnitureCount = 0; modTypes.Player[index].Character[(int)modTypes.TempPlayer[index].CurChar].House.Furniture = new S_Housing.FurnitureRec[modTypes.Player[index].Character[(int)modTypes.TempPlayer[index].CurChar].House.FurnitureCount + 1]; int furnitureCount = modTypes.Player[index].Character[(int)modTypes.TempPlayer[index].CurChar].House.FurnitureCount; for (int i = 0; i <= furnitureCount; i++) { modTypes.Player[index].Character[(int)modTypes.TempPlayer[index].CurChar].House.Furniture[i].ItemNum = 0; modTypes.Player[index].Character[(int)modTypes.TempPlayer[index].CurChar].House.Furniture[i].X = 0; modTypes.Player[index].Character[(int)modTypes.TempPlayer[index].CurChar].House.Furniture[i].Y = 0; } bool flag2 = modTypes.Player[index].Character[(int)modTypes.TempPlayer[index].CurChar].InHouse == Tmpindex; if (flag2) { S_Players.PlayerWarp(index, modTypes.Player[index].Character[(int)modTypes.TempPlayer[index].CurChar].LastMap, modTypes.Player[index].Character[(int)modTypes.TempPlayer[index].CurChar].LastX, modTypes.Player[index].Character[(int)modTypes.TempPlayer[index].CurChar].LastY, false, false); } modDatabase.SavePlayer(index); S_NetworkSend.PlayerMsg(index, "You sold your House for " + Conversions.ToString(refund) + " Gold!", 10); S_Players.GiveInvItem(index, 1, refund, true); } else { S_NetworkSend.PlayerMsg(index, "You dont own a House!", 12); } buffer.Dispose(); } }
internal static void Socket_ConnectionReceived(int index) { Console.WriteLine("Connection received on index[" + index + "] - IP[" + Socket.ClientIp(index) + "]"); S_NetworkSend.SendKeyPair(index); S_NetworkSend.SendNews(index); }