Diablo Hellfire 1.02

Upload your cheat tables here (No requests)
Denezhou
Expert Cheater
Expert Cheater
Posts: 124
Joined: Sun May 14, 2017 3:45 am
Reputation: 13

Re: Diablo Hellfire 1.02

Post by Denezhou »

Sorry, first time logging back in since this ordeal, I don't care for your attitude - I went ahead and cancelled the sub I had for the program i never used once to support people. don't care for the open hostility you bring to the forum, feel free to close my account here as well thank you


SunBeam wrote:
Thu Sep 30, 2021 7:37 pm
execute wrote:
Thu Sep 30, 2021 3:43 pm
Are posts showing thanks not allowed anymore?
As per your statement above, Imagine if we posted our table as text. Plain text, not xml format so you can directly paste it in the GUI of CE. So then you would have to copy the text for each of the scripts, assign the scripts to the table and only then be able to use them. And when you bitch/complain "why don't you post them in table format?" we'll answer: "why don't you click the thanks button and post text instead?".
that's fine with me, i created and/or changed a lot of the codes for the prior 1.01 version of this.

How to use this cheat table?
  1. Install Cheat Engine
  2. Double-click the .CT file in order to open it.
  3. Click the PC icon in Cheat Engine in order to select the game process.
  4. Keep the list.
  5. Activate the trainer options by checking boxes or setting values from 0 to 1

Baofu
Expert Cheater
Expert Cheater
Posts: 113
Joined: Wed Mar 15, 2017 10:25 am
Reputation: 16

Re: Diablo Hellfire 1.02

Post by Baofu »

God mode is a bit wonky but so far it works perfectly! May have been a year since I asked about it, but better late than never! Great job!

User avatar
gibberishh
Table Makers
Table Makers
Posts: 331
Joined: Fri Jul 02, 2021 5:48 pm
Reputation: 226

Re: Diablo Hellfire 1.02

Post by gibberishh »

Baofu wrote:
Wed Oct 20, 2021 2:43 am
God mode is a bit wonky but so far it works perfectly! May have been a year since I asked about it, but better late than never! Great job!
Thank you. Could you explain wonky? Especially since it works perfectly? Not sure what to make of it.

Edit: Godmode should be fixed in viewtopic.php?p=304782#p304782
Last edited by gibberishh on Wed Jul 26, 2023 8:41 am, edited 10 times in total.

Baofu
Expert Cheater
Expert Cheater
Posts: 113
Joined: Wed Mar 15, 2017 10:25 am
Reputation: 16

Re: Diablo Hellfire 1.02

Post by Baofu »

It sometimes just doesn't work. Also, loading a game with the Monk classes causes Hellfire to crash.

User avatar
gibberishh
Table Makers
Table Makers
Posts: 331
Joined: Fri Jul 02, 2021 5:48 pm
Reputation: 226

Re: Diablo Hellfire 1.02

Post by gibberishh »

Update: no major functionality has changed, but some code has been cleaned up, and the hotkeys function has been improved. You can now:
1. Directly map keyboard keys to spell names (instead of spell ids).
2. Set whether the spell should be selected as a Skill (if not specified, Memory is default). This fixes a bug where Identify, Item Repair, etc. would sometimes not work because they would be at Spell Level 0. If you want to, you can set all spells as Skill this way.

Note: Either use :Skill or don't. Do not attempt to use :Memory or something else. The code only checks for the colon; if it's present, the type will be set to Skill.

Get new tables at viewtopic.php?p=304782#p304782
Last edited by gibberishh on Wed Jul 26, 2023 8:41 am, edited 12 times in total.

User avatar
gibberishh
Table Makers
Table Makers
Posts: 331
Joined: Fri Jul 02, 2021 5:48 pm
Reputation: 226

Re: Diablo Hellfire 1.02

Post by gibberishh »

Added spells coming from skills, scrolls and runes to the Current Spell and Spell Levels lists, including those specific to multiplayer characters. All of them can now be hotkeyed.

Runes can be set as spells through this (UI or hotkey), which is not possible through normal game mechanics. If you set a rune, and set the type as Skill, the info window will display 'Null', but it will work correctly -- this is a bug with the game, not the cheat table. No such bug seems to manifest when type is set to Memory.

Get new tables at viewtopic.php?p=304782#p304782
Last edited by gibberishh on Wed Jul 26, 2023 8:41 am, edited 12 times in total.

ElPolloLoco
Noobzor
Noobzor
Posts: 5
Joined: Wed May 01, 2019 9:33 pm
Reputation: 0

Re: Diablo Hellfire 1.02

Post by ElPolloLoco »

Works great!, could be possible to use it with DevilutionX in the future?

User avatar
gibberishh
Table Makers
Table Makers
Posts: 331
Joined: Fri Jul 02, 2021 5:48 pm
Reputation: 226

Re: Diablo Hellfire 1.02

Post by gibberishh »

ElPolloLoco wrote:
Sat Apr 30, 2022 10:50 pm
Works great!, could be possible to use it with DevilutionX in the future?
For now, there are no plans for this, sorry. That mod appears to be created from scratch based on the original game's source code. Which effectively means (for cheats purposes) that it is an entirely different game, not just a simple 'port' of this cheat table. Even if I ignore the multiple platforms that are supported, for Windows alone there's a 32-bit version and a 64-bit version. This makes it much more complex (for my capabilities) to hack.

You can try this: viewtopic.php?t=16678. I haven't checked/tested it, only found it through google. If it works, try copying over memory records (not scripts) from this table into it and see if any of them work. I don't expect them to, but no harm trying, right?

User avatar
gibberishh
Table Makers
Table Makers
Posts: 331
Joined: Fri Jul 02, 2021 5:48 pm
Reputation: 226

Re: Diablo Hellfire 1.02

Post by gibberishh »

Bloody hell. All these months, Buy When Poor was not coded for Pepin. :shock: Added it in this latest table. Also significantly cleaned up the code. Modified a lot of scripts and fixed several things that could potentially crash the game.

Note that the two scenarios where the game will definitely crash can never be fixed:
1. If you set a spell through a hotkey while you have no spell selected in the game.
2. If you enable the 1-slot-per-item cheat, stack up items, then turn the cheat off.

Get new tables at viewtopic.php?p=304782#p304782
Last edited by gibberishh on Wed Jul 26, 2023 8:41 am, edited 10 times in total.

User avatar
gibberishh
Table Makers
Table Makers
Posts: 331
Joined: Fri Jul 02, 2021 5:48 pm
Reputation: 226

Re: Diablo Hellfire 1.02

Post by gibberishh »

