public static InventoryReadResult GetInventoryItems() { var result = new InventoryReadResult(); if (!Scanner.Instance.Locations.ContainsKey("INVENTORY")) { return(result); } try { InventoryPointerMap = new IntPtr(MemoryHandler.Instance.GetPlatformUInt(Scanner.Instance.Locations["INVENTORY"])); result.InventoryEntities = new List <InventoryEntity> { GetItems(InventoryPointerMap, Inventory.Container.INVENTORY_1), GetItems(InventoryPointerMap, Inventory.Container.INVENTORY_2), GetItems(InventoryPointerMap, Inventory.Container.INVENTORY_3), GetItems(InventoryPointerMap, Inventory.Container.INVENTORY_4), GetItems(InventoryPointerMap, Inventory.Container.CURRENT_EQ), GetItems(InventoryPointerMap, Inventory.Container.EXTRA_EQ), GetItems(InventoryPointerMap, Inventory.Container.CRYSTALS), GetItems(InventoryPointerMap, Inventory.Container.QUESTS_KI), GetItems(InventoryPointerMap, Inventory.Container.HIRE_1), GetItems(InventoryPointerMap, Inventory.Container.HIRE_2), GetItems(InventoryPointerMap, Inventory.Container.HIRE_3), GetItems(InventoryPointerMap, Inventory.Container.HIRE_4), GetItems(InventoryPointerMap, Inventory.Container.HIRE_5), GetItems(InventoryPointerMap, Inventory.Container.HIRE_6), GetItems(InventoryPointerMap, Inventory.Container.HIRE_7), GetItems(InventoryPointerMap, Inventory.Container.COMPANY_1), GetItems(InventoryPointerMap, Inventory.Container.COMPANY_2), GetItems(InventoryPointerMap, Inventory.Container.COMPANY_3), GetItems(InventoryPointerMap, Inventory.Container.COMPANY_CRYSTALS), GetItems(InventoryPointerMap, Inventory.Container.AC_MH), GetItems(InventoryPointerMap, Inventory.Container.AC_OH), GetItems(InventoryPointerMap, Inventory.Container.AC_HEAD), GetItems(InventoryPointerMap, Inventory.Container.AC_BODY), GetItems(InventoryPointerMap, Inventory.Container.AC_HANDS), GetItems(InventoryPointerMap, Inventory.Container.AC_BELT), GetItems(InventoryPointerMap, Inventory.Container.AC_LEGS), GetItems(InventoryPointerMap, Inventory.Container.AC_FEET), GetItems(InventoryPointerMap, Inventory.Container.AC_EARRINGS), GetItems(InventoryPointerMap, Inventory.Container.AC_NECK), GetItems(InventoryPointerMap, Inventory.Container.AC_WRISTS), GetItems(InventoryPointerMap, Inventory.Container.AC_RINGS), GetItems(InventoryPointerMap, Inventory.Container.AC_SOULS) }; } catch (Exception ex) { MemoryHandler.Instance.RaiseException(Logger, ex, true); } return(result); }
public static InventoryReadResult GetInventoryItems() { var result = new InventoryReadResult(); if (!CanGetInventory() || !MemoryHandler.Instance.IsAttached) { return(result); } try { result.InventoryEntities = new List <InventoryEntity> { GetItems(Inventory.Container.INVENTORY_1), GetItems(Inventory.Container.INVENTORY_2), GetItems(Inventory.Container.INVENTORY_3), GetItems(Inventory.Container.INVENTORY_4), GetItems(Inventory.Container.CURRENT_EQ), GetItems(Inventory.Container.EXTRA_EQ), GetItems(Inventory.Container.CRYSTALS), GetItems(Inventory.Container.QUESTS_KI), GetItems(Inventory.Container.HIRE_1), GetItems(Inventory.Container.HIRE_2), GetItems(Inventory.Container.HIRE_3), GetItems(Inventory.Container.HIRE_4), GetItems(Inventory.Container.HIRE_5), GetItems(Inventory.Container.HIRE_6), GetItems(Inventory.Container.HIRE_7), GetItems(Inventory.Container.COMPANY_1), GetItems(Inventory.Container.COMPANY_2), GetItems(Inventory.Container.COMPANY_3), GetItems(Inventory.Container.COMPANY_CRYSTALS), GetItems(Inventory.Container.AC_MH), GetItems(Inventory.Container.AC_OH), GetItems(Inventory.Container.AC_HEAD), GetItems(Inventory.Container.AC_BODY), GetItems(Inventory.Container.AC_HANDS), GetItems(Inventory.Container.AC_BELT), GetItems(Inventory.Container.AC_LEGS), GetItems(Inventory.Container.AC_FEET), GetItems(Inventory.Container.AC_EARRINGS), GetItems(Inventory.Container.AC_NECK), GetItems(Inventory.Container.AC_WRISTS), GetItems(Inventory.Container.AC_RINGS), GetItems(Inventory.Container.AC_SOULS) }; } catch (Exception ex) { MemoryHandler.Instance.RaiseException(Logger, ex, true); } return(result); }
private void GetCharacterInfo(object source, System.Timers.ElapsedEventArgs e) { try { Sharlayan.Core.PlayerEntity player = Reader.GetPlayerInfo().PlayerEntity; playerName = player.Name; Sharlayan.Core.ActorEntity charInfo = getPC(); if (charInfo == null) { MessageBox.Show(localization[3][locale], this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); btnConnect.Enabled = true; infoTimer.Stop(); } InventoryReadResult readResultInv = Reader.GetInventoryItems(); List <Sharlayan.Core.InventoryEntity> Inventories = readResultInv.InventoryEntities; #if DEBUG Debug.WriteLine(Inventories.ToArray().Length.ToString()); Debug.WriteLine(Inventories.ToArray().ToString()); #endif currentHP = charInfo.HPCurrent; maxHP = charInfo.HPMax; currentMP = charInfo.MPCurrent; maxMP = charInfo.MPMax; currentTP = charInfo.TPCurrent; maxTP = charInfo.TPMax; currentCP = charInfo.CPCurrent; maxCP = charInfo.CPMax; currentGP = charInfo.GPCurrent; maxGP = charInfo.GPMax; job = charInfo.JobID; level = charInfo.Level; x = charInfo.X; y = charInfo.Y; z = charInfo.Z; title = charInfo.Title; #region Stats STR = player.Strength; bSTR = player.BaseStrength; DEX = player.Dexterity; bDEX = player.BaseDexterity; VIT = player.Vitality; bVIT = player.BaseVitality; INT = player.Intelligence; bINT = player.BaseIntelligence; MND = player.Mind; bMND = player.BaseMind; PIE = player.Piety; bPIE = player.BasePiety; //TODO statTenacity = player.Tenacity; statDefense = player.Defense; statControl = player.Control; statSpellSpeed = player.SpellSpeed; statSkillSpeed = player.SkillSpeed; statDetermination = player.Determination; statHealingPotency = player.HealingMagicPotency; statAttackPotency = player.AttackMagicPotency; statCritRate = player.CriticalHitRate; statDirectHit = player.DirectHit; statAttackPower = player.AttackPower; statMagicDefense = player.MagicDefense; statEvasion = player.Evasion; statGathering = player.Gathering; statPerception = player.Perception; #endregion #region Resistances resWater = player.WaterResistance; resLightning = player.LightningResistance; resEarth = player.EarthResistance; resWind = player.WindResistance; resIce = player.IceResistance; resFire = player.FireResistance; resBlunt = player.BluntResistance; resPiercing = player.PiercingResistance; resSlashing = player.SlashingResistance; #endregion #region EXP expGLD = player.GLD_CurrentEXP; expPGL = player.PGL_CurrentEXP; expMRD = player.MRD_CurrentEXP; expLNC = player.LNC_CurrentEXP; expARC = player.ARC_CurrentEXP; expROG = player.ROG_CurrentEXP; expCNJ = player.CNJ_CurrentEXP; expTHM = player.THM_CurrentEXP; expACN = player.ACN_CurrentEXP; expCPT = player.CPT_CurrentEXP; expBSM = player.BSM_CurrentEXP; expARM = player.ARM_CurrentEXP; expGSM = player.GSM_CurrentEXP; expLTW = player.LTW_CurrentEXP; expWVR = player.WVR_CurrentEXP; expALC = player.ALC_CurrentEXP; expCUL = player.CUL_CurrentEXP; expMIN = player.MIN_CurrentEXP; expBTN = player.BTN_CurrentEXP; expFSH = player.FSH_CurrentEXP; expDRK = player.DRK_CurrentEXP; expAST = player.AST_CurrentEXP; expMCH = player.MCH_CurrentEXP; expSAM = player.SAM_CurrentEXP; expRDM = player.RDM_CurrentEXP; #endregion #region Levels levelGLD = player.GLD; levelPGL = player.PGL; levelMRD = player.MRD; levelLNC = player.LNC; levelARC = player.ARC; levelROG = player.ROG; levelCNJ = player.CNJ; levelTHM = player.THM; levelACN = player.ACN; levelCPT = player.CPT; levelBSM = player.BSM; levelARM = player.ARM; levelGSM = player.GSM; levelLTW = player.LTW; levelWVR = player.WVR; levelALC = player.ALC; levelCUL = player.CUL; levelMIN = player.MIN; levelBTN = player.BTN; levelFSH = player.FSH; levelDRK = player.DRK; levelAST = player.AST; levelMCH = player.MCH; levelSAM = player.SAM; levelRDM = player.RDM; #endregion } catch (NullReferenceException ex) { infoTimer.Stop(); btnConnect.Enabled = true; currentDisplayMode = -1; } }