public static void LoadCharInfo(string strCharName, ref Packet result) { USERDATA m_CharInfo = m_GameDb.USERDATA.Where(i => i.strUserID == strCharName).FirstOrDefault(); result += strCharName; byte race = 0, level = 0, face = 0, hair = 0, zone = 0; short sclass = 0; UInt32 itemid = 0; UInt16 dur = 0; UInt16 stack = 0; byte[] strItem = new byte[484]; if (m_CharInfo != null) { strItem = m_CharInfo.strItem; race = m_CharInfo.Race; level = m_CharInfo.Level; face = m_CharInfo.Face; hair = m_CharInfo.Hair; zone = m_CharInfo.Zone; sclass = m_CharInfo.Class; } result += race; result += sclass; result += level; result += face; result += hair; result += zone; MemoryStream stream = new MemoryStream(strItem); BinaryReader bReader = new BinaryReader(stream); for (int i = 0; i < (int)ITEM.SLOT_MAX; i++) { itemid = bReader.ReadUInt32(); dur = bReader.ReadUInt16(); stack = bReader.ReadUInt16(); switch (i) { case (int)INVENTORY.HEAD: case (int)INVENTORY.BREAST: case (int)INVENTORY.SHOULDER: case (int)INVENTORY.LEG: case (int)INVENTORY.RIGHTHAND: case (int)INVENTORY.LEFTHAND: case (int)INVENTORY.GLOVE: case (int)INVENTORY.FOOT: result += (itemid); result += (dur); break; } } }
public static User CreateUser(USERDATA user) { return(new User() { Identifier = user.USID, FullName = DecryptNeeded(user.USNAME), UserName = DecryptNeeded(user.USUSERNAME), EMail = DecryptOptional(user.USMAIL), }); }
public static void SetDATAS(string user, string pin) { NetData.userDir = "OnlineSystem/_DATA/_USER_DATA__/" + user; NetData.passDir = NetData.userDir + @"/" + pin; NetData.chatDir = NetData.passDir + @"/chat"; NetData.userEXIST = NetData.userDir + @"/exist.tagtx"; NetData.pin_EXIST = NetData.passDir + @"/exist.tagtx"; NetData.data_config = NetData.passDir + @"/data.txt"; NetData.data_log = NetData.passDir + @"/log.txt"; NetData.user = new USERDATA(user, pin); }
public User() { hasCharacterSelected = hasVersionChecked = false; m_DatabaseInfo = new USERDATA(); m_bPlayerAttackAmount = 100; m_bAddWeaponDamage = 0; m_bPctArmourAc = 100; m_sAddArmourAc = 0; m_sItemHitrate = 100; m_sItemEvasionrate = 100; m_bHitRateAmount = 100; m_sAvoidRateAmount = 100; }
public bool CreateFirstUserIfNeeded() { if (!login.NeedFirstUser()) { return(true); } (User newUser, var newUserPassword) = newUserService.Create(); if (newUser == null) { return(false); } USERDATA firstUser = UserFactory.CreateUser(newUser, newUserPassword); db.USERDATA.Add(firstUser); db.SaveChanges(); return(true); }
public void UserFactoryCreateTest() { var userName = "******"; var fullName = "Max Mustermann"; var password = "******"; USERDATA userData = UserFactory.CreateUser(new User() { UserName = userName, FullName = fullName }, password); string cryptUserName = Encryption.EncryptString(userName); string cryptPassword = Password.GetHash(password + userData.USSALT); Assert.That(userData.USPASSWORD, Is.Not.EqualTo(password)); Assert.That(userData.USUSERNAME, Is.Not.EqualTo(userName)); Assert.That(userData.USUSERNAME, Is.EqualTo(cryptUserName)); Assert.That(userData.USPASSWORD, Is.EqualTo(cryptPassword)); }
public static USERDATA CreateUser(User user, string password) { string pwSalt = Password.GetSalt(); var newUser = new USERDATA { USID = Guid.NewGuid().ToString(), USNAME = EncryptNeeded(user.FullName), USUSERNAME = EncryptNeeded(user.UserName), USPASSWORD = Password.GetHash(password + pwSalt), USMAIL = EncryptOptional(user.EMail), USSALT = pwSalt }; // Thread sleeps for few seconds for preventing brute-force attacks Thread.Sleep(500); return(newUser); }
public static bool LoadUserData(string AccountID, string strCharID, ref User pUser) { KODatabase db = new KODatabase(); try { USERDATA pData = db.USERDATA.Where(user => user.strUserID == strCharID).FirstOrDefault(); if (pData == null) { return(false); } pUser.m_bNation = pData.Nation; pUser.m_bRace = pData.Race; pUser.m_sClass = pData.Class; pUser.m_nHair = pData.HairRGB; pUser.m_bRank = pData.Rank; pUser.m_bTitle = pData.Title; pUser.m_bLevel = pData.Level; pUser.m_iExp = pData.Exp; pUser.m_iLoyalty = pData.Loyalty; pUser.m_bFace = pData.Face; pUser.m_bCity = (sbyte)pData.City; pUser.m_bKnights = pData.Knights; pUser.m_bFame = pData.Fame; pUser.m_sHp = pData.Hp; pUser.m_sMp = pData.Mp; pUser.m_sSp = pData.Sp; pUser.m_bStats[(int)StatType.STAT_STR] = pData.Strong; pUser.m_bStats[(int)StatType.STAT_STA] = pData.Sta; pUser.m_bStats[(int)StatType.STAT_DEX] = pData.Dex; pUser.m_bStats[(int)StatType.STAT_INT] = pData.Intel; pUser.m_bStats[(int)StatType.STAT_CHA] = pData.Cha; pUser.m_bAuthority = pData.Authority; pUser.m_sPoints = pData.Points; pUser.m_iGold = pData.Gold; pUser.m_bZone = pData.Zone; pUser.m_sBind = (long)pData.Bind; pUser.m_curx = (float)(pData.PX / 100.0f); pUser.m_curz = (float)(pData.PZ / 100.0f); pUser.m_cury = (float)(pData.PY / 100.0f); pUser.m_oldx = pUser.m_curx; pUser.m_oldy = pUser.m_cury; pUser.m_oldz = pUser.m_curz; pUser.m_dwTime = pData.dwTime; pUser.m_bstrSkill = pData.strSkill.ToCharArray(); Packet itemBuffer = new Packet(pData.strItem); Packet serialBuffer = new Packet(pData.strSerial); Packet itemTimeBuffer = new Packet(pData.strItemTime); for (int i = 0; i < INVENTORY_TOTAL; i++) { Int64 nSerialNum; Int32 nItemID; Int16 sDurability, sCount, nRentalTime; Int32 nItemTime; nItemID = itemBuffer.GetDWORD(); sDurability = itemBuffer.GetShort(); sCount = itemBuffer.GetShort(); nSerialNum = serialBuffer.GetInt64(); nItemTime = itemTimeBuffer.GetDWORD(); nRentalTime = itemTimeBuffer.GetShort(); _ITEM_DATA pItem = new _ITEM_DATA(); pItem.nNum = nItemID; pItem.sCount = sCount; pItem.sDuration = sDurability; pItem.nSerialNum = nSerialNum; pItem.nExpirationTime = nItemTime; pItem.sRemainingRentalTime = nRentalTime; pUser.m_sItemArray[i] = pItem; } return(true); } catch (Exception ex) { Debug.WriteLine("Karakter bilgileri alınırken özel durum oluştu : " + ex.Message); return(false); } }