Brand new table with (imo) cool new features!
  • Adria Refills Mana: Talking to Adria will refill your mana, just like talking to Pepin refills health. This cheat is useful for those who don't wish to cheat too much but want Adria to provide similar services as Pepin. Note that the blue mana orb will not fill up until you leave the map, save-reload or switch out to a different window and back.
  • Combat > Show Monsters' Actual HP: Will show the actual HP of the monster under the mouse pointer instead of their spawn values. Current value will be shown on the left, its max HP on the right. :D It's not necessary but recommended to also enable Always Show Monster Stats otherwise you will have to first kill several monsters of each type before their HP becomes visible. Alt+H simultaneously activates both cheats.
  • Loot > Id Items on Mouseover [Alt+D] ;)
  • Added a form to edit spell hotkeys. You no longer need to edit Hotkeys.ini in a different editor. In cheat engine, click Edit > Spell Hotkeys to change your keys. It checks whether you have entered letters only, and prevents duplicates. Hopefully someone will find this useful.
  • Added missing meta info from items: Unidentified item name, unidentified and identified prices, id for unique items.
Changes:
  • Player stats moved into one group instead of being separated into Player and Stats groups. Reduces 1 line of clutter but at this point I'll take anything I can get!
  • All items will now show all offensive and defensive properties. Earlier only left hand showed offensive properties.
  • Updated manual to reflect all the changes.
Fixes:
  • MAJOR BUG FIX: All these months, Godmode was reducing your permanent life every time you got hit! Hopefully this should fix it. Apologies for the bug.
  • Item properties now correctly display negative values. E.g., if an item penalises you with -5 strength, the table will show -5 instead of some unintelligible large number. I hope I haven't forgotten some other records which also need to be modified in a similar fashion. :oops:
  • All these months, Magic Properties 1 and 2 of items were inversed. I blame Nightrider's Item Editor. It has been fixed now. Also updated some property descriptions. There seem to be some properties still missing, I will keep searching for them.
  • Infravision was automatically getting reset to Off after it expired or when switching maps. Changed it to a script instead of pointer so that it now remains permanently on.
More
  • I've also found the code that limits golems to 1 Hellfire.exe+35BD4. I was able to summon an unlimited number of golems. Unfortunately they don't behave independently -- they're just copies of each other not individual creatures. :(
Get new tables at viewtopic.php?p=304782#p304782
Last edited by gibberishh on Wed Jul 26, 2023 8:41 am, edited 11 times in total.

User avatar
gibberishh
Table Makers
Table Makers
Posts: 331
Joined: Fri Jul 02, 2021 5:48 pm
Reputation: 226

Re: Diablo Hellfire 1.02

Post by gibberishh »

New cheat: Activate All Quests in a new game instead of just a random selection. This will only work with new games, not already saved games. The cheat only needs to be active when starting a new game. Once the game is loaded, you can turn the cheat off. I'm uploading this as a separate table because there seem to be some bugs with it. I'm not sure and it hasn't been tested much.

Bug descriptions removed because they are fixed in a new table.

Minor update: The Limit Graphics script within items now also allocates unique items according to where they are equipped.

Minor update: Show Monsters' Actual HP now also includes uniques (bosses). A side effect of this is that their names will no longer be colored gold so when you're getting mobbed by their crowd, it might be slightly more difficult to pinpoint which creature is the boss. Their name is displayed correctly though so you can still pick them out.

Get new tables at viewtopic.php?p=304782#p304782
Last edited by gibberishh on Wed Jul 26, 2023 8:42 am, edited 12 times in total.

User avatar
gibberishh
Table Makers
Table Makers
Posts: 331
Joined: Fri Jul 02, 2021 5:48 pm
Reputation: 226

Re: Diablo Hellfire 1.02

Post by gibberishh »

  • Fixed Fixed Fixed: All Quests is no longer buggy. You can play and complete all quests in the game. At least in single player. I have no idea what happens on MP. The quest log window still opens at the start of a new game but doesn't affect gameplay. The cheat needs to be on only when creating a new game but leaving it on doesn't seem to affect gameplay either.
  • Fixed: Godmode was only protecting against physical damage. Now it should truly behave like godmode and not allow any damage to get through.
  • Changed: The Spell Hotkeys editor now orders the spells by columns instead of by rows. You can also use the Up/Down keys to move between the textboxes.
New Cheats
  • Combat > Display Monsters Left [Ctrl+D]: While the automap is open, you will see the number of monsters still alive on the map on the top-left, next to the level number. This includes monsters hidden in barrels and sarcophagi. Now you can kill every last piece of scum.
  • Movement > Always Indicate Traps [Alt+T]: See trapped objects irrespective of your class. If you assign a spell hotkey to disarm traps (e.g., D) you will be able to avoid most traps in the game.
  • Loot > Items on Ground: Shows how many items are on the ground on the map. Unfortunately it doesn't include items within chests. Maybe this will be useful to some picker-uppers ;)
  • Skip Cinematics: This will skip the Lazarus and Endgame videos. Won't be useful to many but when you have to keep testing the same things over and over like I have to, those videos get to be quite bothersome.
Known Issue
  • Display Monsters Left shows the correct number on most maps, but not always. It depends on which quests or bosses are loaded on that map. E.g., the game counts Diablo alone as 16 monsters! Sometimes a map will be completely empty but it will show 4 remaining. By default the game pads 4 to the monster count so the number I am showing is Count-4. Sometimes it needs to be Count-8, at other times Count-5. There are too many scenarios which change this behavior so this will not be addressed.
  • Special maps like Dark Passage, Skeleton King's Lair, Lazarus' Lair won't show the monster count on the screen. You can see the correct monster count in the table though.
  • In the table memrec, the monster count will show -4 while in town.
Get new tables at viewtopic.php?p=304782#p304782
Last edited by gibberishh on Wed Jul 26, 2023 8:42 am, edited 10 times in total.

User avatar
gibberishh
Table Makers
Table Makers
Posts: 331
Joined: Fri Jul 02, 2021 5:48 pm
Reputation: 226

Re: Diablo Hellfire 1.02

Post by gibberishh »

