Ejemplo n.º 1
0
 internal static IntPtr ItemCacheGetRow(int parItemId)
 {
     if (ItemCacheGetRowFunction == null)
     {
         ItemCacheGetRowFunction = Memory.Reader.RegisterDelegate <ItemCacheGetRowDelegate>(new IntPtr(0x0055BA30));
     }
     return(ItemCacheGetRowFunction(new IntPtr(0x00C0E2A0), parItemId, new IntPtr(0x0018F1E0), 0, 0, 0));
 }
Ejemplo n.º 2
0
 internal static IntPtr ItemCacheGetRow(int parItemId)
 {
     if (ItemCacheGetRowFunction == null)
     {
         ItemCacheGetRowFunction = Memory.Reader.RegisterDelegate <ItemCacheGetRowDelegate>(funcs.ItemCacheGetRow);
     }
     return(ItemCacheGetRowFunction(funcs.ItemCacheGetRowFixedPtr1, parItemId, funcs.ItemCacheGetRowFixedPtr2, 0,
                                    0, 0x0));
 }
Ejemplo n.º 3
0
        internal static IntPtr ItemCacheGetRow(int parItemId, PrivateEnums.ItemCacheLookupType parLookupType)
        {
            if (!ObjectManager.Instance.IsIngame)
            {
                return(IntPtr.Zero);
            }
            if (ItemCacheGetRowFunction == null)
            {
                ItemCacheGetRowFunction = Memory.Reader.RegisterDelegate <ItemCacheGetRowDelegate>(funcs.ItemCacheGetRow);
            }

            ulong val = 0;

            switch (parLookupType)
            {
            case PrivateEnums.ItemCacheLookupType.None:
                return
                    (MainThread.Instance.Invoke(
                         () =>
                         ItemCacheGetRowFunction(funcs.ItemCacheBasePtr, parItemId, ref val,
                                                 CacheCallbacks.Instance.ItemCallbackPtr,
                                                 0, 0x0)));

            case PrivateEnums.ItemCacheLookupType.Vendor:
                val = ObjectManager.Instance.Player.VendorGuid;
                return
                    (MainThread.Instance.Invoke(
                         () => ItemCacheGetRowFunction(funcs.ItemCacheBasePtr, parItemId, ref val,
                                                       CacheCallbacks.Instance.ItemCallbackPtr,
                                                       0, 0x0)));

            case PrivateEnums.ItemCacheLookupType.Quest:
                val = ObjectManager.Instance.Player.QuestNpcGuid;
                return
                    (MainThread.Instance.Invoke(
                         () => ItemCacheGetRowFunction(funcs.ItemCacheBasePtr, parItemId, ref val,
                                                       CacheCallbacks.Instance.ItemCallbackPtr,
                                                       0, 0x0)));

            default:
                return(IntPtr.Zero);
            }
        }