public byte[] GetPlayerGuild(uint characterID) { lock (this) { CharacterRepositoryModel characterRepositoryModel = DBAccess.getInstance().GetCharacterInfo(characterID); MemoryStream m = new MemoryStream(); if (characterRepositoryModel.GuildMaster == 1) // the player is guild master { m.Write(new byte[] { 0x01 }); m.Write(BitConverter.GetBytes(((ushort)characterRepositoryModel.GuildID).Swap())); } else if (characterRepositoryModel.GuildMaster == 2) // the player is a normal member { m.Write(new byte[] { 0x02 }); m.Write(BitConverter.GetBytes(((ushort)characterRepositoryModel.GuildID).Swap())); } else { m.Write(new byte[] { 0x00, 0x00, 0x00 }); } return(m.ToArray()); } }
public byte[] LeaveGuildAndAssignMaster(ushort guildID, uint playerToAssign) { CharacterRepositoryModel characterRepositoryModel = DBAcess.getInstance().GetCharacterInfo(playerToAssign); characterRepositoryModel.GuildMaster = 1; DBAcess.getInstance().updatePlayerInfo(characterRepositoryModel); return(new byte[] { 0x00, 0x00 }); }
public byte[] LeaveGuild(ushort guildID, uint characterID) { CharacterRepositoryModel characterRepositoryModel = DBAcess.getInstance().GetCharacterInfo(characterID); characterRepositoryModel.GuildID = 0; characterRepositoryModel.GuildMaster = 0; DBAcess.getInstance().updatePlayerInfo(characterRepositoryModel); return(new byte[] { 0x00, 0x00 }); }
public void updatePlayerInfo(CharacterRepositoryModel characterRepositoryModel) { using ISession session = _sessionFactory.OpenSession(); using ITransaction transaction = session.BeginTransaction(); session.SaveOrUpdate(characterRepositoryModel); transaction.Commit(); session.Close(); }
public byte[] KickPlayerFromGuild(ushort guildID, uint playerToKick) { lock (this) { CharacterRepositoryModel characterRepositoryModel = DBAccess.getInstance().GetCharacterInfo(playerToKick); characterRepositoryModel.GuildID = 0; characterRepositoryModel.GuildMaster = 0; DBAccess.getInstance().updatePlayerInfo(characterRepositoryModel); return(new byte[] { 0x00, 0x00 }); } }
public byte[] LeaveGuildAndAssignMaster(ushort guildId, uint playerToAssign) { lock (this) { CharacterRepositoryModel characterRepositoryModel = DBAccess.getInstance().GetCharacterInfo(playerToAssign); characterRepositoryModel.GuildMaster = 1; DBAccess.getInstance().updatePlayerInfo(characterRepositoryModel); GuildRepositoryModel guildInfo = DBAccess.getInstance().GetGuildInfo(guildId); guildInfo.MasterPlayerID = (int)playerToAssign; DBAccess.getInstance().UpdateGuildInfo(guildInfo); return(new byte[] { 0x00, 0x00 }); } }
public CharacterRepositoryModel GetCharacterRepositoryModel(uint playerID) { using ISession session = _sessionFactory.OpenSession(); using ITransaction transaction = session.BeginTransaction(); CharacterRepositoryModel characterRepositoryModel = session.Query <CharacterRepositoryModel>().SingleOrDefault( x => x.PlayerID == playerID); transaction.Commit(); session.Close(); return(characterRepositoryModel); }
public void setPlayerAsOffline(uint playerID) { using ISession session = _sessionFactory.OpenSession(); using ITransaction transaction = session.BeginTransaction(); CharacterRepositoryModel characterRepositoryModel = session.Query <CharacterRepositoryModel>().SingleOrDefault( x => x.PlayerID == playerID); characterRepositoryModel.OnlineStatus = false; session.SaveOrUpdate(characterRepositoryModel); transaction.Commit(); session.Close(); }
public void EnrollPlayerInGuild(ushort guildID, uint playerID, bool isMaster) { using ISession session = _sessionFactory.OpenSession(); using ITransaction transaction = session.BeginTransaction(); CharacterRepositoryModel characterRepositoryModel = session.Query <CharacterRepositoryModel>().SingleOrDefault( x => x.PlayerID == playerID); characterRepositoryModel.GuildID = guildID; if (isMaster) { characterRepositoryModel.GuildMaster = 1; } else { characterRepositoryModel.GuildMaster = 2; } session.SaveOrUpdate(characterRepositoryModel); transaction.Commit(); session.Close(); }
public uint PlayerLogin(GameClientAsync client) { ///////////////Player Logging /////////////////////////////////////////////////////////////////////////////// RankingDataModel model = new RankingDataModel(); DateTime dateTime = DateTime.UtcNow; model.antiCheatEngineResult = "LEGIT"; model.loginTime = dateTime.ToString("ddd MMM dd hh:mm:ss yyyy"); model.diskID = "DUMMY DISK ID VALUE !"; model.saveID = _encoding.GetString(client.save_id, 0, client.save_id.Length - 1); model.characterSaveID = _encoding.GetString(client.char_id, 0, client.char_id.Length - 1); model.characterName = _encoding.GetString(client.char_name, 0, client.char_name.Length - 1); //Buffer.BlockCopy(client.char_name,0,model.characterName,0,client.char_name.Length-1); PlayerClass playerClass = (PlayerClass)client.char_class; model.characterClassName = playerClass.ToString(); model.characterLevel = client.char_level; model.characterHP = client.char_HP; model.characterSP = client.char_SP; model.characterGP = (int)client.char_GP; model.godStatusCounterOnline = client.online_god_counter; model.averageFieldLevel = client.offline_godcounter; model.accountID = client.AccountId; ///////////////Player Logging /////////////////////////////////////////////////////////////////////////////// using ISession session = _sessionFactory.OpenSession(); using ITransaction transaction = session.BeginTransaction(); CharacterRepositoryModel characterRepositoryModel; characterRepositoryModel = session.Query <CharacterRepositoryModel>().SingleOrDefault( x => x.accountID == client.AccountId && x.charachterSaveID.Equals(model.characterSaveID)); if (characterRepositoryModel == null || characterRepositoryModel.PlayerID == -1 || characterRepositoryModel.PlayerID == 0) { characterRepositoryModel = new CharacterRepositoryModel(); characterRepositoryModel.GuildID = 0; characterRepositoryModel.GuildMaster = 0; characterRepositoryModel.accountID = client.AccountId; characterRepositoryModel.charachterSaveID = model.characterSaveID; } characterRepositoryModel.CharachterName = client.char_name; characterRepositoryModel.Greeting = client.greeting; characterRepositoryModel.ClassID = client.char_class; characterRepositoryModel.CharachterLevel = client.char_level; characterRepositoryModel.OnlineStatus = true; characterRepositoryModel.ModelNumber = (int)client.char_model; characterRepositoryModel.charHP = client.char_HP; characterRepositoryModel.charSP = client.char_SP; characterRepositoryModel.charGP = (int)client.char_GP; characterRepositoryModel.charOnlineGoat = client.online_god_counter; characterRepositoryModel.charOfflineGoat = client.offline_godcounter; characterRepositoryModel.charGoldCoin = client.goldCoinCount; characterRepositoryModel.charSilverCoin = client.silverCoinCount; characterRepositoryModel.charBronzeCoin = client.bronzeCoinCount; session.Save(model); session.SaveOrUpdate(characterRepositoryModel); transaction.Commit(); session.Close(); return((uint)characterRepositoryModel.PlayerID); }
public byte[] GetGuildInfo(ushort guildID) { lock (this) { GuildRepositoryModel guildRepositoryModel = DBAccess.getInstance().GetGuildInfo(guildID); CharacterRepositoryModel guildMaster = DBAccess.getInstance().GetCharacterInfo((uint)guildRepositoryModel.MasterPlayerID); List <CharacterRepositoryModel> listOfmembers = DBAccess.getInstance().GetAllGuildMembers(guildID); MemoryStream m = new MemoryStream(); m.Write(guildRepositoryModel.GuildName); m.Write(_encoding.GetBytes(guildRepositoryModel.EstablishmentDate)); //date m.Write(new byte[] { 0x00 }); m.Write(guildMaster.CharacterName); int memTotal = listOfmembers.Count; int twinBlade = 0; int bladeMaster = 0; int heavyBlade = 0; int heaveyAxes = 0; int longArm = 0; int waveMaster = 0; int totalLevel = 0; foreach (var member in listOfmembers) { if (member.ClassID == 0) { twinBlade++; } if (member.ClassID == 1) { bladeMaster++; } if (member.ClassID == 2) { heavyBlade++; } if (member.ClassID == 3) { heaveyAxes++; } if (member.ClassID == 4) { longArm++; } if (member.ClassID == 5) { waveMaster++; } totalLevel += member.CharacterLevel; } int avgLevel = 0; if (memTotal != 0) { avgLevel = totalLevel / memTotal; } m.Write(BitConverter.GetBytes(swap16((ushort)memTotal)), 0, 2); m.Write(BitConverter.GetBytes(swap16((ushort)twinBlade)), 0, 2); m.Write(BitConverter.GetBytes(swap16((ushort)bladeMaster)), 0, 2); m.Write(BitConverter.GetBytes(swap16((ushort)heavyBlade)), 0, 2); m.Write(BitConverter.GetBytes(swap16((ushort)heaveyAxes)), 0, 2); m.Write(BitConverter.GetBytes(swap16((ushort)longArm)), 0, 2); m.Write(BitConverter.GetBytes(swap16((ushort)waveMaster)), 0, 2); m.Write(BitConverter.GetBytes(swap16((ushort)avgLevel)), 0, 2); m.Write(BitConverter.GetBytes(swap32((uint)guildRepositoryModel.GoldCoin)), 0, 4); m.Write(BitConverter.GetBytes(swap32((uint)guildRepositoryModel.SilverCoin)), 0, 4); m.Write(BitConverter.GetBytes(swap32((uint)guildRepositoryModel.BronzeCoin)), 0, 4); m.Write(BitConverter.GetBytes(swap32((uint)guildRepositoryModel.Gp)), 0, 4); m.Write(guildRepositoryModel.GuildComment); m.Write(guildRepositoryModel.GuildEmblem); m.Write(new byte[] { 0x00 }); return(m.ToArray()); } }
public byte[] getRankingPlayerInfo(uint playerID) { CharacterRepositoryModel characterRepositoryModel = DBAcess.getInstance().GetCharacterInfo(playerID); GuildRepositoryModel guildRepositoryModel = null; bool inGuild = false; if (characterRepositoryModel.GuildID != 0) { guildRepositoryModel = DBAcess.getInstance().GetGuildInfo((ushort)characterRepositoryModel.GuildID); inGuild = true; } MemoryStream m = new MemoryStream(); m.Write(characterRepositoryModel.CharachterName); if (characterRepositoryModel.ClassID == 0) { m.Write(new byte[] { 0x00 }); } if (characterRepositoryModel.ClassID == 1) { m.Write(new byte[] { 0x01 }); } if (characterRepositoryModel.ClassID == 2) { m.Write(new byte[] { 0x02 }); } if (characterRepositoryModel.ClassID == 3) { m.Write(new byte[] { 0x03 }); } if (characterRepositoryModel.ClassID == 4) { m.Write(new byte[] { 0x04 }); } if (characterRepositoryModel.ClassID == 5) { m.Write(new byte[] { 0x05 }); } m.Write(BitConverter.GetBytes(swap16((ushort)characterRepositoryModel.CharachterLevel))); m.Write(characterRepositoryModel.Greeting); if (inGuild && guildRepositoryModel != null) { m.Write(guildRepositoryModel.GuildName); } else { m.Write(new byte[] { 0x00 }); } m.Write(BitConverter.GetBytes(swap32((uint)characterRepositoryModel.ModelNumber))); if (characterRepositoryModel.OnlineStatus) { m.Write(new byte[] { 0x01 }); } else { m.Write(new byte[] { 0x00 }); } if (characterRepositoryModel.GuildMaster == 1) { m.Write(new byte[] { 0x01 }); } else if (characterRepositoryModel.GuildMaster == 2) { m.Write(new byte[] { 0x02 }); } else { m.Write(new byte[] { 0x03 }); } return(m.ToArray()); }