Even more fixed: All Quests no longer pops up the quest log window when starting a new game. Basically as far as I am aware all bugs with All Quests have been fixed :D (A couple of locations show incorrect names: Entrance to Skeleton King's Lair is shown as Dark Passage and vice versa but this will not be fixed)

New New New: Loot > Highlight Items Everywhere [Alt+E]: The overlay automap will always show blue boxes to indicate where items are on the ground. You don't need to be 'close enough' to see the boxes. You will even see items on unexplored areas of the map! 8-) Useful for quickly finding quest items like the Fungal Tome or Golden Elixir.
*In my game (Hellfire Mordor's Patch 1.02 RC07), the blue boxes are always visible. I don't have to cast Search to see them. I don't know if this is specific to my game or this is how all 1.02 versions work. If you need to cast Search to see the boxes, then that will not change. Once they are visible, your distance from the items should not matter.

It will be nice to know if folks out there (on 1.02) can always see the blue boxes or if some of you need to cast Search first.

Get new tables at viewtopic.php?p=304782#p304782

This code counts the number of interactable objects (unopened chests, shrines, barrels, etc) on a map but it is not yet reliable. I might do something with it later:

Code: Select all

[ENABLE]
alloc(newmem,1000)
alloc(Containers,4)
label(noclick,count,fincount)
registersymbol(Containers)

newmem:
  push eax
  push ebx
  push ecx
  xor ebx,ebx
  xor eax,eax
count:
  imul ecx,ebx,78
  cmp [ecx+Hellfire.exe+2DE600],0 // Interactable flag is 0 (off)
  je noclick
  inc eax
noclick:
  inc ebx
  cmp ebx,[Hellfire.exe+2DE3B4] // Possibly total # of interactable objects on map
  jg fincount
  jmp count
fincount:
  mov [Containers],eax
  pop ecx
  pop ebx
  pop eax

[DISABLE]
dealloc(Containers)
unregistersymbol(Containers)
Last edited by gibberishh on Wed Jul 26, 2023 8:42 am, edited 11 times in total.

User avatar
gibberishh
Table Makers
Table Makers
Posts: 331
Joined: Fri Jul 02, 2021 5:48 pm
Reputation: 226

Re: Diablo Hellfire 1.02

Post by gibberishh »

Inventory Editor: This is a separate table from the main one. It lets you modify, export and import items in the inventory. Because each item in the inventory is being read 'on-the-fly', if you have many items it can be quite slow. I tested with 40 different items (one in each inventory slot) and it took just over 20 seconds to load! Of course, it is much faster if you have lesser items.
Warning: Use at your own risk.

How to use:
  • This table does not launch Hellfire.exe. It still tries to connect to the game when you launch it so start the game first.
  • You MUST uncheck and Load Inventory EVERY TIME your items in the game change. Even if the list 'looks' okay, something as simple as relocating an item will cause glitches. If you work with an unsynced list, you will end up modifying the wrong items or even corrupting an item. FYI, this is the slow script.
  • As long as you have a save game with proper items, you can always reload it in case you make a mistake.
  • Ctrl+L will toggle Load Inventory.
  • Once the inventory is loaded, Alt+Left will collapse all the items and reduce clutter. You can then expand the item you wish to examine.
  • Once the inventory is loaded, you can also load the Export/Import form (Edit > Export/Import Items or Ctrl+E).
  • Export is straightforward: just select the item you want to export and save it to a file.
  • Import: Select the item in your inventory that you want to replace, then select an exported file to import. The code does not check if the file is valid. If you select a file, the code will assume it is valid and attempt to overwrite the item. You cannot import items exported from other trainers using this, only files exported using this table can be imported.
  • It is possible (and completely okay) to replace a single-slot item with something that occupies 6 slots. However, once you do this, move the item in the inventory so that the game can accommodate the new object correctly.
  • You cannot import items into an empty inventory. Items have to be replaced. An old trick is to split your gold into 1-gold coins and then replace each coin with whatever you wish. E.g., if you exported a Book of Fireball, you can import that book 5 times and upgrade your skill quite quickly.
  • If you know what you are doing, you can even 'create' items by modifying the properties of something. E.g., a gold coin can be changed into Book of Fireball quite easily. Or even a Staff of Golem. Study properties (including Meta Info) of items you find to get a feel for how to edit them.
  • Using Import, it is possible to create duplicates of items. If you throw these on the ground, the game will destroy them with the message that "a duplicate has been detected." The Allow Duplicate Items cheat in the main table will let these items remain on the ground.
  • Since the records are being created on-the-fly, you may be asked if you want to save changes to the table when you close it. Do not save, otherwise you will lose the signature which prevents the confirmation dialog at startup.
Export/Import is useful when creating new games. Diablo resets properties of several items when starting a new game (e.g., to play Nightmare after finishing Normal). So even if you legitimately used oils to upgrade your weapon and armor stats, the game will still reset them to default values. If you saved your items before finishing the game, you can simply import them back after starting the new one.

Missing:
  • Currently belt items are not included. I might add it at a later date.
  • Currently equipped items are not included. The import feature would be most useful for equipped items so I'll look to add it later. For now you can just move all your items into the inventory and exp/import from there.
Get new tables at viewtopic.php?p=304782#p304782

Code of deleted table (this is mainly for me, I might need this at some point):

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="34">
  <Forms>
    <frmItems Class="TCEForm" Encoding="Ascii85">t)47j,At8u6%)+ylF*oLhxWiJo#]R%1M}t0Cd]n,1lk?mGG0J}to6tuADuo-pQ)pFLeG7K$]+#:1}Sd$WXrqS^r}/e;!)e}px1hD54;gzW$27#+j5n6,Z]CGf?[s7fQ:^05][Uqh0a#-3k%ew?Qak_C/Bn}A(R*X;$CoStoL1ln7KZ=WP+k4D]Z*Hb/e=e^J77:SigBRQVd1usCgHmRPWkh?}EbrcRkKPsH_[/EVH(w4]Y[;wJQ-eAf76WJRJu}9L;/7K5(Qoe83ckmo,h+pzN}%5{b1ng[6kaV*s@nJXuCHTP{FI3_:Kda@d5AIC-.oXe^ff6o#pN7RlT?O5C(Dg=T$Q(c-6tx?_^Mqu)_q/8qNsb#^qPlNvUirVYr!,^uUzwTI[vy?ijjSADzy(PPmwF_@#$)$D8gewTYx;V6)[l#Xi[NrFR2SsUnK:wlu4;;x-tKgq)y01j8/Ig[5nV;k2oB:z^s,}XhQ5kH.UOkrQ2QRi@gSyS}PyN[1CrFATKuOTsN.H}g+CX]ii6W]^V[MEQpCRB^Uela*nI^Q+IKgIqq(I*u]tegS$yGa+_5VE5OQlDv7vEwUYX1s17+{(F{BnxkzNY2vJ*Y6u+*cUaT2-=lFRG,Q,I2%sw%0lvW]e8{7l[xXDb^+N0^V11[Q?.j%x!;S?T7(n^IjAi8,GpWEd]5Vl(-$Cs)P/vX7(hUVI#0)l]@{yGovh)_/cHXdUph-67WDfWRvx{U$exDpMj#rDava,MA1A9}dLxuxb(v+CNaq2.?}UF]bh-?})HU3GJ5_}}AHrR!#kjs2b?K@ORc)qf6R;*^Rdou*-]+zab}hCpm-lhh6x8RSe^c/RfTM/Xs{:,Uyn;.:?pf[anZa!X6lI)k$$feQOUcP/F8SD.p4Gn3rd5mU-hjN7,JT/LFj9v(]iKLFRg((WT?C(li2MN</frmItems>
  </Forms>
  <CheatEntries>
    <CheatEntry>
      <ID>1</ID>
      <Description>"Diablo Hellfire 1.02 Inventory"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
aobscanmodule(base,$process,8B 35 * * * * 69 C0 C8 55 00 00 80)
alloc(CharAdr,4)
registersymbol(CharAdr)

CharAdr:
  readmem(base+2,4)

[DISABLE]
unregistersymbol(CharAdr)
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>2</ID>
          <Description>"Load Inventory"</Description>
          <Options moDeactivateChildrenAsWell="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
function createChild(add,desc,dtype,parent,ddlink,color)
  local child = adrs.createMemoryRecord()
  child.Address = add
  child.DontSave = true
  child.Description = desc
  child.Type = dtype
  child.ShowAsSigned = true
  if ddlink ~= nil then
    child.DropDownLinked = true
    child.DropDownLinkedMemrec = ddlink
  end
  if color ~= nil then child.Color = color end
  child.appendToEntry(parent)
  return child
end
local inv = GetRec("Load Inventory")
local icount = readInteger("[[CharAdr]]+47D8")
local dlist = frmItems.ddItems.Items
dlist.clear()
local grey = tonumber(0x808080)
local blue = tonumber(0xFF0000)
if icount &lt; 1 then
  messageDialog("No items found in inventory",mtInformation,mbOK)
else
  for i=0,icount-1 do
    local iname = readString("[[CharAdr]]+E35+174*"..string.format("%X",i),36,false)
    if iname:match("%a") ~= nil then
      local itm = adrs.createMemoryRecord()
      itm.Address = "[CharAdr]"
      itm.DontSave = true
      itm.Description = "Item "..i+1
      itm.Type = vtString
      itm.String.Size = 48
      itm.OffsetCount = 1
      itm.Offset[0] = tonumber("E35",16)+(tonumber("174",16)*i)
      itm.Options = "[moManualExpandCollapse,moAllowManualCollapseAndExpand]"
      itm.appendToEntry(inv)

      local child = createChild("-45","Identified",vtByte,itm,"YesNo")
      local meta = adrs.createMemoryRecord()
      meta.Description = "Meta Info →"
      meta.IsGroupHeader = true
      meta.Color = grey
      meta.Options = "[moHideChildren]"
      meta.appendToEntry(itm)

      child = createChild("+5F","Base Item/Properties (Rarely Used)",vtByte,meta,"Base",grey)
      child = createChild("+47","Unidentified Price",vtDword,meta,nil,grey)
      child = createChild("+4B","Identified Price (4x Sale Price)",vtDword,meta,nil,grey)
      child = createChild("-40","Unidentified Name",vtString,meta,nil,grey)
      child.String.Size = 48
      child = createChild("-41","Grade",vtByte,meta,"Grades",grey)
      child = createChild("+B7","Unique Item Id",vtByte,meta,"Uniques",grey)
      child = createChild("+CF","Prefix",vtByte,meta,"Prefixes",grey)
      child = createChild("+CF+1","Suffix",vtByte,meta,"Suffixes",grey)
      child = createChild("+40+1","Equip Type",vtByte,meta,"ItemTypes",grey)
      child = createChild("+40","Equip Slot",vtByte,meta,"EquipSlots",grey)
      child = createChild("+40+3","Inventory Graphic",vtByte,meta,"InvGraphics",grey)
      child = createChild("-75","Equipped Graphic",vtByte,meta,"EquipGraphics",grey)
      child = createChild("+E3","Strength Required",vtByte,meta,nil,grey)
      child = createChild("+E3+1","Magic Required",vtByte,meta,nil,grey)
      child = createChild("+E3+2","Dexterity Required",vtByte,meta,nil,grey)
      child = createChild("+E3+3","Vitality Required",vtByte,meta,nil,grey)

      child = createChild("+5B","Magic Property 1",vtByte,itm,"MagicProps1",blue)
      child = createChild("+5B+1","Magic Property 2",vtByte,itm,"MagicProps2",blue)
      child = createChild("+5B+2","Combat Ability",vtByte,itm,"CombatAbilities",blue)
      child = createChild("+5B+3","Other Ability",vtByte,itm,"OtherAbilities",blue)
      child = createChild("+6F","Durability (Now)",vtDword,itm)
      child = createChild("+6F+4","Durability (Max)",vtDword,itm)
      child = createChild("+4F","Min Damage",vtDword,itm)
      child = createChild("+4F+4","Max Damage",vtDword,itm)
      child = createChild("+77","+ Damage %",vtDword,itm)
      child = createChild("+A7","+ Damage",vtDword,itm)
      child = createChild("+7B","To Hit %",vtDword,itm)
      child = createChild("+57","AC",vtDword,itm)
      child = createChild("+7F","AC %",vtDword,itm)
      child = createChild("+AB","DFE",vtDword,itm)
      child = createChild("+83","+ Strength",vtDword,itm)
      child = createChild("+87","+ Magic",vtDword,itm)
      child = createChild("+8B","+ Dexterity",vtDword,itm)
      child = createChild("+8F","+ Vitality",vtDword,itm)
      child = createChild("+93","Resist Fire",vtDword,itm)
      child = createChild("+97","Resist Lightning",vtDword,itm)
      child = createChild("+9B","Resist Magic",vtDword,itm)
      child = createChild("+AF","Light Radius (x10)",vtDword,itm)
      child = createChild("+BB","+ Fire Damage (Min)",vtDword,itm)
      child = createChild("+BB+4","+ Fire Damage (Max)",vtDword,itm)
      child = createChild("+BB+8","+ Lightning Damage (Min)",vtDword,itm)
      child = createChild("+BB+C","+ Lightning Damage (Max)",vtDword,itm)
      child = createChild("+B3","All Spell Levels",vtDword,itm)
      child = createChild("+63","Spell",vtDword,itm,"Spells")
      child = createChild("+67","Charges (Now)",vtDword,itm)
      child = createChild("+67+4","Charges (Max)",vtDword,itm)
      child = createChild("+A3","+ Life (x/64)",vtDword,itm)
      child = createChild("+9F","+ Mana (x/64)",vtDword,itm)

      local exp = adrs.createMemoryRecord()
      exp.Description = "Export Stuff →"
      exp.IsGroupHeader = true
      exp.Color = grey
      exp.Options = "[moHideChildren]"
      exp.appendToEntry(itm)

      child = createChild("+D3","Prefix Base Value",vtDword,exp,nil,grey)
      child = createChild("+D3+4","Prefix Multiplier",vtDword,exp,nil,grey)
      child = createChild("+D3+8","Suffix Base Value",vtDword,exp,nil,grey)
      child = createChild("+D3+C","Suffix Multiplier",vtDword,exp,nil,grey)
      child = createChild("+EB","Transfer Code",vtDword,exp,nil,grey)
      child.ShowAsHex = true
      child = createChild("-7D","Unicode Check",vtQword,exp,nil,grey)
      child.ShowAsHex = true

      strings_add(dlist,iname)
    end
  end
  frmItems.ddItems.ItemIndex = 0
end

{$asm}
[DISABLE]
{$lua}
local inv = GetRec("Load Inventory")
for i=inv.Count-1,0,-1 do
  memoryrecord_delete(inv[i])
end
frmItems.Hide()
</AssemblerScript>
          <Hotkeys>
            <Hotkey>
              <Action>Toggle Activation</Action>
              <Keys>
                <Key>17</Key>
                <Key>76</Key>
              </Keys>
              <ID>0</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>3</ID>
      <Description>"Dropdown Lists"</Description>
      <Options moHideChildren="1"/>
      <Color>C0C0C0</Color>
      <GroupHeader>1</GroupHeader>
      <Hotkeys>
        <Hotkey>
          <Action>Toggle Activation</Action>
          <Keys>
            <Key>18</Key>
            <Key>37</Key>
          </Keys>
          <ID>0</ID>
        </Hotkey>
      </Hotkeys>
      <CheatEntries>
        <CheatEntry>
          <ID>4</ID>
          <Description>"YesNo"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">1:✓
0:×
</DropDownList>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>5</ID>
          <Description>"Base"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:None
1:?
2:Potion of Full Healing
3:Potion of Healing
4:?
5:?
6:Potion of Mana
7:Potion of Full Mana
8:?
9:?
10:Elixir of Strength
11:Elixir of Magic
12:Elixir of Dexterity
13:Elixir of Vitality
14:Decrease Strength
15:Decrease Magic
16:Decrease Dexterity
17:Decrease Vitality
18:Potion of Rejuvenation
19:Potion of Full Rejuvenation
20:?
21:Scroll of Apocalypse/Healing/Identify/InfraVision/Nova/Phasing/Teleport/Town Portal
22:Scroll of ChainLightning/FireBall/FireWall/Flash/Golem/Guardian/Inferno/Lightning/Resurrect/StoneCurse
23:Staff
24:Book
25:Ring
26:Amulet
27:Altered Item Abilities (Unique Item)
28:?
29:?
30:?
31:Oil of Accuracy
32:Oil of Mastery
33:Oil of Sharpness
34:Oil of Death
35:Oil of Skill
36:Blacksmith Oil
37:Oil of fortitude
38:Oil of Permanence
39:Oil of Hardening
40:Oil of Imperviousness
41:?
42:Map of Stars/Cathedral Map
43:Display Unidentified Price as "Level"
44:Spectral Elixir
45:?
46:?
47:Rune of Fire
48:Rune of Lightning
49:Greater Rune of Lightning
50:Greater Rune of Fire
51:Rune of Stone
52:?
53:Auric Amulet
54:Reconstructed Note
</DropDownList>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>6</ID>
          <Description>"EquipGraphics"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Books, Potions, Elixirs, Scrolls, Ears
1:Daggers, Swords, Falchions, Scimitars
2:Axes
3:Bows
4:Clubs, Flails, Maces, Mauls
5:Shields
6:Cloaks, Capes, Rags, Armor
7:Caps, Skull Caps, Helms, Crowns
8:Mail
9:Plates
10:Staves
11:Gold
12:Rings
13:Amulets
255:None
</DropDownList>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>7</ID>
          <Description>"InvGraphics"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">4:Gold Pile (1-1000)
5:Gold Pile (1001-2499)
6:Gold Pile (2500+)
32:Small Health Potion
35:Full Health Potion
39:Small Mana Potion
0:Full Mana Potion
37:Small Rejuvenation Potion
33:Full Rejuvanation Potion
38:Elixir of Strength
34:Elixir of Magic
36:Elixir of Dexterity
31:Elixir of Vitality
15:Thin Rainbow Vial (Spectral Elixir)
16:Large Rainbow Vial
17:Ruby Vial (Golden Elixir)
29:Thin Black Vial
30:Large Black Vial
52:Bottle of Brew
51:Red Handle Dagger
54:Blue Handle Dagger
50:Bastard Dagger (Wizard Spike)
53:Jagged Dagger (Black Razor)
55:Snap Blade
56:Blade
64:Short Sword
67:Sabre
72:Scimitar
62:Falchion
60:Long Sword
200:Long Sword
201:Sword with Hole
202:Serrated Sword
57:Bastard Sword
58:Jagged Sword (Executioner's Blade)
61:Broad Sword
65:Claymore
68:Legion Sword
73:Blood Angel Sword
74:Pain Sword
110:Two Handed Sword
134:Great Sword (Katana)
160:Rune Sword (The Grizzly)
161:White Katana (The Grandfather)
206:Glass Sword
221:Red Orb Sword with Hole
66:Wooden Club
69:Bone Club
218:Bone
70:Spiked Club
71:Club with Nail
162:Spiked Baseball Bat (The Protector)
63:Morning Star
59:Mace
216:Spine Mace
217:Bone Mace
220:Spiked Star Mace
223:Spiked Star
212:Spiked Orb Mace
213:Jagged Steel Mace
131:Flail
130:Three Ball Flail
121:WarHammer
122:Maul
205:Diamond Hammer
214:Backbone Hammer
215:Hip Hammer
112:Small Axe
144:Axe
141:Broad Axe
142:Large Axe
143:Great Axe
156:Ripper Axe (Great Axe + Ruby)
104:Hack Axe (Stone Cleaver)
101:Battle Axe
106:The Butcher's Cleaver
163:Double-Bladed Axe (Messerschmidt's Reaver)
222:Red Orb Axe with Hole
211:Red Orb Axe
224:Multiblade Axe
118:Short Bow
102:Hunter's/Long Bow
133:Composite Bow
165:Short War Bow
167:Short Battle Bow
119:Long Battle/War Bow
209:Metal Bow
210:Ice Bow
219:Bone Bow
145:Blackstone Bow
120:Fish Bow
164:Bow of the Wind (Windforce)
108:Bone Bow (Eaglehorn)
158:Crossbow (The Needler)
166:Composite Staff
123:Long Staff
124:War Staff
109:Red Striped Staff
208:Blue Crystal Staff
125:Shaman's Staff
207:Harlequin Staff
155:Skull Staff (Lazarus' Staff)
83:Buckler
105:Small Shield
147:Large Shield
100:Lightning Shield
113:Kite Shield
132:Tower Shield
148:Gothic Shield
115:Thick Roman Shield
117:Red-Dragon Shield (Dragon's Breach)
116:Grinning Death Shield (Split Skull Shield)
146:Red Gothic Shield (Holy Defender)
91:Cap
90:Skull Cap
93:Cushioned Skull Cap (Thinking Cap)
82:Helm
84:Horned Helm
98:Great Helm
85:Great War Helm
75:Full Helm
95:Crown
77:Spiked Undead Crown
78:Thanatos' Crown
80:Jester's Cap
79:Leoric's Helm (Royal Circlet)
81:Jeweled Helm (Harlequin Crest)
99:Samurai Helm (Overlords Helm)
128:Rags
149:Cloak
150:Cape
139:Leather Shirt
129:Quilted Armor
135:Leather Armor
127:Hard Leather Armor
107:Studded Leather Armor
137:Robe
138:Dark Mage Robe
92:Torn Flesh of Souls
94:Red Roman Tunic
111:Chain Mail
114:Scale Mail
103:Field Plate/Plate mail
153:Breast Plate
154:Ring Mail
136:Splint Mail (Samurai Armor)
152:Gothic Plate
151:Full Plate Mail
225:Red Metal Armor
157:Padded Plate (Arkaine's Valor)
226:Bovine Plate
159:Horned Dragon Plate Armor (Naj's Light Plate)
203:Bloody Armor
204:Skull Armor
7:Thick Gold Ring
8:Ruby Ring (The Bleeder)
9:Thorny Ring (Bramble)
10:Sapphire Ring (Ring of Truth)
11:Skull Ring (Ring of Regha)
12:Metal Ring
13:Ebony Gold Ring (Ring of Engagement)
14:Orange Gem Gold Ring (Constricting Ring)
18:Steel Blue Diamond Ring (Empyrean Band)
168:Pentagram Ring
169:Blue Orb Ring
174:Gold/Silver Ring
177:Strong Ring
179:Heavy Gold Ring
181:Carved Gold Ring
182:Brown Ring
184:Lava Ring
186:Square Ring
45:Amulet
44:Blue Ivory Amulet (Optic Amulet)
46:Black Eye Amulet
47:Golden Scarab Brooch
48:Black Ankh
170:Red Orb Gold Amulet
171:Flower Amulet
172:Globe Amulet
173:2 Skull Amulet
175:Pentagram Amulet
176:Wing Amulet
178:Dark Rock Amulet
183:Gold Dark Rock Amulet
185:Hexagram Amulet
180:Chest Amulet
1:White Scroll
2:Brown Scroll
3:Blue Scroll
193:Brown Pyramide Rune
194:Brown Square Rune
195:Blue Rune
196:Gold Rune
197:Silver Rune
22:Hellraiser Orb
23:Hellraiser Box/Cube
24:Hellraiser Pyramid
25:Large Ruby (Blood stone)
26:Red Christmas Tree Ornament
27:Blue Sapphire Cube
28:Orange Pyramid
126:Tavern Sign
76:Magic Rock
97:Tome of Knowledge (Fungal Tome)
89:Black Mushroom
40:Demon's Brain
140:Anvil of Fury
187:Rune Bomb
188:Teddy Bear
198:Grey Suit
199:Brown Suit
96:Map/Diagram
189:Torn Note 1
190:Torn Note 2
191:Torn Note 3
192:Reconstructed Note
41:Claw
42:Tooth
43:Loaf of Bread
49:Pouch
86:Black Book
87:Red Book
88:Blue Book
19:Sorceror's Ear
20:Warrior's Ear
21:Rogue's Ear
</DropDownList>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>8</ID>
          <Description>"Grades"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Normal
1:Magical
2:Unique
*:Unknown
</DropDownList>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>9</ID>
          <Description>"Prefixes"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Bronze/Iron/Steel/Silver/Gold/Platinum/Mithril/Meteoric/Weird/Strange (+x% to Hit)
1:Tin/Brass (-x% to Hit)
2:Jagged/Deadly/Heavy/Vicious/Brutal/Massive/Savage/Ruthless/Merciless (+x% Damage)
3:Useless/Bent/Weak (-100%/x% Damage)
4:Sharp/Fine/Warrior/Soldier/Lord/Knight/Master/Champion/King (+x% to Hit, +y% Damage)
5:Clumsy/Dull (-x% Hit, -y% Damage)
6:Fine/Strong/Grand/Valiant/Glorious/Blessed/Saintly/Awesome/Holy/Godly (+x% to AC)
7:Vulnerable/Rusted (-x to AC)
8:Red/Crimson/Garnet/Ruby (Resist Fire +x%)
9:Blue/Azure/Lapis/Cobalt/Saphire (Resist Lightning +x%)
10:White/Pearl/Ivory/Crystal/Diamond (Resist Magic +x%)
11:Topaz/Amber/Jade/Obsidian/Emerald (Resist All x%)
14:Angel's/Arch-angel's (Increase Spells by 1/2 levels)
15:Bountiful/Plentiful (Double/Triple Charges)
16:Flaming (Extra Fire Damage)
17:Lightning (Extra Lightning Damage)
33:Spider/Raven/Snake/Serpent/Drake/Dragon/Wyrm/Hydra (+x Mana)
34:Hyena/Frog (-x Mana)
41:Gnat String (Bow Multishot)
45:Thorns (Attacker Takes 1-3 Damage)
87:Jester's (Random 0-500% damage)
88:Crystalling (-x% Durability, +200-300% Damage)
89:Doppelganger's (+x% to Hit +x% to Damage, 10% chance to dupe monster)
255:None
*:Unidentified
</DropDownList>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>10</ID>
          <Description>"Suffixes"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">19:of Strength/Might/Power/Giant/Titan (+x Strength)
20:of Frailty/Weakness (-x Strength)
21:of Magic/Mind/Briliance/Sorcery/Wizardry (+x Magic)
22:of Fool/Dyslexia (-x Magic)
23:of Dexterity/Skill/Accuracy/Precision/Perfection (+x Dexterity)
24:of Paralysis/Atrophy (-x Dexterity)
25:of Vitality/Zest/Vim/Vigor/Life (+x to Vitality)
26:of Illness/Disease (-x Vitality)
27:of Sky/Moon/Stars/Heavens/Zodiac (+x to All)
28:of Trouble/Pit (-x All)
29:of Pain/Tears (+x Damage Recieved)
30:of Health/Protection/Absorption/Deflection/Osmosis (-3/4/2 Damage)
31:of Fox/Jaguar/Eagle/Wolf/Tiger/Lion/Mamooth/Whale (+x to HP)
31:of Fox/Jaguar/Eagle/Wolf/Tiger/Lion/Mamooth/Whale (+x to HP)
32:of Vulture/Jackal (-x to HP)
35:of Craftmanship/Plenty/Structure/Sturdiness/Many (High Durability)
36:of Brittleness/Strudiness/Craftmanship/Structure/Many/Plenty (Decreased Durability)
37:of Ages (Indestructible)
38:of Light/Radiance (+20/40% Light Radius)
39:of Dark/Night (-20%/40% Light Radius)
42:of Flame/Fire/Burning (+x-y Fire Damage)
43:of Shock/Lightning/Thunder (+x-y Lightning Damage)
52:of Thieves (Half Trap Damage)
53:of Bear (Knocks Target Back)
55:of Bat/Vampire (Steals 3%/5% Mana)
56:of Leech/Blood (Steals 3%/5% Life)
57:of Piercing/Puncturing/Bashing (Penetrate Target's Armor)
58:of Readiness/Swiftness/Speed/Haste (Quick/Fast/Faster/Fastest Attack)
59:of Balance/Stability/Harmony (Fast/Faster/Fastest Hit Recovery)
60:of Blocking (Fast Block)
61:of Quality/Maiming/Slaying/Gore/Carnage/Slaughter (+11/20 Damage)
84:of Devastation (10% chance to do Triple Damage)
85:of Decay (+150-250% Damage, decreases by 5 each hit)
86:of Peril (2x Dmg to Monster, 1x to You)
255:None
*:Unidentified
</DropDownList>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>11</ID>
          <Description>"EquipSlots"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">1:One-handed
2:Two-handed
3:Armor
4:Head Gear
5:Ring
6:Amulet
7:Unequippable
</DropDownList>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>12</ID>
          <Description>"ItemTypes"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Unidentified
1:Weapon
2:Armor
3:Jewelry
4:Gold
5:Unusable
</DropDownList>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>13</ID>
          <Description>"MagicProps1"</Description>
          <DropDownList DisplayValueAsItem="1">0:None
1:Infravision
2:Life Steal
4:Random Speed Arrows
8:Fire Arrows
16:Fire Melee Damage
32:Lighting Melee Damage
48:Spell on Hit (Min Lt Dmg=1/2/3)
64:Constantly Lose Hit Points
</DropDownList>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>14</ID>
          <Description>"MagicProps2"</Description>
          <DropDownList DisplayValueAsItem="1">0:None
2:Multishot Arrows
8:Knockback
32:Bat (Steal 3% Mana)
64:Vampire (Steal 5% Mana)
128:Leech (Steal 3% Life)
</DropDownList>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>15</ID>
          <Description>"CombatAbilities"</Description>
          <DropDownList DisplayValueAsItem="1">0:None
1:Blood (Steal 5% Life)
2:Quick Attack
4:Swiftness (Fast Attack)
8:Speed (Faster Attack)
16:Haste (Fastest Attack)
32:Balance (Fast Recovery)
64:Stability (Faster Recovery)
128:Harmony (Fastest Recovery)
</DropDownList>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>16</ID>
          <Description>"OtherAbilities"</Description>
          <DropDownList DisplayValueAsItem="1">0:None
1:Blocking (Fast Block)
2:Lightning Arrows/Spell on Shoot (Min Lt Dmg=1/2/3 or Min Fire Dmg&gt;0)
4:1-3 Thorns Damage
8:Corruption (0 Mana)
16:Thieves (Absorb Half Trap Damage)
32:+200% Damage vs. Demons
64:0 Resisitances
</DropDownList>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>17</ID>
          <Description>"Spells"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:None
1:Firebolt
12:Fireball
20:Inferno
6:Fire Wall
15:Flame Wave
41:Immolation
45:Ring of Fire
13:Guardian
29:Elemental
30:Charged Bolt
3:Lightning
14:Chain Lightning
18:Nova
40:Lightning Wall
4:Flash
31:Holy Bolt
35:Blood Star
36:Bone Spirit
24:Apocalypse
8:Stone Curse
21:Golem
11:Mana Shield
37:Mana
2:Healing
34:Heal Other
7:Town Portal
33:Telekinesis
10:Phasing
42:Warp
23:Teleport
5:Identify
9:Infravision
43:Reflect
44:Berserk
46:Search
</DropDownList>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>18</ID>
          <Description>"Uniques"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">108:Acolyte's Amulet
42:Aguinara's Hatchet
97:Amulet of Warding
7:Arkaine's Valor
100:Armor of Gloom
49:Baranar's Star
23:Black Razor
82:Blackoak Shield
101:Blizen
38:BloodSlayer
106:Bone Chain Armour
9:Bovine Plate
14:Bow of the Dead
85:Bramble
47:Civerb's Cudgel
88:Constricting Ring
45:Crackrust
13:Deadly Hunter
107:Demon Plate Armour
78:Demonspike Coat
105:Diamond Edge
33:Doombringer
81:Dragon's Breach
53:Dreamflange
19:Eaglehorn
104:Eater of Souls
2:Empyrean Band
99:Flambeau
16:Flamedart
17:Fleshstinger
66:Fool's Crest
90:Giant's Knuckle
24:Gibbous Moon
109:Gladiator's Ring
57:Gleamsong
50:Gnarled Root
98:Gnat Sting
20:Gonnagal's Dirk
67:Gotterdamerung
8:Griswold's Edge
22:Gryphons Claw
46:Hammer of Jholm
5:Harlequin Crest
43:Hellslayer
63:Helm of Sprits
83:Holy Defender
25:Ice Shank
55:Immolator
32:Inferno
93:Karik's Ring
72:Leather of Aut
30:Lightsabre
91:Mercurial Ring
44:Messerschmidt's Reaver
61:Mindcry
77:Naj's Light Plate
60:Naj's Puzzler
76:Nightscape
3:Optic Amulet
65:OverLord's Helm
89:Ring of Engagement
94:Ring of Magma
95:Ring of Mystics
86:Ring of Regha
96:Ring of Thunder
4:Ring of Truth
62:Rod of Onan
68:Royal Circlet
75:Scavenger Carapace
52:Schaefer's Hammer
28:Shadowhawk
37:Sharp Beak
103:Shiotachi
74:Sparking Mail
80:Split Skull Shield
54:Staff of Shadows
41:Stonecleaver
56:Storm Spire
84:Stormshield
15:The Blackoak Bow
87:The Bleeder
27:The Bonesaw
0:The Butcher's Cleaver/Not Unique
39:The Celestial Axe
12:The Celestial Bow
48:The Celestial Star
51:The Cranium Basher
21:The Defender
79:The Deflector
26:The Executioner's Blade
31:The Falcon's Talon
70:The Gladiator's Bane
35:The Grandfather
34:The Grizzly
36:The Mangler
11:The Needler
59:The Protector
71:The Rainbow Cloak
10:The Rift Bow
1:The Undead Crown
64:Thinking Cap
58:Thundercall
102:Thunderclap
69:Torn Flesh of Souls
6:Veil of Steel
40:Wicked Axe
18:Windforce
73:Wisdom's Wrap
29:Wizardspike
92:Xorine Ring
</DropDownList>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <Comments>Created by gibberishh. Get the latest version from https://fearlessrevolution.com/viewtopic.php?t=17450</Comments>
  <LuaScript>local proc = "Hellfire.exe"
adrs = getAddressList()
function GetRec(desc)
  return adrs.getMemoryRecordByDescription(desc)
end
registerLuaFunctionHighlight("GetRec")

function ToggleDisplay(sender,force)
  local state = not(menuitem.Caption == "Compact M&amp;ode")
  if force~=nil then state = not force end
  menuitem.Caption = state and "Compact M&amp;ode" or "Full M&amp;ode"
  getMainForm().Splitter1.Visible = state
  getMainForm().Panel5.Visible = state
end
function AddCompactMenu()
  if compactmenuexists then return end
  menuitem = createMenuItem(parent)
  getMainForm().Menu.Items.add(menuitem)
  menuitem.Caption = "Compact M&amp;ode"
  menuitem.OnClick = ToggleDisplay
  compactmenuexists = true

  getMainForm().WindowState = "wsMaximized"
end
function Launch()
  local ticks = 0
  local maxTicks = 3000
  local tick = 100
  while process ~= proc and ticks &lt; maxTicks do
    openProcess(proc)
    sleep(tick)
    ticks = ticks + tick
  end
  if process ~= proc then
    messageDialog(proc.." is not running. Game not attached.",mtError,mbOK)
    return
  else
    adrs.getMemoryRecord(0).Active = true
  end
  ToggleDisplay(nil,true)
end
function AddFormMenu()
  if mnuItemsExists then return end
  mnuItems = createMenuItem(parent)
  getMainForm().Menu.Items[1].add(mnuItems)
  mnuItems.Caption = "&amp;Export/Import Items"
  mnuItems.OnClick = ShowExporter
  mnuItems.Shortcut = "Ctrl+E"
  mnuItemsExists = true
end
local inv = GetRec("Load Inventory")
function ShowExporter()
  if inv.Active then
    if inv.Count &gt; 0 then
      frmItems.Show()
    else
      messageDialog("No items found in inventory",mtInformation,mbOK)
    end
  else
    messageDialog("Load the inventory first",mtError,mbOK)
  end
end
function ddItems_OnChange(sender)
  frmItems.btnExport.Enabled = frmItems.ddItems.ItemIndex &gt;= 0
  frmItems.btnImport.Enabled = frmItems.ddItems.ItemIndex &gt;= 0
end
function btnClose_Click(sender)
  frmItems.Hide()
end
function btnExport_Click(sender)
  if frmItems.ddItems.ItemIndex &lt; 0 then return false end
  local inv = GetRec("Load Inventory")
  local item = inv[frmItems.ddItems.ItemIndex]
  frmItems.dlgSave.FileName = item.Value
  if frmItems.dlgSave.execute() then
    local savestr = string.format('prop.Value="%s"\n',item.Value)
    for i=0,item.Count-1 do
      if item[i].Count == 0 then
        savestr = string.format('%sprop[%i].Value=%s\n',savestr,i,item[i].Value)
      else
        for j=0,item[i].Count-1 do
          local format = (item[i][j].Type==vtString or item[i][j].ShowAsHex) and '%sprop[%i][%i].Value="%s"\n' or '%sprop[%i][%i].Value=%s\n'
          savestr = string.format(format,savestr,i,j,item[i][j].Value)
        end
      end
    end
    local f = io.open(frmItems.dlgSave.FileName,"w")
    f:write(savestr)
    f:close()
    messageDialog(item.Value.." saved",mtInformation,mbOK)
  end
end
function btnImport_Click(sender)
  local idx = frmItems.ddItems.ItemIndex
  if idx &gt;= 0 then
    if frmItems.dlgOpen.execute() then
      local f = io.open(frmItems.dlgOpen.FileName, "r")
      local cmd = f:read("*all")
      f:close()
      prop = inv[idx]
      if messageDialog("Are you sure you want to replace "..prop.Value.."?",mtConfirmation,mbYes,mbNo) == mrYes then
        load(cmd)()
        frmItems.ddItems.Items[idx] = prop.Value
      end
      prop = nil
    end
  end
end
GetRec("Dropdown Lists").OnActivate = function()
  for i=0,inv.Count-1 do inv[i].Collapsed = true end
end
AddCompactMenu()
AddFormMenu()
Launch()
</LuaScript>
</CheatTable>
Last edited by gibberishh on Wed Jul 26, 2023 8:43 am, edited 9 times in total.

User avatar
gibberishh
Table Makers
Table Makers
Posts: 331
Joined: Fri Jul 02, 2021 5:48 pm
Reputation: 226

Re: Diablo Hellfire 1.02

Post by gibberishh »

Added Equipped and Belt items to the inventory manager. Also, changed the table completely: it is no longer dynamically generated, which means it is now super fast. But that also means instead of <50KB, the table has now blown up to >1MB! There are literally thousands of records saved within the table.

Don't worry, you won't see all several thousand records at once. And remember, after you Load Inventory, you can use Alt+Left to collapse all groups.

Get new tables at viewtopic.php?p=304782#p304782
Last edited by gibberishh on Wed Jul 26, 2023 8:43 am, edited 7 times in total.

Post Reply

Who is online

Users browsing this forum: admantx, AhrefsBot, Amenity, azarashi, Baidu [Spider], Bing [Bot], demonicanimus, Google Adsense [Bot], Maokang, Marui555, r0xm2n, TwilightStarocean