I need some help! (Lua form and function)

Want Cheat Engine to do something specific and no idea how to do that, ask here. (From simple scripts to full trainers and extensions)
Post Reply
User avatar
patka
Table Makers
Table Makers
Posts: 224
Joined: Sun Jul 05, 2020 11:09 am
Reputation: 245

I need some help! (Lua form and function)

Post by patka »

Hi Everyone!!

I made an item list script and I want to add a few more things:

1: how can I change the font color of the elements (mainly the RadioGroup Texts)?
2: how can I change the font type of the elements?
3: how can I make it so that if I double-click on an item in the list on the right, the number of the item is copied to the clipboard?
4: how can i change the caption of the pop-up windows?
Thank Your answer!
Here is the code:

Code: Select all

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

{$lua}

local f = createForm( true )
local rg = createRadioGroup( f )

-- Add items to radiogroup..
local s = radiogroup_getItems( rg );
rg.setSize(300,800)
f.setSize(610,800)
f.setColor ( 13231868 )


strings_add( s, 'Usables' );
strings_add( s, 'Crafting Materials' );
strings_add( s, '?Quest Items' );
strings_add( s, 'Others' );
strings_add( s, 'Crystals' );
strings_add( s, 'Helmets' );
strings_add( s, 'Shoulderpads' );
strings_add( s, 'Chestguards' );
strings_add( s, 'Gloves' );
strings_add( s, 'Legguards' );
strings_add( s, 'Capes' );
strings_add( s, 'Amulets' );
strings_add( s, 'Rings' );
strings_add( s, 'Onehanded Weapons' );
strings_add( s, 'Twohanded Weapons' );
strings_add( s, 'Dual Wields' );
strings_add( s, 'Twinblades' );
strings_add( s, 'Greatweapons' );
strings_add( s, 'Ranged Weapons' );
strings_add( s, 'Shields' );


local lb = createListBox( f ) lb.left=lb.width + 200 --lb.visible=false
lb.Height=lb.Height
lb.width = 310
lb.height = 800
lb.setColor ( 15244162 )

-- Add items to listbox1..
local s = listbox_getItems( lb );
local function updateListBox()
  local s = listbox_getItems(lb)
  strings_clear(s)

  if rg.ItemIndex == 0 then -- Usables
strings_add( s, '1:   Lesser Ionization Fluid' );
strings_add( s, '2:   Lesser Restorative Fluid' );
strings_add( s, '3:   Stoneshield Concoction' );
strings_add( s, '12:  Spongeskin Concoction' );
strings_add( s, '13:  Entropy Grenade' );
strings_add( s, '14:  Cryo Grenade' );
strings_add( s, '15:  Glowbug' );
strings_add( s, '16:  ?Ghost Repellent' );
strings_add( s, '17:  ?Ghost Exterminator' );
strings_add( s, '18:  Mobile Respawn Point' );
strings_add( s, '19:  ?Capacity Upgrade' );
strings_add( s, '20:  ?Capacity Upgrade' );
strings_add( s, '32:  Restorative Fluid' );
strings_add( s, '39:  Ionization Fluid' );
strings_add( s, '40:  Greater Ionization Fluid' );
strings_add( s, '41:  Greater Restorative Fluid' );
strings_add( s, '58:  ?Cluster Grenade' );
strings_add( s, '59:  ?Electromagnetism Grenade' );
strings_add( s, '60:  ?Chaos Grenade' );
strings_add( s, '61:  ?Decay Grenade' );
strings_add( s, '76:  Beacon: Entropy' );
strings_add( s, '77:  Beacon: Chaos' );
strings_add( s, '78:  Beacon: Decay' );
strings_add( s, '79:  Beacon: Electromagnetism' );
strings_add( s, '81:  Fluxshield Concoction' );
strings_add( s, '82:  Indestructible Concoction' );
strings_add( s, '84:  Jaeger`s Concoction' );
strings_add( s, '85:  Greater Jaeger`s Concoction' );
strings_add( s, '86:  Dreadguard`s Concoction' );
strings_add( s, '87:  Greater Dreadguard`s Concoction' );
strings_add( s, '88:  Technomancer`s Concoction' );
strings_add( s, '89:  Greater Technomancer`s Concoction' );
strings_add( s, '90:  Forsaken Concoction' );
strings_add( s, '91:  Greater Forsaken Concoction' );
strings_add( s, '114: Concoction: Health Regen' );
strings_add( s, '115: Concoction: Flux Regen' );
strings_add( s, '116: Concoction: Stamina Regen' );
strings_add( s, '117: Concoction: Mighty Regen' );
strings_add( s, '118: Concoction: Aberrants Blood' );
strings_add( s, '119: Concoction: Zealots Tears' );
strings_add( s, '120: Concoction: Berserkers Tenacity' );
strings_add( s, '121: Concoction: Powerful Immune System' );
strings_add( s, '122: Concoction: Strength' );
strings_add( s, '123: Concoction: Agility' );
strings_add( s, '124: Concoction: Constitution' );
strings_add( s, '125: Concoction: Intellect' );
strings_add( s, '126: Concoction: All Attributes' );
strings_add( s, '127: Divers Lungs Concoction' );
strings_add( s, '138: Relocating Device' );

-- Add items to listbox2..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 1 then -- Crafting Materials
strings_add( s, '4:   Metal Arrows' );
strings_add( s, '5:   Broken Arrow' );
strings_add( s, '6:   Crimson Echinacea' );
strings_add( s, '7:   Gingko Leaves' );
strings_add( s, '8:   Fleshfruit' );
strings_add( s, '9:   Metal Scrap' );
strings_add( s, '10:  Sludge' );
strings_add( s, '11:  Tainted Sludge' );
strings_add( s, '26:  Sharp Molar' );
strings_add( s, '27:  Flesh' );
strings_add( s, '28:  Intestinal Parasite' );
strings_add( s, '29:  Organic Material' );
strings_add( s, '30:  Bone Marrow' );
strings_add( s, '31:  Essence' );
strings_add( s, '33:  Piercing Arrow' );
strings_add( s, '34:  Exoplosive Arrow' );
strings_add( s, '35:  Shock Arrow' );
strings_add( s, '36:  Sound Arrow' );
strings_add( s, '50:  Oil' );
strings_add( s, '51:  Clockwork Gear' );
strings_add( s, '52:  Tainted Liver' );
strings_add( s, '62:  Alkahest' );
strings_add( s, '63:  Rotten Flesh' );
strings_add( s, '64:  Coagulated Blood' );
strings_add( s, '65:  Horn Silver' );
strings_add( s, '66:  Vitriol' );
strings_add( s, '69:  Metal Alloy' );
strings_add( s, '70:  Beryllium Copper' );
strings_add( s, '100: Nervous System' );
strings_add( s, '101: Mutated Tongue' );
strings_add( s, '102: Ingested Food' );
strings_add( s, '103: Bone Shard' );
strings_add( s, '104: Distorted Bone' );
strings_add( s, '105: Dacaying Organ' );
strings_add( s, '106: Prayer Spice' );
strings_add( s, '107: Prayer Feather' );
strings_add( s, '108: Flux Residue' );
strings_add( s, '129: Vermilion Mercury' );
strings_add( s, '130: Ectoplasm' );

-- Add items to listbox3..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 2 then -- ?Quest Items
strings_add( s, '21:  ?Rusty Key' );
strings_add( s, '22:  Upgrade Splinter' );
strings_add( s, '23:  Upgrade Module' );
strings_add( s, '24:  Handler Echo' );
strings_add( s, '25:  ?-1' );
strings_add( s, '37:  Ability Splinter' );
strings_add( s, '38:  Perk Essence' );
strings_add( s, '42:  Unstable Perk Essence' );
strings_add( s, '43:  Unstable Perk Essence' );
strings_add( s, '44:  Unstable Perk Essence' );
strings_add( s, '45:  Unstable Perk Essence' );
strings_add( s, '46:  Unstable Perk Essence' );
strings_add( s, '47:  Unstable Perk Essence' );
strings_add( s, '48:  Unstable Perk Essence' );
strings_add( s, '49:  Unstable Perk Essence' );
strings_add( s, '109: Handler Echo' );
strings_add( s, '110: Handler Echo' );
strings_add( s, '111: Handler Echo' );
strings_add( s, '112: Homunculus Mirage Case' );
strings_add( s, '113: Homunculus Mirage' );
strings_add( s, '139: Handler Echo' );
strings_add( s, '140: Pages' );
strings_add( s, '141: Pages' );
strings_add( s, '142: Pages' );
strings_add( s, '143: Pages' );
strings_add( s, '144: Pages' );
strings_add( s, '145: Pages' );
strings_add( s, '146: Pages' );
strings_add( s, '147: Pages' );
strings_add( s, '148: Pages' );
strings_add( s, '149: Pages' );
strings_add( s, '150: Pages' );
strings_add( s, '151: ?Pages' );
strings_add( s, '152: Pages' );
strings_add( s, '153: Pages' );
strings_add( s, '154: Pages' );
strings_add( s, '155: Pages' );
strings_add( s, '156: Pages' );
strings_add( s, '157: Pages' );
strings_add( s, '158: Pages' );
strings_add( s, '159: Pages' );

-- Add items to listbox4..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 3 then -- Others
strings_add( s, '53:  ?Cluster Grenade' );
strings_add( s, '54:  ?Entropy Grenade' );
strings_add( s, '55:  ?Electromagnetism Grenade' );
strings_add( s, '56:  ?Chaos Grenade' );
strings_add( s, '57:  ?Decay Grenade' );
strings_add( s, '67:  ?Medium Restorative Pack' );
strings_add( s, '68:  ?Advanced Restorative Pack' );
strings_add( s, '71:  ?Stats Fragments' );
strings_add( s, '72:  ?Resistance Fragments' );
strings_add( s, '73:  ?Piercing Arrows' );
strings_add( s, '74:  ?Shock Arrows' );
strings_add( s, '75:  ?Dash,Power Armor,Vortex' );
strings_add( s, '80:  ?Resistance Concoctions Pack' );
strings_add( s, '83:  ?Indestructible Concoction' );
strings_add( s, '92:  ?Penetration Concoctions Pack' );
strings_add( s, '93:  ?Greater Penetration Concoctions Pack' );
strings_add( s, '94:  ?Forsaken Concoction' );
strings_add( s, '95:  ?Forsaken Concoction' );
strings_add( s, '96:  ?Beacon: Entropy' );
strings_add( s, '97:  ?Beacon: Chaos' );
strings_add( s, '98:  ?Beacon: Decay' );
strings_add( s, '99:  ?Beacon: Electromagnetism' );
strings_add( s, '128: ?Glowbug' );
strings_add( s, '131: ?Regeneration Concoctions Pack' );
strings_add( s, '132: ?Concoction: Mighty Regen' );
strings_add( s, '133: ?Stats Concoctions Pack' );
strings_add( s, '134: ?Concoction: Powerful Immune System' );
strings_add( s, '135: ?Attribute Concoctions Pack' );
strings_add( s, '136: ?Concoction: All Attributes' );
strings_add( s, '137: ?Status Fragments' );

-- Add items to listbox5..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 4 then -- Crystals
strings_add( s, '3000: Lesser Anomalous Crystal' );
strings_add( s, '3001: Lesser Anomalous Crystal' );
strings_add( s, '3002: Lesser Anomalous Crystal' );
strings_add( s, '3003: Lesser Anomalous Crystal' );
strings_add( s, '3004: Lesser Anomalous Crystal' );
strings_add( s, '3005: Lesser Anomalous Crystal' );
strings_add( s, '3006: Lesser Anomalous Crystal' );
strings_add( s, '3007: Lesser Anomalous Crystal' );
strings_add( s, '3008: Lesser Anomalous Crystal' );
strings_add( s, '3009: Lesser Anomalous Crystal' );
strings_add( s, '3010: Lesser Anomalous Crystal' );
strings_add( s, '3011: Lesser Anomalous Crystal' );
strings_add( s, '3012: Lesser Anomalous Crystal' );
strings_add( s, '3013: Lesser Anomalous Crystal' );
strings_add( s, '3014: Anomalous Crystal' );
strings_add( s, '3015: Anomalous Crystal' );
strings_add( s, '3016: Anomalous Crystal' );
strings_add( s, '3017: Anomalous Crystal' );
strings_add( s, '3018: Anomalous Crystal' );
strings_add( s, '3019: Anomalous Crystal' );
strings_add( s, '3020: Anomalous Crystal' );
strings_add( s, '3021: Anomalous Crystal' );
strings_add( s, '3022: Anomalous Crystal' );
strings_add( s, '3023: Anomalous Crystal' );
strings_add( s, '3024: Anomalous Crystal' );
strings_add( s, '3025: Anomalous Crystal' );
strings_add( s, '3026: Anomalous Crystal' );
strings_add( s, '3027: Anomalous Crystal' );
strings_add( s, '3028: Eclipse Fragment' );
strings_add( s, '3029: Eclipse Fragment' );
strings_add( s, '3030: Eclipse Fragment' );
strings_add( s, '3031: Eclipse Fragment' );
strings_add( s, '3032: Eclipse Fragment' );
strings_add( s, '3033: Unique Fragment' );
strings_add( s, '3034: Unique Fragment' );
strings_add( s, '3035: Unique Fragment' );
strings_add( s, '3036: Unique Fragment' );
strings_add( s, '3037: Eclipse Fragment' );
strings_add( s, '3038: Eclipse Fragment' );
strings_add( s, '3039: Eclipse Fragment' );
strings_add( s, '3040: Eclipse Fragment' );
strings_add( s, '3041: Unique Fragment' );
strings_add( s, '3042: Unique Fragment' );
strings_add( s, '3043: Eclipse Fragment' );
strings_add( s, '3044: Dual Brutality Fragment' );
strings_add( s, '3045: Bear Trap Fragment' );
strings_add( s, '3046: Caltrops Fragment' );
strings_add( s, '3047: Shield Slam Fragment' );
strings_add( s, '3048: Shield Bash Fragment' );
strings_add( s, '3049: Shield Reflect Fragment' );
strings_add( s, '3050: Flurry Fragment' );
strings_add( s, '3051: Piercing Shot Fragment' );
strings_add( s, '3052: Weak Spots Fragment' );
strings_add( s, '3053: Bladestorm Fragment' );
strings_add( s, '3054: Guillotine Fragment' );
strings_add( s, '3055: Expose Armor Fragment' );
strings_add( s, '3056: Reap Fragment' );
strings_add( s, '3057: Clone Charge Fragment' );
strings_add( s, '3058: Raise Dead Fragment' );
strings_add( s, '3059: Summon Elemental Fragment' );
strings_add( s, '3060: Unique Fragment' );
strings_add( s, '3061: Eclipse Fragment' );
strings_add( s, '3062: Bear Trap Fragment' );
strings_add( s, '3063: Guillotine Fragment' );
strings_add( s, '3064: Guillotine Fragment' );
strings_add( s, '3065: Eclipse Fragment' );
strings_add( s, '3066: Eclipse Fragment' );
strings_add( s, '3067: Bear Trap Fragment' );
strings_add( s, '3068: Bear Trap Fragment' );
strings_add( s, '3069: Bear Trap Fragment' );
strings_add( s, '3070: Guillotine Fragment' );
strings_add( s, '3071: Guillotine Fragment' );
strings_add( s, '3072: Guillotine Fragment' );
strings_add( s, '3073: Guillotine Fragment' );
strings_add( s, '3074: Guillotine Fragment' );
strings_add( s, '3075: Dual Brutality Fragment' );
strings_add( s, '3076: Greater Anomalous Crystal' );
strings_add( s, '3077: Greater Anomalous Crystal' );
strings_add( s, '3078: Greater Anomalous Crystal' );
strings_add( s, '3079: Greater Anomalous Crystal' );
strings_add( s, '3080: Eclipse Fragment' );
strings_add( s, '3082: Eclipse Fragment' );
strings_add( s, '3083: Eclipse Fragment' );
strings_add( s, '3084: Shield Bash Fragment' );
strings_add( s, '3085: Eclipse Fragment' );
strings_add( s, '3086: Eclipse Fragment' );
strings_add( s, '3087: Eclipse Fragment' );
strings_add( s, '3088: Eclipse Fragment' );
strings_add( s, '3089: Eclipse Fragment' );
strings_add( s, '3090: Eclipse Fragment' );
strings_add( s, '3091: Eclipse Fragment' );
strings_add( s, '3092: Eclipse Fragment' );
strings_add( s, '3093: Eclipse Fragment' );
strings_add( s, '3094: Eclipse Fragment' );
strings_add( s, '3095: Eclipse Fragment' );
strings_add( s, '3096: Eclipse Fragment' );
strings_add( s, '3097: Eclipse Fragment' );
strings_add( s, '3098: Eclipse Fragment' );
strings_add( s, '3099: Eclipse Fragment' );
strings_add( s, '3100: Eclipse Fragment' );
strings_add( s, '3101: Eclipse Fragment' );
strings_add( s, '3102: Unique Fragment' );
strings_add( s, '3103: Unique Fragment' );
strings_add( s, '3104: Unique Fragment' );
strings_add( s, '3105: Unique Fragment' );
strings_add( s, '3106: Unique Fragment' );
strings_add( s, '3107: Unique Fragment' );
strings_add( s, '3108: Unique Fragment' );
strings_add( s, '3109: Unique Fragment' );
strings_add( s, '3110: Unique Fragment' );
strings_add( s, '3111: Unique Fragment' );
strings_add( s, '3112: Shield Bash Fragment' );
strings_add( s, '3113: Unique Fragment' );
strings_add( s, '3114: Unique Fragment' );
strings_add( s, '3115: Unique Fragment' );
strings_add( s, '3116: Unique Fragment' );
strings_add( s, '3117: Unique Fragment' );
strings_add( s, '3118: Unique Fragment' );
strings_add( s, '3119: Guillotine Fragment' );
strings_add( s, '3120: Bladestorm Fragment' );
strings_add( s, '3121: Bladestorm Fragment' );
strings_add( s, '3122: Bladestorm Fragment' );
strings_add( s, '3123: Bladestorm Fragment' );
strings_add( s, '3124: Bladestorm Fragment' );
strings_add( s, '3125: Unique Fragment' );
strings_add( s, '3126: Unique Fragment' );
strings_add( s, '3127: Unique Fragment' );
strings_add( s, '3128: Unique Fragment' );
strings_add( s, '3129: Unique Fragment' );
strings_add( s, '3130: Unique Fragment' );
strings_add( s, '3131: Unique Fragment' );
strings_add( s, '3132: Bladestorm Fragment' );
strings_add( s, '3133: Bladestorm Fragment' );
strings_add( s, '3134: Bladestorm Fragment' );
strings_add( s, '3135: Bladestorm Fragment' );
strings_add( s, '3136: Bladestorm Fragment' );
strings_add( s, '3137: Bladestorm Fragment' );
strings_add( s, '3138: Bladestorm Fragment' );
strings_add( s, '3139: Bladestorm Fragment' );
strings_add( s, '3140: Bladestorm Fragment' );
strings_add( s, '3141: Bladestorm Fragment' );
strings_add( s, '3142: Bladestorm Fragment' );
strings_add( s, '3143: Bladestorm Fragment' );
strings_add( s, '3144: Bladestorm Fragment' );
strings_add( s, '3145: Bladestorm Fragment' );
strings_add( s, '3146: Bladestorm Fragment' );
strings_add( s, '3147: Bladestorm Fragment' );
strings_add( s, '3148: Bladestorm Fragment' );
strings_add( s, '3149: Bladestorm Fragment' );
strings_add( s, '3150: Guillotine Fragment' );
strings_add( s, '3151: Unique Fragment' );
strings_add( s, '3152: Unique Fragment' );
strings_add( s, '3153: Guillotine Fragment' );
strings_add( s, '3154: Bladestorm Fragment' );
strings_add( s, '3155: Lesser Anomalous Crystal' );
strings_add( s, '3156: Lesser Anomalous Crystal' );
strings_add( s, '3157: Lesser Anomalous Crystal' );
strings_add( s, '3158: Lesser Anomalous Crystal' );
strings_add( s, '3159: Lesser Anomalous Crystal' );
strings_add( s, '3160: Anomalous Crystal' );
strings_add( s, '3161: Anomalous Crystal' );
strings_add( s, '3162: Anomalous Crystal' );
strings_add( s, '3163: Unique Fragment' );
strings_add( s, '3164: Unique Fragment' );
strings_add( s, '3165: Unique Fragment' );

-- Add items to listbox6..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 5 then -- Helmets
strings_add( s, '4500: Regal Helmet' );
strings_add( s, '4501: Cloth Helmet' );
strings_add( s, '4502: Rags Goggles' );
strings_add( s, '4503: Goggles 2' );
strings_add( s, '4504: Hat' );
strings_add( s, '4505: Iron Helmet' );
strings_add( s, '4506: Japanese Helmet' );
strings_add( s, '4508: Old Ranger Helmet' );
strings_add( s, '4509: Regal Medium Helmet' );
strings_add( s, '4510: Tank Helmet' );
strings_add( s, '4511: Tank Helmet Set 1' );
strings_add( s, '4512: Warrior Helmet' );
strings_add( s, '4540: Sentinel Helmet' );
strings_add( s, '4545: Old Citadel Warrior Helmet' );
strings_add( s, '4553: Miner Helmet' );
strings_add( s, '4561: Light Hood' );
strings_add( s, '4562: Citadel Warrior Helmet' );
strings_add( s, '4568: Templar Helmet' );
strings_add( s, '4575: Contractor Helmet' );
strings_add( s, '4579: Old Technomancer Helmet' );
strings_add( s, '4584: Titan Slayer Helmet' );
strings_add( s, '4589: Technomancer Helmet' );
strings_add( s, '4593: Stalker`s Hood' );
strings_add( s, '4606: Byzantine Helmet' );
strings_add( s, '4607: Byzantine Helmet' );
strings_add( s, '4610: Zealot Helmet' );
strings_add( s, '4617: Rags Helmet' );
strings_add( s, '4619: Citadel Defender Helmet' );
strings_add( s, '4624: PlaguedMask' );
strings_add( s, '4625: PlaguedMask2' );
strings_add( s, '4626: Restless Helmet' );
strings_add( s, '4632: Ranger Helmet' );
strings_add( s, '4640: Ronin Helmet' );
strings_add( s, '4645: Spectre Helmet' );
strings_add( s, '4650: Bone Helmet' );
strings_add( s, '4655: Visage Respirator Helmet' );
strings_add( s, '4656: Crude Helmet' );
strings_add( s, '4660: Bone Helmet DEV' );
strings_add( s, '4667: Skullface Helmet' );
strings_add( s, '4668: Eris' );
strings_add( s, '4669: Techpriest Helmet' );
strings_add( s, '4672: Mechacenturion' );
strings_add( s, '4673: Desert Corp Helmet' );
strings_add( s, '4678: Deserts Respirator Helmet' );
strings_add( s, '4679: Elipse Helmet' );
strings_add( s, '4681: Titan Slayer Helmet Simless' );

-- Add items to listbox7..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 6 then -- Shoulderpads
strings_add( s, '4513: Regal Shoulders' );
strings_add( s, '4514: Japanese Pauldrons' );
strings_add( s, '4515: Regal Medium Pauldrons' );
strings_add( s, '4516: Tank Pauldrons' );
strings_add( s, '4517: Tank Pauldrons Set 1' );
strings_add( s, '4541: Imperial Shoulders' );
strings_add( s, '4546: Old Citadel Warrior Shoulders' );
strings_add( s, '4556: Rags Pauldrons' );
strings_add( s, '4563: Citadel Warrior Shoulders' );
strings_add( s, '4569: Templar Shoulders' );
strings_add( s, '4586: Titan Slayer Shoulders' );
strings_add( s, '4601: Fisherman Cannister' );
strings_add( s, '4614: Zealot Overcoat' );
strings_add( s, '4620: Citadel Defender Shoulders' );
strings_add( s, '4627: Restless Shoulders' );
strings_add( s, '4631: Plagued Shoulders' );
strings_add( s, '4636: Ranger Shoulders' );
strings_add( s, '4643: Ronin Shoulder' );
strings_add( s, '4648: Spectre Shoulders' );
strings_add( s, '4652: Bone Shoulders' );
strings_add( s, '4662: Bone Shoulders DEV' );
strings_add( s, '4675: Desert Corp Shoulders' );

-- Add items to listbox8..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 7 then -- Chestguards
strings_add( s, '4518: Cloth Armor Chest' );
strings_add( s, '4519: Regal Chestpiece' );
strings_add( s, '4520: Medium Cuirass' );
strings_add( s, '4521: Japanese Cuirass' );
strings_add( s, '4522: Regal Medium Cuirass' );
strings_add( s, '4523: Warrior Shirt' );
strings_add( s, '4524: Tank Cuirass' );
strings_add( s, '4525: Tank Cuirass Set 1' );
strings_add( s, '4542: Sentinel Chest' );
strings_add( s, '4547: Old Citadel Warrior Chest' );
strings_add( s, '4551: Miner Chest' );
strings_add( s, '4555: Rags Chest' );
strings_add( s, '4557: Light Cuirass' );
strings_add( s, '4564: Citadel Warrior Chest' );
strings_add( s, '4570: Templar Chestpiece' );
strings_add( s, '4573: Plagued Chestpiece' );
strings_add( s, '4576: Contractor Chestpiece' );
strings_add( s, '4580: Old Technomancer Chestpiece' );
strings_add( s, '4585: Titan Slayer Cuirass' );
strings_add( s, '4590: Technomancer Chestpiece' );
strings_add( s, '4594: Stalker`s Cuirass' );
strings_add( s, '4598: Citizen Shirt' );
strings_add( s, '4600: Fisherman Chestguard' );
strings_add( s, '4603: Byzantine Cuirass' );
strings_add( s, '4608: Citizen Shirt' );
strings_add( s, '4611: Zealot Chestpiece' );
strings_add( s, '4621: Citadel Defender Chest' );
strings_add( s, '4628: Restless Cuirass' );
strings_add( s, '4633: Ranger Chestguard' );
strings_add( s, '4637: Crusader Cuirass' );
strings_add( s, '4644: Ronin Cuirass' );
strings_add( s, '4649: Spectre Cuirass' );
strings_add( s, '4651: Bone Cuirass' );
strings_add( s, '4661: Bone Cuirass DEV' );
strings_add( s, '4674: Desert Corp Cuirass' );
strings_add( s, '4682: Titan Slayer Cuirass Simless' );
strings_add( s, '4683: Citadel Defender Chest' );
strings_add( s, '4684: Citadel Warrior Chest' );

-- Add items to listbox9..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 8 then -- Gloves
strings_add( s, '4526: Regal Gloves' );
strings_add( s, '4527: Gauntlets' );
strings_add( s, '4528: Medium Gloves' );
strings_add( s, '4529: Regal Medium Gauntlets' );
strings_add( s, '4530: Tank Gaunltet Set' );
strings_add( s, '4543: Sentinel Gauntlets' );
strings_add( s, '4548: Old Citadel Warrior Gauntlets' );
strings_add( s, '4554: Miner Gloves' );
strings_add( s, '4558: Light Gloves' );
strings_add( s, '4566: Citadel Warrior Gauntlets' );
strings_add( s, '4572: Templar Gloves' );
strings_add( s, '4578: Contractor Gloves' );
strings_add( s, '4582: Old Technomancer Gloves' );
strings_add( s, '4588: Titan Slayer Gloves' );
strings_add( s, '4592: Technomancer Gloves' );
strings_add( s, '4596: Stalker`s Gloves' );
strings_add( s, '4604: Byzantine Gauntlet' );
strings_add( s, '4613: Zealot Gloves' );
strings_add( s, '4615: Rags Gloves' );
strings_add( s, '4622: Citadel Defender Gauntlets' );
strings_add( s, '4629: Restless Gauntless' );
strings_add( s, '4635: Ranger Gloves' );
strings_add( s, '4639: Crusader Gloves' );
strings_add( s, '4642: Ronin Gauntlent' );
strings_add( s, '4647: Spectre Gauntlent' );
strings_add( s, '4654: Bone Gloves' );
strings_add( s, '4664: Bone Gloves DEV' );
strings_add( s, '4677: Desert Corp Gloves' );

-- Add items to listbox10..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 9 then -- Legguards
strings_add( s, '4531: Regal Legs' );
strings_add( s, '4532: Cloth Armor Pants' );
strings_add( s, '4533: Japanese Pants' );
strings_add( s, '4534: Medium Greaves' );
strings_add( s, '4535: Regal Medium Greaves' );
strings_add( s, '4536: Tank Greaves' );
strings_add( s, '4537: Warrior Greaves' );
strings_add( s, '4538: Tank Greaves Set 1' );
strings_add( s, '4544: Sentinel Legguard' );
strings_add( s, '4549: Old Citadel Warrior Legguards' );
strings_add( s, '4552: Miner Pants' );
strings_add( s, '4559: Light Greaves' );
strings_add( s, '4567: Citadel Warrior Legguards' );
strings_add( s, '4571: Templar Legs' );
strings_add( s, '4574: Plagued Pants' );
strings_add( s, '4577: Concractor Legs' );
strings_add( s, '4581: Old Technomancer Legs' );
strings_add( s, '4587: Titan Slayer Legs' );
strings_add( s, '4591: Technomancer Legs' );
strings_add( s, '4595: Stalker`s Pants' );
strings_add( s, '4599: Citizen Pants' );
strings_add( s, '4605: Byzantine Pants' );
strings_add( s, '4609: Citizen Pants' );
strings_add( s, '4612: Zealot Legs' );
strings_add( s, '4616: Rags Pants' );
strings_add( s, '4623: Citadel Defender Legguard' );
strings_add( s, '4630: Restless Legguard' );
strings_add( s, '4634: Ranger Pants' );
strings_add( s, '4638: Crusader Pants' );
strings_add( s, '4641: Ronin Pants' );
strings_add( s, '4646: Spectre Pants' );
strings_add( s, '4653: Bone Legs' );
strings_add( s, '4663: Bone Legs DEV' );
strings_add( s, '4676: Desert Corp Legs' );

-- Add items to listbox11..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 10 then -- Capes
strings_add( s, '5500: Wanderer Cape' );
strings_add( s, '5501: Warrior Cape' );
strings_add( s, '5507: Citizen Apron' );
strings_add( s, '5508: Fisherman Apron' );
strings_add( s, '5509: Oxygen Tank' );
strings_add( s, '5512: Traveler Cape' );
strings_add( s, '5515: Tattered Cape' );
strings_add( s, '5516: Spectre Scarf' );
strings_add( s, '5517: Sentinel Overcoat' );
strings_add( s, '5518: Fur Cape' );
strings_add( s, '5519: Folk Cape' );
strings_add( s, '5520: Techpriest Cape' );
strings_add( s, '5556: Ronin Scarf' );
strings_add( s, '5557: Agile Cape' );

-- Add items to listbox12..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 11 then -- Amulets
strings_add( s, '5503: Amulet of Speed' );
strings_add( s, '5511: Amulet of Wandering' );
strings_add( s, '5514: Amulet of Health' );
strings_add( s, '5521: Amulet of Flux Leech' );
strings_add( s, '5534: Amulet of Recovery' );
strings_add( s, '5535: Amulet of Arcane' );
strings_add( s, '5554: Amulet of Divine Might' );
strings_add( s, '5555: Amulet of Stability' );

-- Add items to listbox13..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 12 then -- Rings
strings_add( s, '5502: Ring of Stamina Regen' );
strings_add( s, '5504: Ring of Entropy' );
strings_add( s, '5505: Ring of Lacerate' );
strings_add( s, '5506: Ring of Decay' );
strings_add( s, '5510: Ring of Lesser Stamina' );
strings_add( s, '5513: Ring of Minor Lifesteal' );
strings_add( s, '5522: Ring of Entropy' );
strings_add( s, '5523: Ring of Lifesteal' );
strings_add( s, '5524: Ring of Gravitas' );
strings_add( s, '5525: Ring of Degravitas' );
strings_add( s, '5526: Ring of Burning Desire' );
strings_add( s, '5527: Ring of Silence' );
strings_add( s, '5528: Ring of Decay' );
strings_add( s, '5529: Ring of Blessed Hand' );
strings_add( s, '5530: Ring of Arcane' );
strings_add( s, '5531: Ring of Speed' );
strings_add( s, '5532: Ring of Power' );
strings_add( s, '5533: Ring of Casting Speed' );
strings_add( s, '5536: Ring of Minor Vitality' );
strings_add( s, '5537: Ring of Minor Potential' );
strings_add( s, '5538: Ring of Stamina' );
strings_add( s, '5539: Ring of Health' );
strings_add( s, '5540: Ring of Potential' );
strings_add( s, '5541: Ring of Exceeding Talent' );
strings_add( s, '5542: Ring of Talent' );
strings_add( s, '5543: Ring of Lesser Talent' );
strings_add( s, '5544: Ring of Brilliance' );
strings_add( s, '5545: Ring of Colossus' );
strings_add( s, '5546: Ring of Command' );
strings_add( s, '5547: Ring of Evasion' );
strings_add( s, '5548: Ring of Giant' );
strings_add( s, '5549: Ring of Gluttony' );
strings_add( s, '5550: Ring of Hawk' );
strings_add( s, '5551: Ring of Rammstein' );
strings_add( s, '5552: Ring of Serpent' );
strings_add( s, '5553: Ring of Travel' );

-- Add items to listbox14..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 13 then -- Onehanded Weapons
strings_add( s, '6500: Woodchopper' );
strings_add( s, '6501: Machinist`s Hammer' );
strings_add( s, '6502: lance' );
strings_add( s, '6503: Arming Sword' );
strings_add( s, '6509: Archinquivisitor Saber' );
strings_add( s, '6510: Torch' );
strings_add( s, '6511: Archinquivisitor Staff' );
strings_add( s, '6513: Tire Iron' );
strings_add( s, '6514: Basic Axe' );
strings_add( s, '6515: Archinquivitor Extended Staff' );
strings_add( s, '6516: Great Lance' );
strings_add( s, '6517: Julia`s Main Scimitar' );
strings_add( s, '6518: Citizen Axe' );
strings_add( s, '6519: Mrgud Hammer' );
strings_add( s, '6520: Julia`s Secondary Scimitar' );
strings_add( s, '6521: Ratagan Sabre' );
strings_add( s, '6526: Nemesis Axe' );
strings_add( s, '6527: Industrial Axe' );
strings_add( s, '6528: Iron Pipe' );
strings_add( s, '6529: Morning Star' );
strings_add( s, '6530: Industrial Mace' );
strings_add( s, '6531: Golem Arm' );
strings_add( s, '6532: Golem Arm' );
strings_add( s, '6533: Soul Breaker' );
strings_add( s, '6534: Paladin Mace' );
strings_add( s, '6535: Scimitar' );
strings_add( s, '6536: Weeper Hand' );
strings_add( s, '6537: Dreadguard Axe' );
strings_add( s, '6538: ArmingSword DEV' );
strings_add( s, '6539: Vermillion Sword' );
strings_add( s, '6540: LongSword' );

-- Add items to listbox15..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 14 then -- Twohanded Weapons
strings_add( s, '7500: Rusty Claymore' );
strings_add( s, '7503: LargeStaff' );
strings_add( s, '7504: Evolved Halberd' );
strings_add( s, '7505: Evolved Scythe' );
strings_add( s, '7508: Crescent Axe' );
strings_add( s, '7513: Evolved Spear' );
strings_add( s, '7514: Eviscerator' );
strings_add( s, '7517: Konrad Faussart' );
strings_add( s, '7518: Miner`s Pickaxe' );
strings_add( s, '7520: Inquisitor Staff' );
strings_add( s, '7522: Pilgrim Halberd' );
strings_add( s, '7523: Evolved Staff' );
strings_add( s, '7524: Faussart' );
strings_add( s, '7525: Plagued Twohand Axe' );
strings_add( s, '7527: Mechanomad Staff' );
strings_add( s, '7528: Deranged Scythe' );
strings_add( s, '7532: Plagued Evolved 2hAxe' );
strings_add( s, '7533: Pitchfork' );
strings_add( s, '7534: Miner`s Pickaxe Second' );
strings_add( s, '7536: Mechanical Tenderizer' );
strings_add( s, '7537: Robot Mechanical Tenderizer' );
strings_add( s, '7538: Robot Crescent Axe' );
strings_add( s, '7540: Mechanomad Staff Buffed' );
strings_add( s, '7541: Evolved Staff Buffed' );
strings_add( s, '7543: Royal Claymore' );
strings_add( s, '7545: Archaic Axe' );
strings_add( s, '7547: New 2h Hammer' );
strings_add( s, '7550: New Halberd' );
strings_add( s, '7551: Soul Reaper' );
strings_add( s, '7552: Vermillion Staff' );
strings_add( s, '7555: Deluge Trident' );
strings_add( s, '7556: Berserker Eviscerator' );
strings_add( s, '7558: Mechanomad Aberrant Staff' );
strings_add( s, '7559: Mechanical Tenderizer' );
strings_add( s, '7560: Vermillion Zweihander' );
strings_add( s, '7561: Vermillion Halberd' );
strings_add( s, '7563: Nodachi' );
strings_add( s, '7564: Solaris' );
strings_add( s, '7567: Blessed Crosier' );
strings_add( s, '7568: Claymore' );
strings_add( s, '7569: Evolved Spear Vermillion' );

-- Add items to listbox16..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 15 then -- Dual Wields
strings_add( s, '7509: Katanas' );
strings_add( s, '7510: Kamas' );
strings_add( s, '7511: Daggers' );
strings_add( s, '7512: Invokers Gauntlet' );
strings_add( s, '7526: Deranged Blades' );
strings_add( s, '7529: PlaguedDual1' );
strings_add( s, '7530: PlaguedDual2' );
strings_add( s, '7531: PlaguedDual3' );
strings_add( s, '7535: OsteoclastClaws' );
strings_add( s, '7542: Dual Daggers' );
strings_add( s, '7553: Lacerators' );
strings_add( s, '7554: New Dual Daggers' );
strings_add( s, '7557: Berserker Dual' );
strings_add( s, '7562: Khopeshs' );
strings_add( s, '7566: New Duel Blades' );

-- Add items to listbox16..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 17 then -- Twinblades
strings_add( s, '7501: TwinBlade' );
strings_add( s, '7549: Chronoblade' );

-- Add items to listbox17..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 18 then -- Greatweapons
strings_add( s, '7502: GreatHammer' );
strings_add( s, '7506: Titan Slayer Greatsword' );
strings_add( s, '7507: Mechanomad Greataxe' );
strings_add( s, '7515: Aberrant Solaris' );
strings_add( s, '7516: Nurgei Nodachi' );
strings_add( s, '7519: MrgudHammer' );
strings_add( s, '7521: Nemesis GreatAxe' );
strings_add( s, '7539: Armor Buster' );
strings_add( s, '7544: Divine Greataxe' );
strings_add( s, '7546: New GreatAxe-Remove' );
strings_add( s, '7548: Archangelos' );
strings_add( s, '7565: Aberrant Solaris' );

-- Add items to listbox18..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 19 then -- Ranged Weapons
strings_add( s, '8500: Longbow' );
strings_add( s, '8501: CrossBow' );
strings_add( s, '8502: Winged Bow' );
strings_add( s, '8503: Arcane Bow' );
strings_add( s, '8504: Bow DEV' );
strings_add( s, '8505: Vermillion Bow' );
strings_add( s, '8506: Taskmaster' );

-- Add items to listbox19..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 20 then -- Shields
strings_add( s, '4539: Flat Shield' );
strings_add( s, '4550: Dreadguard Tower Shield' );
strings_add( s, '4560: Old Kite Shield' );
strings_add( s, '4565: ?Heavy Lancer Shield' );
strings_add( s, '4583: TowerShield' );
strings_add( s, '4597: Kite Shield' );
strings_add( s, '4602: ?Saracen Shield' );
strings_add( s, '4618: Military Shield' );
strings_add( s, '4657: Hopelite Shield' );
strings_add( s, '4658: Tall Military Shield' );
strings_add( s, '4659: Saracen Shield' );
strings_add( s, '4665: Military Shield DEV' );
strings_add( s, '4666: Vermillion Shield' );
strings_add( s, '4670: Tech Shield' );
strings_add( s, '4671: Imperial Shield' );
strings_add( s, '4680: Wooden Shield' );

  end
end

rg.OnClick = updateListBox -- call updateListBox function whenever a radio button is clicked

 
 
[DISABLE]
//code from here till the end of the code will be used to disable the cheat

{$asm}
/code]

User avatar
LeFiXER
LeFixer
LeFixer
Posts: 482
Joined: Wed Mar 24, 2021 9:35 am
Reputation: 243

Re: I need some help! (Lua form and function)

Post by LeFiXER »

patka wrote:
Sun Apr 16, 2023 3:24 pm
Hi Everyone!!

I made an item list script and I want to add a few more things:

1: how can I change the font color of the elements (mainly the RadioGroup Texts)?
2: how can I change the font type of the elements?
3: how can I make it so that if I double-click on an item in the list on the right, the number of the item is copied to the clipboard?
4: how can i change the caption of the pop-up windows?
Thank Your answer!
Here is the code:

Code: Select all

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

{$lua}

local f = createForm( true )
local rg = createRadioGroup( f )

-- Add items to radiogroup..
local s = radiogroup_getItems( rg );
rg.setSize(300,800)
f.setSize(610,800)
f.setColor ( 13231868 )


strings_add( s, 'Usables' );
strings_add( s, 'Crafting Materials' );
strings_add( s, '?Quest Items' );
strings_add( s, 'Others' );
strings_add( s, 'Crystals' );
strings_add( s, 'Helmets' );
strings_add( s, 'Shoulderpads' );
strings_add( s, 'Chestguards' );
strings_add( s, 'Gloves' );
strings_add( s, 'Legguards' );
strings_add( s, 'Capes' );
strings_add( s, 'Amulets' );
strings_add( s, 'Rings' );
strings_add( s, 'Onehanded Weapons' );
strings_add( s, 'Twohanded Weapons' );
strings_add( s, 'Dual Wields' );
strings_add( s, 'Twinblades' );
strings_add( s, 'Greatweapons' );
strings_add( s, 'Ranged Weapons' );
strings_add( s, 'Shields' );


local lb = createListBox( f ) lb.left=lb.width + 200 --lb.visible=false
lb.Height=lb.Height
lb.width = 310
lb.height = 800
lb.setColor ( 15244162 )

-- Add items to listbox1..
local s = listbox_getItems( lb );
local function updateListBox()
  local s = listbox_getItems(lb)
  strings_clear(s)

  if rg.ItemIndex == 0 then -- Usables
strings_add( s, '1:   Lesser Ionization Fluid' );
strings_add( s, '2:   Lesser Restorative Fluid' );
strings_add( s, '3:   Stoneshield Concoction' );
strings_add( s, '12:  Spongeskin Concoction' );
strings_add( s, '13:  Entropy Grenade' );
strings_add( s, '14:  Cryo Grenade' );
strings_add( s, '15:  Glowbug' );
strings_add( s, '16:  ?Ghost Repellent' );
strings_add( s, '17:  ?Ghost Exterminator' );
strings_add( s, '18:  Mobile Respawn Point' );
strings_add( s, '19:  ?Capacity Upgrade' );
strings_add( s, '20:  ?Capacity Upgrade' );
strings_add( s, '32:  Restorative Fluid' );
strings_add( s, '39:  Ionization Fluid' );
strings_add( s, '40:  Greater Ionization Fluid' );
strings_add( s, '41:  Greater Restorative Fluid' );
strings_add( s, '58:  ?Cluster Grenade' );
strings_add( s, '59:  ?Electromagnetism Grenade' );
strings_add( s, '60:  ?Chaos Grenade' );
strings_add( s, '61:  ?Decay Grenade' );
strings_add( s, '76:  Beacon: Entropy' );
strings_add( s, '77:  Beacon: Chaos' );
strings_add( s, '78:  Beacon: Decay' );
strings_add( s, '79:  Beacon: Electromagnetism' );
strings_add( s, '81:  Fluxshield Concoction' );
strings_add( s, '82:  Indestructible Concoction' );
strings_add( s, '84:  Jaeger`s Concoction' );
strings_add( s, '85:  Greater Jaeger`s Concoction' );
strings_add( s, '86:  Dreadguard`s Concoction' );
strings_add( s, '87:  Greater Dreadguard`s Concoction' );
strings_add( s, '88:  Technomancer`s Concoction' );
strings_add( s, '89:  Greater Technomancer`s Concoction' );
strings_add( s, '90:  Forsaken Concoction' );
strings_add( s, '91:  Greater Forsaken Concoction' );
strings_add( s, '114: Concoction: Health Regen' );
strings_add( s, '115: Concoction: Flux Regen' );
strings_add( s, '116: Concoction: Stamina Regen' );
strings_add( s, '117: Concoction: Mighty Regen' );
strings_add( s, '118: Concoction: Aberrants Blood' );
strings_add( s, '119: Concoction: Zealots Tears' );
strings_add( s, '120: Concoction: Berserkers Tenacity' );
strings_add( s, '121: Concoction: Powerful Immune System' );
strings_add( s, '122: Concoction: Strength' );
strings_add( s, '123: Concoction: Agility' );
strings_add( s, '124: Concoction: Constitution' );
strings_add( s, '125: Concoction: Intellect' );
strings_add( s, '126: Concoction: All Attributes' );
strings_add( s, '127: Divers Lungs Concoction' );
strings_add( s, '138: Relocating Device' );

-- Add items to listbox2..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 1 then -- Crafting Materials
strings_add( s, '4:   Metal Arrows' );
strings_add( s, '5:   Broken Arrow' );
strings_add( s, '6:   Crimson Echinacea' );
strings_add( s, '7:   Gingko Leaves' );
strings_add( s, '8:   Fleshfruit' );
strings_add( s, '9:   Metal Scrap' );
strings_add( s, '10:  Sludge' );
strings_add( s, '11:  Tainted Sludge' );
strings_add( s, '26:  Sharp Molar' );
strings_add( s, '27:  Flesh' );
strings_add( s, '28:  Intestinal Parasite' );
strings_add( s, '29:  Organic Material' );
strings_add( s, '30:  Bone Marrow' );
strings_add( s, '31:  Essence' );
strings_add( s, '33:  Piercing Arrow' );
strings_add( s, '34:  Exoplosive Arrow' );
strings_add( s, '35:  Shock Arrow' );
strings_add( s, '36:  Sound Arrow' );
strings_add( s, '50:  Oil' );
strings_add( s, '51:  Clockwork Gear' );
strings_add( s, '52:  Tainted Liver' );
strings_add( s, '62:  Alkahest' );
strings_add( s, '63:  Rotten Flesh' );
strings_add( s, '64:  Coagulated Blood' );
strings_add( s, '65:  Horn Silver' );
strings_add( s, '66:  Vitriol' );
strings_add( s, '69:  Metal Alloy' );
strings_add( s, '70:  Beryllium Copper' );
strings_add( s, '100: Nervous System' );
strings_add( s, '101: Mutated Tongue' );
strings_add( s, '102: Ingested Food' );
strings_add( s, '103: Bone Shard' );
strings_add( s, '104: Distorted Bone' );
strings_add( s, '105: Dacaying Organ' );
strings_add( s, '106: Prayer Spice' );
strings_add( s, '107: Prayer Feather' );
strings_add( s, '108: Flux Residue' );
strings_add( s, '129: Vermilion Mercury' );
strings_add( s, '130: Ectoplasm' );

-- Add items to listbox3..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 2 then -- ?Quest Items
strings_add( s, '21:  ?Rusty Key' );
strings_add( s, '22:  Upgrade Splinter' );
strings_add( s, '23:  Upgrade Module' );
strings_add( s, '24:  Handler Echo' );
strings_add( s, '25:  ?-1' );
strings_add( s, '37:  Ability Splinter' );
strings_add( s, '38:  Perk Essence' );
strings_add( s, '42:  Unstable Perk Essence' );
strings_add( s, '43:  Unstable Perk Essence' );
strings_add( s, '44:  Unstable Perk Essence' );
strings_add( s, '45:  Unstable Perk Essence' );
strings_add( s, '46:  Unstable Perk Essence' );
strings_add( s, '47:  Unstable Perk Essence' );
strings_add( s, '48:  Unstable Perk Essence' );
strings_add( s, '49:  Unstable Perk Essence' );
strings_add( s, '109: Handler Echo' );
strings_add( s, '110: Handler Echo' );
strings_add( s, '111: Handler Echo' );
strings_add( s, '112: Homunculus Mirage Case' );
strings_add( s, '113: Homunculus Mirage' );
strings_add( s, '139: Handler Echo' );
strings_add( s, '140: Pages' );
strings_add( s, '141: Pages' );
strings_add( s, '142: Pages' );
strings_add( s, '143: Pages' );
strings_add( s, '144: Pages' );
strings_add( s, '145: Pages' );
strings_add( s, '146: Pages' );
strings_add( s, '147: Pages' );
strings_add( s, '148: Pages' );
strings_add( s, '149: Pages' );
strings_add( s, '150: Pages' );
strings_add( s, '151: ?Pages' );
strings_add( s, '152: Pages' );
strings_add( s, '153: Pages' );
strings_add( s, '154: Pages' );
strings_add( s, '155: Pages' );
strings_add( s, '156: Pages' );
strings_add( s, '157: Pages' );
strings_add( s, '158: Pages' );
strings_add( s, '159: Pages' );

-- Add items to listbox4..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 3 then -- Others
strings_add( s, '53:  ?Cluster Grenade' );
strings_add( s, '54:  ?Entropy Grenade' );
strings_add( s, '55:  ?Electromagnetism Grenade' );
strings_add( s, '56:  ?Chaos Grenade' );
strings_add( s, '57:  ?Decay Grenade' );
strings_add( s, '67:  ?Medium Restorative Pack' );
strings_add( s, '68:  ?Advanced Restorative Pack' );
strings_add( s, '71:  ?Stats Fragments' );
strings_add( s, '72:  ?Resistance Fragments' );
strings_add( s, '73:  ?Piercing Arrows' );
strings_add( s, '74:  ?Shock Arrows' );
strings_add( s, '75:  ?Dash,Power Armor,Vortex' );
strings_add( s, '80:  ?Resistance Concoctions Pack' );
strings_add( s, '83:  ?Indestructible Concoction' );
strings_add( s, '92:  ?Penetration Concoctions Pack' );
strings_add( s, '93:  ?Greater Penetration Concoctions Pack' );
strings_add( s, '94:  ?Forsaken Concoction' );
strings_add( s, '95:  ?Forsaken Concoction' );
strings_add( s, '96:  ?Beacon: Entropy' );
strings_add( s, '97:  ?Beacon: Chaos' );
strings_add( s, '98:  ?Beacon: Decay' );
strings_add( s, '99:  ?Beacon: Electromagnetism' );
strings_add( s, '128: ?Glowbug' );
strings_add( s, '131: ?Regeneration Concoctions Pack' );
strings_add( s, '132: ?Concoction: Mighty Regen' );
strings_add( s, '133: ?Stats Concoctions Pack' );
strings_add( s, '134: ?Concoction: Powerful Immune System' );
strings_add( s, '135: ?Attribute Concoctions Pack' );
strings_add( s, '136: ?Concoction: All Attributes' );
strings_add( s, '137: ?Status Fragments' );

-- Add items to listbox5..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 4 then -- Crystals
strings_add( s, '3000: Lesser Anomalous Crystal' );
strings_add( s, '3001: Lesser Anomalous Crystal' );
strings_add( s, '3002: Lesser Anomalous Crystal' );
strings_add( s, '3003: Lesser Anomalous Crystal' );
strings_add( s, '3004: Lesser Anomalous Crystal' );
strings_add( s, '3005: Lesser Anomalous Crystal' );
strings_add( s, '3006: Lesser Anomalous Crystal' );
strings_add( s, '3007: Lesser Anomalous Crystal' );
strings_add( s, '3008: Lesser Anomalous Crystal' );
strings_add( s, '3009: Lesser Anomalous Crystal' );
strings_add( s, '3010: Lesser Anomalous Crystal' );
strings_add( s, '3011: Lesser Anomalous Crystal' );
strings_add( s, '3012: Lesser Anomalous Crystal' );
strings_add( s, '3013: Lesser Anomalous Crystal' );
strings_add( s, '3014: Anomalous Crystal' );
strings_add( s, '3015: Anomalous Crystal' );
strings_add( s, '3016: Anomalous Crystal' );
strings_add( s, '3017: Anomalous Crystal' );
strings_add( s, '3018: Anomalous Crystal' );
strings_add( s, '3019: Anomalous Crystal' );
strings_add( s, '3020: Anomalous Crystal' );
strings_add( s, '3021: Anomalous Crystal' );
strings_add( s, '3022: Anomalous Crystal' );
strings_add( s, '3023: Anomalous Crystal' );
strings_add( s, '3024: Anomalous Crystal' );
strings_add( s, '3025: Anomalous Crystal' );
strings_add( s, '3026: Anomalous Crystal' );
strings_add( s, '3027: Anomalous Crystal' );
strings_add( s, '3028: Eclipse Fragment' );
strings_add( s, '3029: Eclipse Fragment' );
strings_add( s, '3030: Eclipse Fragment' );
strings_add( s, '3031: Eclipse Fragment' );
strings_add( s, '3032: Eclipse Fragment' );
strings_add( s, '3033: Unique Fragment' );
strings_add( s, '3034: Unique Fragment' );
strings_add( s, '3035: Unique Fragment' );
strings_add( s, '3036: Unique Fragment' );
strings_add( s, '3037: Eclipse Fragment' );
strings_add( s, '3038: Eclipse Fragment' );
strings_add( s, '3039: Eclipse Fragment' );
strings_add( s, '3040: Eclipse Fragment' );
strings_add( s, '3041: Unique Fragment' );
strings_add( s, '3042: Unique Fragment' );
strings_add( s, '3043: Eclipse Fragment' );
strings_add( s, '3044: Dual Brutality Fragment' );
strings_add( s, '3045: Bear Trap Fragment' );
strings_add( s, '3046: Caltrops Fragment' );
strings_add( s, '3047: Shield Slam Fragment' );
strings_add( s, '3048: Shield Bash Fragment' );
strings_add( s, '3049: Shield Reflect Fragment' );
strings_add( s, '3050: Flurry Fragment' );
strings_add( s, '3051: Piercing Shot Fragment' );
strings_add( s, '3052: Weak Spots Fragment' );
strings_add( s, '3053: Bladestorm Fragment' );
strings_add( s, '3054: Guillotine Fragment' );
strings_add( s, '3055: Expose Armor Fragment' );
strings_add( s, '3056: Reap Fragment' );
strings_add( s, '3057: Clone Charge Fragment' );
strings_add( s, '3058: Raise Dead Fragment' );
strings_add( s, '3059: Summon Elemental Fragment' );
strings_add( s, '3060: Unique Fragment' );
strings_add( s, '3061: Eclipse Fragment' );
strings_add( s, '3062: Bear Trap Fragment' );
strings_add( s, '3063: Guillotine Fragment' );
strings_add( s, '3064: Guillotine Fragment' );
strings_add( s, '3065: Eclipse Fragment' );
strings_add( s, '3066: Eclipse Fragment' );
strings_add( s, '3067: Bear Trap Fragment' );
strings_add( s, '3068: Bear Trap Fragment' );
strings_add( s, '3069: Bear Trap Fragment' );
strings_add( s, '3070: Guillotine Fragment' );
strings_add( s, '3071: Guillotine Fragment' );
strings_add( s, '3072: Guillotine Fragment' );
strings_add( s, '3073: Guillotine Fragment' );
strings_add( s, '3074: Guillotine Fragment' );
strings_add( s, '3075: Dual Brutality Fragment' );
strings_add( s, '3076: Greater Anomalous Crystal' );
strings_add( s, '3077: Greater Anomalous Crystal' );
strings_add( s, '3078: Greater Anomalous Crystal' );
strings_add( s, '3079: Greater Anomalous Crystal' );
strings_add( s, '3080: Eclipse Fragment' );
strings_add( s, '3082: Eclipse Fragment' );
strings_add( s, '3083: Eclipse Fragment' );
strings_add( s, '3084: Shield Bash Fragment' );
strings_add( s, '3085: Eclipse Fragment' );
strings_add( s, '3086: Eclipse Fragment' );
strings_add( s, '3087: Eclipse Fragment' );
strings_add( s, '3088: Eclipse Fragment' );
strings_add( s, '3089: Eclipse Fragment' );
strings_add( s, '3090: Eclipse Fragment' );
strings_add( s, '3091: Eclipse Fragment' );
strings_add( s, '3092: Eclipse Fragment' );
strings_add( s, '3093: Eclipse Fragment' );
strings_add( s, '3094: Eclipse Fragment' );
strings_add( s, '3095: Eclipse Fragment' );
strings_add( s, '3096: Eclipse Fragment' );
strings_add( s, '3097: Eclipse Fragment' );
strings_add( s, '3098: Eclipse Fragment' );
strings_add( s, '3099: Eclipse Fragment' );
strings_add( s, '3100: Eclipse Fragment' );
strings_add( s, '3101: Eclipse Fragment' );
strings_add( s, '3102: Unique Fragment' );
strings_add( s, '3103: Unique Fragment' );
strings_add( s, '3104: Unique Fragment' );
strings_add( s, '3105: Unique Fragment' );
strings_add( s, '3106: Unique Fragment' );
strings_add( s, '3107: Unique Fragment' );
strings_add( s, '3108: Unique Fragment' );
strings_add( s, '3109: Unique Fragment' );
strings_add( s, '3110: Unique Fragment' );
strings_add( s, '3111: Unique Fragment' );
strings_add( s, '3112: Shield Bash Fragment' );
strings_add( s, '3113: Unique Fragment' );
strings_add( s, '3114: Unique Fragment' );
strings_add( s, '3115: Unique Fragment' );
strings_add( s, '3116: Unique Fragment' );
strings_add( s, '3117: Unique Fragment' );
strings_add( s, '3118: Unique Fragment' );
strings_add( s, '3119: Guillotine Fragment' );
strings_add( s, '3120: Bladestorm Fragment' );
strings_add( s, '3121: Bladestorm Fragment' );
strings_add( s, '3122: Bladestorm Fragment' );
strings_add( s, '3123: Bladestorm Fragment' );
strings_add( s, '3124: Bladestorm Fragment' );
strings_add( s, '3125: Unique Fragment' );
strings_add( s, '3126: Unique Fragment' );
strings_add( s, '3127: Unique Fragment' );
strings_add( s, '3128: Unique Fragment' );
strings_add( s, '3129: Unique Fragment' );
strings_add( s, '3130: Unique Fragment' );
strings_add( s, '3131: Unique Fragment' );
strings_add( s, '3132: Bladestorm Fragment' );
strings_add( s, '3133: Bladestorm Fragment' );
strings_add( s, '3134: Bladestorm Fragment' );
strings_add( s, '3135: Bladestorm Fragment' );
strings_add( s, '3136: Bladestorm Fragment' );
strings_add( s, '3137: Bladestorm Fragment' );
strings_add( s, '3138: Bladestorm Fragment' );
strings_add( s, '3139: Bladestorm Fragment' );
strings_add( s, '3140: Bladestorm Fragment' );
strings_add( s, '3141: Bladestorm Fragment' );
strings_add( s, '3142: Bladestorm Fragment' );
strings_add( s, '3143: Bladestorm Fragment' );
strings_add( s, '3144: Bladestorm Fragment' );
strings_add( s, '3145: Bladestorm Fragment' );
strings_add( s, '3146: Bladestorm Fragment' );
strings_add( s, '3147: Bladestorm Fragment' );
strings_add( s, '3148: Bladestorm Fragment' );
strings_add( s, '3149: Bladestorm Fragment' );
strings_add( s, '3150: Guillotine Fragment' );
strings_add( s, '3151: Unique Fragment' );
strings_add( s, '3152: Unique Fragment' );
strings_add( s, '3153: Guillotine Fragment' );
strings_add( s, '3154: Bladestorm Fragment' );
strings_add( s, '3155: Lesser Anomalous Crystal' );
strings_add( s, '3156: Lesser Anomalous Crystal' );
strings_add( s, '3157: Lesser Anomalous Crystal' );
strings_add( s, '3158: Lesser Anomalous Crystal' );
strings_add( s, '3159: Lesser Anomalous Crystal' );
strings_add( s, '3160: Anomalous Crystal' );
strings_add( s, '3161: Anomalous Crystal' );
strings_add( s, '3162: Anomalous Crystal' );
strings_add( s, '3163: Unique Fragment' );
strings_add( s, '3164: Unique Fragment' );
strings_add( s, '3165: Unique Fragment' );

-- Add items to listbox6..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 5 then -- Helmets
strings_add( s, '4500: Regal Helmet' );
strings_add( s, '4501: Cloth Helmet' );
strings_add( s, '4502: Rags Goggles' );
strings_add( s, '4503: Goggles 2' );
strings_add( s, '4504: Hat' );
strings_add( s, '4505: Iron Helmet' );
strings_add( s, '4506: Japanese Helmet' );
strings_add( s, '4508: Old Ranger Helmet' );
strings_add( s, '4509: Regal Medium Helmet' );
strings_add( s, '4510: Tank Helmet' );
strings_add( s, '4511: Tank Helmet Set 1' );
strings_add( s, '4512: Warrior Helmet' );
strings_add( s, '4540: Sentinel Helmet' );
strings_add( s, '4545: Old Citadel Warrior Helmet' );
strings_add( s, '4553: Miner Helmet' );
strings_add( s, '4561: Light Hood' );
strings_add( s, '4562: Citadel Warrior Helmet' );
strings_add( s, '4568: Templar Helmet' );
strings_add( s, '4575: Contractor Helmet' );
strings_add( s, '4579: Old Technomancer Helmet' );
strings_add( s, '4584: Titan Slayer Helmet' );
strings_add( s, '4589: Technomancer Helmet' );
strings_add( s, '4593: Stalker`s Hood' );
strings_add( s, '4606: Byzantine Helmet' );
strings_add( s, '4607: Byzantine Helmet' );
strings_add( s, '4610: Zealot Helmet' );
strings_add( s, '4617: Rags Helmet' );
strings_add( s, '4619: Citadel Defender Helmet' );
strings_add( s, '4624: PlaguedMask' );
strings_add( s, '4625: PlaguedMask2' );
strings_add( s, '4626: Restless Helmet' );
strings_add( s, '4632: Ranger Helmet' );
strings_add( s, '4640: Ronin Helmet' );
strings_add( s, '4645: Spectre Helmet' );
strings_add( s, '4650: Bone Helmet' );
strings_add( s, '4655: Visage Respirator Helmet' );
strings_add( s, '4656: Crude Helmet' );
strings_add( s, '4660: Bone Helmet DEV' );
strings_add( s, '4667: Skullface Helmet' );
strings_add( s, '4668: Eris' );
strings_add( s, '4669: Techpriest Helmet' );
strings_add( s, '4672: Mechacenturion' );
strings_add( s, '4673: Desert Corp Helmet' );
strings_add( s, '4678: Deserts Respirator Helmet' );
strings_add( s, '4679: Elipse Helmet' );
strings_add( s, '4681: Titan Slayer Helmet Simless' );

-- Add items to listbox7..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 6 then -- Shoulderpads
strings_add( s, '4513: Regal Shoulders' );
strings_add( s, '4514: Japanese Pauldrons' );
strings_add( s, '4515: Regal Medium Pauldrons' );
strings_add( s, '4516: Tank Pauldrons' );
strings_add( s, '4517: Tank Pauldrons Set 1' );
strings_add( s, '4541: Imperial Shoulders' );
strings_add( s, '4546: Old Citadel Warrior Shoulders' );
strings_add( s, '4556: Rags Pauldrons' );
strings_add( s, '4563: Citadel Warrior Shoulders' );
strings_add( s, '4569: Templar Shoulders' );
strings_add( s, '4586: Titan Slayer Shoulders' );
strings_add( s, '4601: Fisherman Cannister' );
strings_add( s, '4614: Zealot Overcoat' );
strings_add( s, '4620: Citadel Defender Shoulders' );
strings_add( s, '4627: Restless Shoulders' );
strings_add( s, '4631: Plagued Shoulders' );
strings_add( s, '4636: Ranger Shoulders' );
strings_add( s, '4643: Ronin Shoulder' );
strings_add( s, '4648: Spectre Shoulders' );
strings_add( s, '4652: Bone Shoulders' );
strings_add( s, '4662: Bone Shoulders DEV' );
strings_add( s, '4675: Desert Corp Shoulders' );

-- Add items to listbox8..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 7 then -- Chestguards
strings_add( s, '4518: Cloth Armor Chest' );
strings_add( s, '4519: Regal Chestpiece' );
strings_add( s, '4520: Medium Cuirass' );
strings_add( s, '4521: Japanese Cuirass' );
strings_add( s, '4522: Regal Medium Cuirass' );
strings_add( s, '4523: Warrior Shirt' );
strings_add( s, '4524: Tank Cuirass' );
strings_add( s, '4525: Tank Cuirass Set 1' );
strings_add( s, '4542: Sentinel Chest' );
strings_add( s, '4547: Old Citadel Warrior Chest' );
strings_add( s, '4551: Miner Chest' );
strings_add( s, '4555: Rags Chest' );
strings_add( s, '4557: Light Cuirass' );
strings_add( s, '4564: Citadel Warrior Chest' );
strings_add( s, '4570: Templar Chestpiece' );
strings_add( s, '4573: Plagued Chestpiece' );
strings_add( s, '4576: Contractor Chestpiece' );
strings_add( s, '4580: Old Technomancer Chestpiece' );
strings_add( s, '4585: Titan Slayer Cuirass' );
strings_add( s, '4590: Technomancer Chestpiece' );
strings_add( s, '4594: Stalker`s Cuirass' );
strings_add( s, '4598: Citizen Shirt' );
strings_add( s, '4600: Fisherman Chestguard' );
strings_add( s, '4603: Byzantine Cuirass' );
strings_add( s, '4608: Citizen Shirt' );
strings_add( s, '4611: Zealot Chestpiece' );
strings_add( s, '4621: Citadel Defender Chest' );
strings_add( s, '4628: Restless Cuirass' );
strings_add( s, '4633: Ranger Chestguard' );
strings_add( s, '4637: Crusader Cuirass' );
strings_add( s, '4644: Ronin Cuirass' );
strings_add( s, '4649: Spectre Cuirass' );
strings_add( s, '4651: Bone Cuirass' );
strings_add( s, '4661: Bone Cuirass DEV' );
strings_add( s, '4674: Desert Corp Cuirass' );
strings_add( s, '4682: Titan Slayer Cuirass Simless' );
strings_add( s, '4683: Citadel Defender Chest' );
strings_add( s, '4684: Citadel Warrior Chest' );

-- Add items to listbox9..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 8 then -- Gloves
strings_add( s, '4526: Regal Gloves' );
strings_add( s, '4527: Gauntlets' );
strings_add( s, '4528: Medium Gloves' );
strings_add( s, '4529: Regal Medium Gauntlets' );
strings_add( s, '4530: Tank Gaunltet Set' );
strings_add( s, '4543: Sentinel Gauntlets' );
strings_add( s, '4548: Old Citadel Warrior Gauntlets' );
strings_add( s, '4554: Miner Gloves' );
strings_add( s, '4558: Light Gloves' );
strings_add( s, '4566: Citadel Warrior Gauntlets' );
strings_add( s, '4572: Templar Gloves' );
strings_add( s, '4578: Contractor Gloves' );
strings_add( s, '4582: Old Technomancer Gloves' );
strings_add( s, '4588: Titan Slayer Gloves' );
strings_add( s, '4592: Technomancer Gloves' );
strings_add( s, '4596: Stalker`s Gloves' );
strings_add( s, '4604: Byzantine Gauntlet' );
strings_add( s, '4613: Zealot Gloves' );
strings_add( s, '4615: Rags Gloves' );
strings_add( s, '4622: Citadel Defender Gauntlets' );
strings_add( s, '4629: Restless Gauntless' );
strings_add( s, '4635: Ranger Gloves' );
strings_add( s, '4639: Crusader Gloves' );
strings_add( s, '4642: Ronin Gauntlent' );
strings_add( s, '4647: Spectre Gauntlent' );
strings_add( s, '4654: Bone Gloves' );
strings_add( s, '4664: Bone Gloves DEV' );
strings_add( s, '4677: Desert Corp Gloves' );

-- Add items to listbox10..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 9 then -- Legguards
strings_add( s, '4531: Regal Legs' );
strings_add( s, '4532: Cloth Armor Pants' );
strings_add( s, '4533: Japanese Pants' );
strings_add( s, '4534: Medium Greaves' );
strings_add( s, '4535: Regal Medium Greaves' );
strings_add( s, '4536: Tank Greaves' );
strings_add( s, '4537: Warrior Greaves' );
strings_add( s, '4538: Tank Greaves Set 1' );
strings_add( s, '4544: Sentinel Legguard' );
strings_add( s, '4549: Old Citadel Warrior Legguards' );
strings_add( s, '4552: Miner Pants' );
strings_add( s, '4559: Light Greaves' );
strings_add( s, '4567: Citadel Warrior Legguards' );
strings_add( s, '4571: Templar Legs' );
strings_add( s, '4574: Plagued Pants' );
strings_add( s, '4577: Concractor Legs' );
strings_add( s, '4581: Old Technomancer Legs' );
strings_add( s, '4587: Titan Slayer Legs' );
strings_add( s, '4591: Technomancer Legs' );
strings_add( s, '4595: Stalker`s Pants' );
strings_add( s, '4599: Citizen Pants' );
strings_add( s, '4605: Byzantine Pants' );
strings_add( s, '4609: Citizen Pants' );
strings_add( s, '4612: Zealot Legs' );
strings_add( s, '4616: Rags Pants' );
strings_add( s, '4623: Citadel Defender Legguard' );
strings_add( s, '4630: Restless Legguard' );
strings_add( s, '4634: Ranger Pants' );
strings_add( s, '4638: Crusader Pants' );
strings_add( s, '4641: Ronin Pants' );
strings_add( s, '4646: Spectre Pants' );
strings_add( s, '4653: Bone Legs' );
strings_add( s, '4663: Bone Legs DEV' );
strings_add( s, '4676: Desert Corp Legs' );

-- Add items to listbox11..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 10 then -- Capes
strings_add( s, '5500: Wanderer Cape' );
strings_add( s, '5501: Warrior Cape' );
strings_add( s, '5507: Citizen Apron' );
strings_add( s, '5508: Fisherman Apron' );
strings_add( s, '5509: Oxygen Tank' );
strings_add( s, '5512: Traveler Cape' );
strings_add( s, '5515: Tattered Cape' );
strings_add( s, '5516: Spectre Scarf' );
strings_add( s, '5517: Sentinel Overcoat' );
strings_add( s, '5518: Fur Cape' );
strings_add( s, '5519: Folk Cape' );
strings_add( s, '5520: Techpriest Cape' );
strings_add( s, '5556: Ronin Scarf' );
strings_add( s, '5557: Agile Cape' );

-- Add items to listbox12..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 11 then -- Amulets
strings_add( s, '5503: Amulet of Speed' );
strings_add( s, '5511: Amulet of Wandering' );
strings_add( s, '5514: Amulet of Health' );
strings_add( s, '5521: Amulet of Flux Leech' );
strings_add( s, '5534: Amulet of Recovery' );
strings_add( s, '5535: Amulet of Arcane' );
strings_add( s, '5554: Amulet of Divine Might' );
strings_add( s, '5555: Amulet of Stability' );

-- Add items to listbox13..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 12 then -- Rings
strings_add( s, '5502: Ring of Stamina Regen' );
strings_add( s, '5504: Ring of Entropy' );
strings_add( s, '5505: Ring of Lacerate' );
strings_add( s, '5506: Ring of Decay' );
strings_add( s, '5510: Ring of Lesser Stamina' );
strings_add( s, '5513: Ring of Minor Lifesteal' );
strings_add( s, '5522: Ring of Entropy' );
strings_add( s, '5523: Ring of Lifesteal' );
strings_add( s, '5524: Ring of Gravitas' );
strings_add( s, '5525: Ring of Degravitas' );
strings_add( s, '5526: Ring of Burning Desire' );
strings_add( s, '5527: Ring of Silence' );
strings_add( s, '5528: Ring of Decay' );
strings_add( s, '5529: Ring of Blessed Hand' );
strings_add( s, '5530: Ring of Arcane' );
strings_add( s, '5531: Ring of Speed' );
strings_add( s, '5532: Ring of Power' );
strings_add( s, '5533: Ring of Casting Speed' );
strings_add( s, '5536: Ring of Minor Vitality' );
strings_add( s, '5537: Ring of Minor Potential' );
strings_add( s, '5538: Ring of Stamina' );
strings_add( s, '5539: Ring of Health' );
strings_add( s, '5540: Ring of Potential' );
strings_add( s, '5541: Ring of Exceeding Talent' );
strings_add( s, '5542: Ring of Talent' );
strings_add( s, '5543: Ring of Lesser Talent' );
strings_add( s, '5544: Ring of Brilliance' );
strings_add( s, '5545: Ring of Colossus' );
strings_add( s, '5546: Ring of Command' );
strings_add( s, '5547: Ring of Evasion' );
strings_add( s, '5548: Ring of Giant' );
strings_add( s, '5549: Ring of Gluttony' );
strings_add( s, '5550: Ring of Hawk' );
strings_add( s, '5551: Ring of Rammstein' );
strings_add( s, '5552: Ring of Serpent' );
strings_add( s, '5553: Ring of Travel' );

-- Add items to listbox14..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 13 then -- Onehanded Weapons
strings_add( s, '6500: Woodchopper' );
strings_add( s, '6501: Machinist`s Hammer' );
strings_add( s, '6502: lance' );
strings_add( s, '6503: Arming Sword' );
strings_add( s, '6509: Archinquivisitor Saber' );
strings_add( s, '6510: Torch' );
strings_add( s, '6511: Archinquivisitor Staff' );
strings_add( s, '6513: Tire Iron' );
strings_add( s, '6514: Basic Axe' );
strings_add( s, '6515: Archinquivitor Extended Staff' );
strings_add( s, '6516: Great Lance' );
strings_add( s, '6517: Julia`s Main Scimitar' );
strings_add( s, '6518: Citizen Axe' );
strings_add( s, '6519: Mrgud Hammer' );
strings_add( s, '6520: Julia`s Secondary Scimitar' );
strings_add( s, '6521: Ratagan Sabre' );
strings_add( s, '6526: Nemesis Axe' );
strings_add( s, '6527: Industrial Axe' );
strings_add( s, '6528: Iron Pipe' );
strings_add( s, '6529: Morning Star' );
strings_add( s, '6530: Industrial Mace' );
strings_add( s, '6531: Golem Arm' );
strings_add( s, '6532: Golem Arm' );
strings_add( s, '6533: Soul Breaker' );
strings_add( s, '6534: Paladin Mace' );
strings_add( s, '6535: Scimitar' );
strings_add( s, '6536: Weeper Hand' );
strings_add( s, '6537: Dreadguard Axe' );
strings_add( s, '6538: ArmingSword DEV' );
strings_add( s, '6539: Vermillion Sword' );
strings_add( s, '6540: LongSword' );

-- Add items to listbox15..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 14 then -- Twohanded Weapons
strings_add( s, '7500: Rusty Claymore' );
strings_add( s, '7503: LargeStaff' );
strings_add( s, '7504: Evolved Halberd' );
strings_add( s, '7505: Evolved Scythe' );
strings_add( s, '7508: Crescent Axe' );
strings_add( s, '7513: Evolved Spear' );
strings_add( s, '7514: Eviscerator' );
strings_add( s, '7517: Konrad Faussart' );
strings_add( s, '7518: Miner`s Pickaxe' );
strings_add( s, '7520: Inquisitor Staff' );
strings_add( s, '7522: Pilgrim Halberd' );
strings_add( s, '7523: Evolved Staff' );
strings_add( s, '7524: Faussart' );
strings_add( s, '7525: Plagued Twohand Axe' );
strings_add( s, '7527: Mechanomad Staff' );
strings_add( s, '7528: Deranged Scythe' );
strings_add( s, '7532: Plagued Evolved 2hAxe' );
strings_add( s, '7533: Pitchfork' );
strings_add( s, '7534: Miner`s Pickaxe Second' );
strings_add( s, '7536: Mechanical Tenderizer' );
strings_add( s, '7537: Robot Mechanical Tenderizer' );
strings_add( s, '7538: Robot Crescent Axe' );
strings_add( s, '7540: Mechanomad Staff Buffed' );
strings_add( s, '7541: Evolved Staff Buffed' );
strings_add( s, '7543: Royal Claymore' );
strings_add( s, '7545: Archaic Axe' );
strings_add( s, '7547: New 2h Hammer' );
strings_add( s, '7550: New Halberd' );
strings_add( s, '7551: Soul Reaper' );
strings_add( s, '7552: Vermillion Staff' );
strings_add( s, '7555: Deluge Trident' );
strings_add( s, '7556: Berserker Eviscerator' );
strings_add( s, '7558: Mechanomad Aberrant Staff' );
strings_add( s, '7559: Mechanical Tenderizer' );
strings_add( s, '7560: Vermillion Zweihander' );
strings_add( s, '7561: Vermillion Halberd' );
strings_add( s, '7563: Nodachi' );
strings_add( s, '7564: Solaris' );
strings_add( s, '7567: Blessed Crosier' );
strings_add( s, '7568: Claymore' );
strings_add( s, '7569: Evolved Spear Vermillion' );

-- Add items to listbox16..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 15 then -- Dual Wields
strings_add( s, '7509: Katanas' );
strings_add( s, '7510: Kamas' );
strings_add( s, '7511: Daggers' );
strings_add( s, '7512: Invokers Gauntlet' );
strings_add( s, '7526: Deranged Blades' );
strings_add( s, '7529: PlaguedDual1' );
strings_add( s, '7530: PlaguedDual2' );
strings_add( s, '7531: PlaguedDual3' );
strings_add( s, '7535: OsteoclastClaws' );
strings_add( s, '7542: Dual Daggers' );
strings_add( s, '7553: Lacerators' );
strings_add( s, '7554: New Dual Daggers' );
strings_add( s, '7557: Berserker Dual' );
strings_add( s, '7562: Khopeshs' );
strings_add( s, '7566: New Duel Blades' );

-- Add items to listbox16..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 17 then -- Twinblades
strings_add( s, '7501: TwinBlade' );
strings_add( s, '7549: Chronoblade' );

-- Add items to listbox17..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 18 then -- Greatweapons
strings_add( s, '7502: GreatHammer' );
strings_add( s, '7506: Titan Slayer Greatsword' );
strings_add( s, '7507: Mechanomad Greataxe' );
strings_add( s, '7515: Aberrant Solaris' );
strings_add( s, '7516: Nurgei Nodachi' );
strings_add( s, '7519: MrgudHammer' );
strings_add( s, '7521: Nemesis GreatAxe' );
strings_add( s, '7539: Armor Buster' );
strings_add( s, '7544: Divine Greataxe' );
strings_add( s, '7546: New GreatAxe-Remove' );
strings_add( s, '7548: Archangelos' );
strings_add( s, '7565: Aberrant Solaris' );

-- Add items to listbox18..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 19 then -- Ranged Weapons
strings_add( s, '8500: Longbow' );
strings_add( s, '8501: CrossBow' );
strings_add( s, '8502: Winged Bow' );
strings_add( s, '8503: Arcane Bow' );
strings_add( s, '8504: Bow DEV' );
strings_add( s, '8505: Vermillion Bow' );
strings_add( s, '8506: Taskmaster' );

-- Add items to listbox19..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 20 then -- Shields
strings_add( s, '4539: Flat Shield' );
strings_add( s, '4550: Dreadguard Tower Shield' );
strings_add( s, '4560: Old Kite Shield' );
strings_add( s, '4565: ?Heavy Lancer Shield' );
strings_add( s, '4583: TowerShield' );
strings_add( s, '4597: Kite Shield' );
strings_add( s, '4602: ?Saracen Shield' );
strings_add( s, '4618: Military Shield' );
strings_add( s, '4657: Hopelite Shield' );
strings_add( s, '4658: Tall Military Shield' );
strings_add( s, '4659: Saracen Shield' );
strings_add( s, '4665: Military Shield DEV' );
strings_add( s, '4666: Vermillion Shield' );
strings_add( s, '4670: Tech Shield' );
strings_add( s, '4671: Imperial Shield' );
strings_add( s, '4680: Wooden Shield' );

  end
end

rg.OnClick = updateListBox -- call updateListBox function whenever a radio button is clicked

 
 
[DISABLE]
//code from here till the end of the code will be used to disable the cheat

{$asm}
As far as I'm aware, you can't change the colour of the RadioGroup text, even with a custom font.

Try this:

Code: Select all

[ENABLE]
{$LUA}
if syntaxcheck then return end
if f then f.destroy(); f = nil end

local categories = {
'Usables',
'Crafting Materials',
'?Quest Items',
'Others',
'Crystals',
'Helmets',
'Shoulderpads',
'Chestguards',
'Gloves',
'Legguards',
'Capes',
'Amulets',
'Rings',
'Onehanded Weapons',
'Twohanded Weapons',
'Dual Wields',
'Twinblades',
'Greatweapons',
'Ranged Weapons',
'Shields',
}

local items = {
-- Usables
[1] = {
'1:   Lesser Ionization Fluid',
'2:   Lesser Restorative Fluid',
'3:   Stoneshield Concoction',
'12:  Spongeskin Concoction',
'13:  Entropy Grenade',
'14:  Cryo Grenade',
'15:  Glowbug',
'16:  ?Ghost Repellent',
'17:  ?Ghost Exterminator',
'18:  Mobile Respawn Point',
'19:  ?Capacity Upgrade',
'20:  ?Capacity Upgrade',
'32:  Restorative Fluid',
'39:  Ionization Fluid',
'40:  Greater Ionization Fluid',
'41:  Greater Restorative Fluid',
'58:  ?Cluster Grenade',
'59:  ?Electromagnetism Grenade',
'60:  ?Chaos Grenade',
'61:  ?Decay Grenade',
'76:  Beacon: Entropy',
'77:  Beacon: Chaos',
'78:  Beacon: Decay',
'79:  Beacon: Electromagnetism',
'81:  Fluxshield Concoction',
'82:  Indestructible Concoction',
'84:  Jaeger`s Concoction',
'85:  Greater Jaeger`s Concoction',
'86:  Dreadguard`s Concoction',
'87:  Greater Dreadguard`s Concoction',
'88:  Technomancer`s Concoction',
'89:  Greater Technomancer`s Concoction',
'90:  Forsaken Concoction',
'91:  Greater Forsaken Concoction',
'114: Concoction: Health Regen',
'115: Concoction: Flux Regen',
'116: Concoction: Stamina Regen',
'117: Concoction: Mighty Regen',
'118: Concoction: Aberrants Blood',
'119: Concoction: Zealots Tears',
'120: Concoction: Berserkers Tenacity',
'121: Concoction: Powerful Immune System',
'122: Concoction: Strength',
'123: Concoction: Agility',
'124: Concoction: Constitution',
'125: Concoction: Intellect',
'126: Concoction: All Attributes',
'127: Divers Lungs Concoction',
'138: Relocating Device',
},

-- Crafting Materials
[2] = {
'4:   Metal Arrows',
'5:   Broken Arrow',
'6:   Crimson Echinacea',
'7:   Gingko Leaves',
'8:   Fleshfruit',
'9:   Metal Scrap',
'10:  Sludge',
'11:  Tainted Sludge',
'26:  Sharp Molar',
'27:  Flesh',
'28:  Intestinal Parasite',
'29:  Organic Material',
'30:  Bone Marrow',
'31:  Essence',
'33:  Piercing Arrow',
'34:  Exoplosive Arrow',
'35:  Shock Arrow',
'36:  Sound Arrow',
'50:  Oil',
'51:  Clockwork Gear',
'52:  Tainted Liver',
'62:  Alkahest',
'63:  Rotten Flesh',
'64:  Coagulated Blood',
'65:  Horn Silver',
'66:  Vitriol',
'69:  Metal Alloy',
'70:  Beryllium Copper',
'100: Nervous System',
'101: Mutated Tongue',
'102: Ingested Food',
'103: Bone Shard',
'104: Distorted Bone',
'105: Dacaying Organ',
'106: Prayer Spice',
'107: Prayer Feather',
'108: Flux Residue',
'129: Vermilion Mercury',
'130: Ectoplasm',
},

-- ?Quest Items
[3] = {
'21:  ?Rusty Key',
'22:  Upgrade Splinter',
'23:  Upgrade Module',
'24:  Handler Echo',
'25:  ?-1',
'37:  Ability Splinter',
'38:  Perk Essence',
'42:  Unstable Perk Essence',
'43:  Unstable Perk Essence',
'44:  Unstable Perk Essence',
'45:  Unstable Perk Essence',
'46:  Unstable Perk Essence',
'47:  Unstable Perk Essence',
'48:  Unstable Perk Essence',
'49:  Unstable Perk Essence',
'109: Handler Echo',
'110: Handler Echo',
'111: Handler Echo',
'112: Homunculus Mirage Case',
'113: Homunculus Mirage',
'139: Handler Echo',
'140: Pages',
'141: Pages',
'142: Pages',
'143: Pages',
'144: Pages',
'145: Pages',
'146: Pages',
'147: Pages',
'148: Pages',
'149: Pages',
'150: Pages',
'151: ?Pages',
'152: Pages',
'153: Pages',
'154: Pages',
'155: Pages',
'156: Pages',
'157: Pages',
'158: Pages',
'159: Pages',
},

-- Others
[4] = {
'53:  ?Cluster Grenade',
'54:  ?Entropy Grenade',
'55:  ?Electromagnetism Grenade',
'56:  ?Chaos Grenade',
'57:  ?Decay Grenade',
'67:  ?Medium Restorative Pack',
'68:  ?Advanced Restorative Pack',
'71:  ?Stats Fragments',
'72:  ?Resistance Fragments',
'73:  ?Piercing Arrows',
'74:  ?Shock Arrows',
'75:  ?Dash,Power Armor,Vortex',
'80:  ?Resistance Concoctions Pack',
'83:  ?Indestructible Concoction',
'92:  ?Penetration Concoctions Pack',
'93:  ?Greater Penetration Concoctions Pack',
'94:  ?Forsaken Concoction',
'95:  ?Forsaken Concoction',
'96:  ?Beacon: Entropy',
'97:  ?Beacon: Chaos',
'98:  ?Beacon: Decay',
'99:  ?Beacon: Electromagnetism',
'128: ?Glowbug',
'131: ?Regeneration Concoctions Pack',
'132: ?Concoction: Mighty Regen',
'133: ?Stats Concoctions Pack',
'134: ?Concoction: Powerful Immune System',
'135: ?Attribute Concoctions Pack',
'136: ?Concoction: All Attributes',
'137: ?Status Fragments',
},

-- Crystals
[5] = {
'3000: Lesser Anomalous Crystal',
'3001: Lesser Anomalous Crystal',
'3002: Lesser Anomalous Crystal',
'3003: Lesser Anomalous Crystal',
'3004: Lesser Anomalous Crystal',
'3005: Lesser Anomalous Crystal',
'3006: Lesser Anomalous Crystal',
'3007: Lesser Anomalous Crystal',
'3008: Lesser Anomalous Crystal',
'3009: Lesser Anomalous Crystal',
'3010: Lesser Anomalous Crystal',
'3011: Lesser Anomalous Crystal',
'3012: Lesser Anomalous Crystal',
'3013: Lesser Anomalous Crystal',
'3014: Anomalous Crystal',
'3015: Anomalous Crystal',
'3016: Anomalous Crystal',
'3017: Anomalous Crystal',
'3018: Anomalous Crystal',
'3019: Anomalous Crystal',
'3020: Anomalous Crystal',
'3021: Anomalous Crystal',
'3022: Anomalous Crystal',
'3023: Anomalous Crystal',
'3024: Anomalous Crystal',
'3025: Anomalous Crystal',
'3026: Anomalous Crystal',
'3027: Anomalous Crystal',
'3028: Eclipse Fragment',
'3029: Eclipse Fragment',
'3030: Eclipse Fragment',
'3031: Eclipse Fragment',
'3032: Eclipse Fragment',
'3033: Unique Fragment',
'3034: Unique Fragment',
'3035: Unique Fragment',
'3036: Unique Fragment',
'3037: Eclipse Fragment',
'3038: Eclipse Fragment',
'3039: Eclipse Fragment',
'3040: Eclipse Fragment',
'3041: Unique Fragment',
'3042: Unique Fragment',
'3043: Eclipse Fragment',
'3044: Dual Brutality Fragment',
'3045: Bear Trap Fragment',
'3046: Caltrops Fragment',
'3047: Shield Slam Fragment',
'3048: Shield Bash Fragment',
'3049: Shield Reflect Fragment',
'3050: Flurry Fragment',
'3051: Piercing Shot Fragment',
'3052: Weak Spots Fragment',
'3053: Bladestorm Fragment',
'3054: Guillotine Fragment',
'3055: Expose Armor Fragment',
'3056: Reap Fragment',
'3057: Clone Charge Fragment',
'3058: Raise Dead Fragment',
'3059: Summon Elemental Fragment',
'3060: Unique Fragment',
'3061: Eclipse Fragment',
'3062: Bear Trap Fragment',
'3063: Guillotine Fragment',
'3064: Guillotine Fragment',
'3065: Eclipse Fragment',
'3066: Eclipse Fragment',
'3067: Bear Trap Fragment',
'3068: Bear Trap Fragment',
'3069: Bear Trap Fragment',
'3070: Guillotine Fragment',
'3071: Guillotine Fragment',
'3072: Guillotine Fragment',
'3073: Guillotine Fragment',
'3074: Guillotine Fragment',
'3075: Dual Brutality Fragment',
'3076: Greater Anomalous Crystal',
'3077: Greater Anomalous Crystal',
'3078: Greater Anomalous Crystal',
'3079: Greater Anomalous Crystal',
'3080: Eclipse Fragment',
'3082: Eclipse Fragment',
'3083: Eclipse Fragment',
'3084: Shield Bash Fragment',
'3085: Eclipse Fragment',
'3086: Eclipse Fragment',
'3087: Eclipse Fragment',
'3088: Eclipse Fragment',
'3089: Eclipse Fragment',
'3090: Eclipse Fragment',
'3091: Eclipse Fragment',
'3092: Eclipse Fragment',
'3093: Eclipse Fragment',
'3094: Eclipse Fragment',
'3095: Eclipse Fragment',
'3096: Eclipse Fragment',
'3097: Eclipse Fragment',
'3098: Eclipse Fragment',
'3099: Eclipse Fragment',
'3100: Eclipse Fragment',
'3101: Eclipse Fragment',
'3102: Unique Fragment',
'3103: Unique Fragment',
'3104: Unique Fragment',
'3105: Unique Fragment',
'3106: Unique Fragment',
'3107: Unique Fragment',
'3108: Unique Fragment',
'3109: Unique Fragment',
'3110: Unique Fragment',
'3111: Unique Fragment',
'3112: Shield Bash Fragment',
'3113: Unique Fragment',
'3114: Unique Fragment',
'3115: Unique Fragment',
'3116: Unique Fragment',
'3117: Unique Fragment',
'3118: Unique Fragment',
'3119: Guillotine Fragment',
'3120: Bladestorm Fragment',
'3121: Bladestorm Fragment',
'3122: Bladestorm Fragment',
'3123: Bladestorm Fragment',
'3124: Bladestorm Fragment',
'3125: Unique Fragment',
'3126: Unique Fragment',
'3127: Unique Fragment',
'3128: Unique Fragment',
'3129: Unique Fragment',
'3130: Unique Fragment',
'3131: Unique Fragment',
'3132: Bladestorm Fragment',
'3133: Bladestorm Fragment',
'3134: Bladestorm Fragment',
'3135: Bladestorm Fragment',
'3136: Bladestorm Fragment',
'3137: Bladestorm Fragment',
'3138: Bladestorm Fragment',
'3139: Bladestorm Fragment',
'3140: Bladestorm Fragment',
'3141: Bladestorm Fragment',
'3142: Bladestorm Fragment',
'3143: Bladestorm Fragment',
'3144: Bladestorm Fragment',
'3145: Bladestorm Fragment',
'3146: Bladestorm Fragment',
'3147: Bladestorm Fragment',
'3148: Bladestorm Fragment',
'3149: Bladestorm Fragment',
'3150: Guillotine Fragment',
'3151: Unique Fragment',
'3152: Unique Fragment',
'3153: Guillotine Fragment',
'3154: Bladestorm Fragment',
'3155: Lesser Anomalous Crystal',
'3156: Lesser Anomalous Crystal',
'3157: Lesser Anomalous Crystal',
'3158: Lesser Anomalous Crystal',
'3159: Lesser Anomalous Crystal',
'3160: Anomalous Crystal',
'3161: Anomalous Crystal',
'3162: Anomalous Crystal',
'3163: Unique Fragment',
'3164: Unique Fragment',
'3165: Unique Fragment',
},

-- Helmets
[6] = {
'4500: Regal Helmet',
'4501: Cloth Helmet',
'4502: Rags Goggles',
'4503: Goggles 2',
'4504: Hat',
'4505: Iron Helmet',
'4506: Japanese Helmet',
'4508: Old Ranger Helmet',
'4509: Regal Medium Helmet',
'4510: Tank Helmet',
'4511: Tank Helmet Set 1',
'4512: Warrior Helmet',
'4540: Sentinel Helmet',
'4545: Old Citadel Warrior Helmet',
'4553: Miner Helmet',
'4561: Light Hood',
'4562: Citadel Warrior Helmet',
'4568: Templar Helmet',
'4575: Contractor Helmet',
'4579: Old Technomancer Helmet',
'4584: Titan Slayer Helmet',
'4589: Technomancer Helmet',
'4593: Stalker`s Hood',
'4606: Byzantine Helmet',
'4607: Byzantine Helmet',
'4610: Zealot Helmet',
'4617: Rags Helmet',
'4619: Citadel Defender Helmet',
'4624: PlaguedMask',
'4625: PlaguedMask2',
'4626: Restless Helmet',
'4632: Ranger Helmet',
'4640: Ronin Helmet',
'4645: Spectre Helmet',
'4650: Bone Helmet',
'4655: Visage Respirator Helmet',
'4656: Crude Helmet',
'4660: Bone Helmet DEV',
'4667: Skullface Helmet',
'4668: Eris',
'4669: Techpriest Helmet',
'4672: Mechacenturion',
'4673: Desert Corp Helmet',
'4678: Deserts Respirator Helmet',
'4679: Elipse Helmet',
'4681: Titan Slayer Helmet Simless',
},

-- Shoulderpads
[7] = {
'4513: Regal Shoulders',
'4514: Japanese Pauldrons',
'4515: Regal Medium Pauldrons',
'4516: Tank Pauldrons',
'4517: Tank Pauldrons Set 1',
'4541: Imperial Shoulders',
'4546: Old Citadel Warrior Shoulders',
'4556: Rags Pauldrons',
'4563: Citadel Warrior Shoulders',
'4569: Templar Shoulders',
'4586: Titan Slayer Shoulders',
'4601: Fisherman Cannister',
'4614: Zealot Overcoat',
'4620: Citadel Defender Shoulders',
'4627: Restless Shoulders',
'4631: Plagued Shoulders',
'4636: Ranger Shoulders',
'4643: Ronin Shoulder',
'4648: Spectre Shoulders',
'4652: Bone Shoulders',
'4662: Bone Shoulders DEV',
'4675: Desert Corp Shoulders',
},

-- Chestguards
[8] = {
'4518: Cloth Armor Chest',
'4519: Regal Chestpiece',
'4520: Medium Cuirass',
'4521: Japanese Cuirass',
'4522: Regal Medium Cuirass',
'4523: Warrior Shirt',
'4524: Tank Cuirass',
'4525: Tank Cuirass Set 1',
'4542: Sentinel Chest',
'4547: Old Citadel Warrior Chest',
'4551: Miner Chest',
'4555: Rags Chest',
'4557: Light Cuirass',
'4564: Citadel Warrior Chest',
'4570: Templar Chestpiece',
'4573: Plagued Chestpiece',
'4576: Contractor Chestpiece',
'4580: Old Technomancer Chestpiece',
'4585: Titan Slayer Cuirass',
'4590: Technomancer Chestpiece',
'4594: Stalker`s Cuirass',
'4598: Citizen Shirt',
'4600: Fisherman Chestguard',
'4603: Byzantine Cuirass',
'4608: Citizen Shirt',
'4611: Zealot Chestpiece',
'4621: Citadel Defender Chest',
'4628: Restless Cuirass',
'4633: Ranger Chestguard',
'4637: Crusader Cuirass',
'4644: Ronin Cuirass',
'4649: Spectre Cuirass',
'4651: Bone Cuirass',
'4661: Bone Cuirass DEV',
'4674: Desert Corp Cuirass',
'4682: Titan Slayer Cuirass Simless',
'4683: Citadel Defender Chest',
'4684: Citadel Warrior Chest',
},

-- Gloves
[9] = {
'4526: Regal Gloves',
'4527: Gauntlets',
'4528: Medium Gloves',
'4529: Regal Medium Gauntlets',
'4530: Tank Gaunltet Set',
'4543: Sentinel Gauntlets',
'4548: Old Citadel Warrior Gauntlets',
'4554: Miner Gloves',
'4558: Light Gloves',
'4566: Citadel Warrior Gauntlets',
'4572: Templar Gloves',
'4578: Contractor Gloves',
'4582: Old Technomancer Gloves',
'4588: Titan Slayer Gloves',
'4592: Technomancer Gloves',
'4596: Stalker`s Gloves',
'4604: Byzantine Gauntlet',
'4613: Zealot Gloves',
'4615: Rags Gloves',
'4622: Citadel Defender Gauntlets',
'4629: Restless Gauntless',
'4635: Ranger Gloves',
'4639: Crusader Gloves',
'4642: Ronin Gauntlent',
'4647: Spectre Gauntlent',
'4654: Bone Gloves',
'4664: Bone Gloves DEV',
'4677: Desert Corp Gloves',
},

-- Legguards
[10] = {
'4531: Regal Legs',
'4532: Cloth Armor Pants',
'4533: Japanese Pants',
'4534: Medium Greaves',
'4535: Regal Medium Greaves',
'4536: Tank Greaves',
'4537: Warrior Greaves',
'4538: Tank Greaves Set 1',
'4544: Sentinel Legguard',
'4549: Old Citadel Warrior Legguards',
'4552: Miner Pants',
'4559: Light Greaves',
'4567: Citadel Warrior Legguards',
'4571: Templar Legs',
'4574: Plagued Pants',
'4577: Concractor Legs',
'4581: Old Technomancer Legs',
'4587: Titan Slayer Legs',
'4591: Technomancer Legs',
'4595: Stalker`s Pants',
'4599: Citizen Pants',
'4605: Byzantine Pants',
'4609: Citizen Pants',
'4612: Zealot Legs',
'4616: Rags Pants',
'4623: Citadel Defender Legguard',
'4630: Restless Legguard',
'4634: Ranger Pants',
'4638: Crusader Pants',
'4641: Ronin Pants',
'4646: Spectre Pants',
'4653: Bone Legs',
'4663: Bone Legs DEV',
'4676: Desert Corp Legs',
},

-- Capes
[11] = {
'5500: Wanderer Cape',
'5501: Warrior Cape',
'5507: Citizen Apron',
'5508: Fisherman Apron',
'5509: Oxygen Tank',
'5512: Traveler Cape',
'5515: Tattered Cape',
'5516: Spectre Scarf',
'5517: Sentinel Overcoat',
'5518: Fur Cape',
'5519: Folk Cape',
'5520: Techpriest Cape',
'5556: Ronin Scarf',
'5557: Agile Cape',
},

-- Amulets
[12] = {
'5503: Amulet of Speed',
'5511: Amulet of Wandering',
'5514: Amulet of Health',
'5521: Amulet of Flux Leech',
'5534: Amulet of Recovery',
'5535: Amulet of Arcane',
'5554: Amulet of Divine Might',
'5555: Amulet of Stability',
},

-- Rings
[13] = {
'5502: Ring of Stamina Regen',
'5504: Ring of Entropy',
'5505: Ring of Lacerate',
'5506: Ring of Decay',
'5510: Ring of Lesser Stamina',
'5513: Ring of Minor Lifesteal',
'5522: Ring of Entropy',
'5523: Ring of Lifesteal',
'5524: Ring of Gravitas',
'5525: Ring of Degravitas',
'5526: Ring of Burning Desire',
'5527: Ring of Silence',
'5528: Ring of Decay',
'5529: Ring of Blessed Hand',
'5530: Ring of Arcane',
'5531: Ring of Speed',
'5532: Ring of Power',
'5533: Ring of Casting Speed',
'5536: Ring of Minor Vitality',
'5537: Ring of Minor Potential',
'5538: Ring of Stamina',
'5539: Ring of Health',
'5540: Ring of Potential',
'5541: Ring of Exceeding Talent',
'5542: Ring of Talent',
'5543: Ring of Lesser Talent',
'5544: Ring of Brilliance',
'5545: Ring of Colossus',
'5546: Ring of Command',
'5547: Ring of Evasion',
'5548: Ring of Giant',
'5549: Ring of Gluttony',
'5550: Ring of Hawk',
'5551: Ring of Rammstein',
'5552: Ring of Serpent',
'5553: Ring of Travel',
},

-- Onehanded Weapons
[14] = {
'6500: Woodchopper',
'6501: Machinist`s Hammer',
'6502: lance',
'6503: Arming Sword',
'6509: Archinquivisitor Saber',
'6510: Torch',
'6511: Archinquivisitor Staff',
'6513: Tire Iron',
'6514: Basic Axe',
'6515: Archinquivitor Extended Staff',
'6516: Great Lance',
'6517: Julia`s Main Scimitar',
'6518: Citizen Axe',
'6519: Mrgud Hammer',
'6520: Julia`s Secondary Scimitar',
'6521: Ratagan Sabre',
'6526: Nemesis Axe',
'6527: Industrial Axe',
'6528: Iron Pipe',
'6529: Morning Star',
'6530: Industrial Mace',
'6531: Golem Arm',
'6532: Golem Arm',
'6533: Soul Breaker',
'6534: Paladin Mace',
'6535: Scimitar',
'6536: Weeper Hand',
'6537: Dreadguard Axe',
'6538: ArmingSword DEV',
'6539: Vermillion Sword',
'6540: LongSword',
},

-- Twohanded Weapons
[15] = {
'7500: Rusty Claymore',
'7503: LargeStaff',
'7504: Evolved Halberd',
'7505: Evolved Scythe',
'7508: Crescent Axe',
'7513: Evolved Spear',
'7514: Eviscerator',
'7517: Konrad Faussart',
'7518: Miner`s Pickaxe',
'7520: Inquisitor Staff',
'7522: Pilgrim Halberd',
'7523: Evolved Staff',
'7524: Faussart',
'7525: Plagued Twohand Axe',
'7527: Mechanomad Staff',
'7528: Deranged Scythe',
'7532: Plagued Evolved 2hAxe',
'7533: Pitchfork',
'7534: Miner`s Pickaxe Second',
'7536: Mechanical Tenderizer',
'7537: Robot Mechanical Tenderizer',
'7538: Robot Crescent Axe',
'7540: Mechanomad Staff Buffed',
'7541: Evolved Staff Buffed',
'7543: Royal Claymore',
'7545: Archaic Axe',
'7547: New 2h Hammer',
'7550: New Halberd',
'7551: Soul Reaper',
'7552: Vermillion Staff',
'7555: Deluge Trident',
'7556: Berserker Eviscerator',
'7558: Mechanomad Aberrant Staff',
'7559: Mechanical Tenderizer',
'7560: Vermillion Zweihander',
'7561: Vermillion Halberd',
'7563: Nodachi',
'7564: Solaris',
'7567: Blessed Crosier',
'7568: Claymore',
'7569: Evolved Spear Vermillion',
},

-- Dual Wields
[16] = {
'7509: Katanas',
'7510: Kamas',
'7511: Daggers',
'7512: Invokers Gauntlet',
'7526: Deranged Blades',
'7529: PlaguedDual1',
'7530: PlaguedDual2',
'7531: PlaguedDual3',
'7535: OsteoclastClaws',
'7542: Dual Daggers',
'7553: Lacerators',
'7554: New Dual Daggers',
'7557: Berserker Dual',
'7562: Khopeshs',
'7566: New Duel Blades',
},

-- Twinblades
[17] = {
'7501: TwinBlade',
'7549: Chronoblade',
},

-- Greatweapons
[18] = {
'7502: GreatHammer',
'7506: Titan Slayer Greatsword',
'7507: Mechanomad Greataxe',
'7515: Aberrant Solaris',
'7516: Nurgei Nodachi',
'7519: MrgudHammer',
'7521: Nemesis GreatAxe',
'7539: Armor Buster',
'7544: Divine Greataxe',
'7546: New GreatAxe-Remove',
'7548: Archangelos',
'7565: Aberrant Solaris',
},

-- Ranged Weapons
[19] = {
'8500: Longbow',
'8501: CrossBow',
'8502: Winged Bow',
'8503: Arcane Bow',
'8504: Bow DEV',
'8505: Vermillion Bow',
'8506: Taskmaster',
},

-- Shields
[20] = {
'4539: Flat Shield',
'4550: Dreadguard Tower Shield',
'4560: Old Kite Shield',
'4565: ?Heavy Lancer Shield',
'4583: TowerShield',
'4597: Kite Shield',
'4602: ?Saracen Shield',
'4618: Military Shield',
'4657: Hopelite Shield',
'4658: Tall Military Shield',
'4659: Saracen Shield',
'4665: Military Shield DEV',
'4666: Vermillion Shield',
'4670: Tech Shield',
'4671: Imperial Shield',
'4680: Wooden Shield',
},
-- End 2D Array
}

local function getTableData(t)
      -- If the table passed to the function is nil then return nil
      if t == nil then return nil end
      local sl = createStringList()
        -- Loop through the input  table
        for i in pairs(t) do
         -- Add each item in the table to the StringList
         sl.Add(t[i])
        end
      return sl
      end

-- Credits: FreeBirdLjj of Github for this function
local function switch(value)
  return function(cases)
    local f = cases[value]
    if (f) then
      f()
    end
  end
end

local f = createForm(getMainForm())
f.Name = 'frmMain'
f.Caption = 'Select Items'
f.Width = 800
f.Height = 400
f.Position = 'poDesktopCenter'
f.OnClose = function()
              -- Disable the script entry in Cheat Engine should we close the Item Selector form
              -- NOTE: Item Selector is the decsription of the script entry within the cheat table.
              -- change it to whatever matches your script name.
              AddressList.getMemoryRecordByDescription('Item Selector').Active = false
              f.destroy()
            end

local fd = createFont(f)
fd.Name = 'Courier New'
fd.Size = 10
fd.Color = 0x0000FF
fd.Quality = 'fqAntiAlias'


local lb = createListBox(f)
lb.Width = 400
lb.Height = 400
lb.Left = f.Width - lb.width
lb.Top = 0
lb.Color = 0xE4E4E4
lb.Font = fd
lb.OnDblClick = function()
                 -- Use pattern matching to find the numbers within the text
                 -- We grab the item based on the selected index in the list since ListBox items are an array of strings
                 local id = (lb.Items[lb.ItemIndex]):match('(%d+):')
                 -- Use pattern matching to find the text after the colon
                 local item = (lb.Items[lb.ItemIndex]):match('%:(.*)')
                 -- Remove/comment the below line to prevent printing to console
                 print('Selected Item ID:\t' .. id .. '\nSelected Item Name:\t' .. item)
                 -- Uncomment the line below to make it so that it copies the ID of the item to the clipboard
                 --writeToClipboard(id)
                end

local rg = createRadioGroup(f)
rg.Align = 'alLeft'
rg.Width = (f.Width / 2) - 3
rg.Columns = 2
rg.Height = 400
rg.Left = 0
rg.Top =0
rg.Caption = 'Select...'
rg.Font = fd
rg.OnClick = function()
              -- Lua tables are index based from 1, ListBoxes are index based from 0
              -- So we add 1 to the index to retrieve the correct item in the table array
              local idx = rg.ItemIndex + 1

              switch(idx) {
                -- Return the data based on the index of the selected item
                [idx] = function()
                      lb.Items = getTableData(items[idx])
                end,
              }
             end

-- A hacky workaround for updating the radiogroup since Lua is linearly executed
local t = createTimer(f)
t.Interval = 50
t.OnTimer = function()
            rg.Items = getTableData(categories)
            t.destroy()
            end
{$ASM}
[DISABLE]
{$LUA}
if syntaxcheck then return end
if f then f.destroy(); f = nil end


I have made some improvements and added functionality so that you can copy the ID to the clipboard. I have commented the lines so you can learn from it also.

Just so you know for future reference. You can change the name of the form that displays by setting its caption property:

Code: Select all

local form = createForm()
form.Caption = 'My Title'
If you have any questions feel free to ask.

User avatar
patka
Table Makers
Table Makers
Posts: 224
Joined: Sun Jul 05, 2020 11:09 am
Reputation: 245

Re: I need some help! (Lua form and function)

Post by patka »

LeFiXER wrote:
Mon Apr 17, 2023 3:49 pm
patka wrote:
Sun Apr 16, 2023 3:24 pm
Hi Everyone!!

I made an item list script and I want to add a few more things:

1: how can I change the font color of the elements (mainly the RadioGroup Texts)?
2: how can I change the font type of the elements?
3: how can I make it so that if I double-click on an item in the list on the right, the number of the item is copied to the clipboard?
4: how can i change the caption of the pop-up windows?
Thank Your answer!
Here is the code:

Code: Select all

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

{$lua}

local f = createForm( true )
local rg = createRadioGroup( f )

-- Add items to radiogroup..
local s = radiogroup_getItems( rg );
rg.setSize(300,800)
f.setSize(610,800)
f.setColor ( 13231868 )


strings_add( s, 'Usables' );
strings_add( s, 'Crafting Materials' );
strings_add( s, '?Quest Items' );
strings_add( s, 'Others' );
strings_add( s, 'Crystals' );
strings_add( s, 'Helmets' );
strings_add( s, 'Shoulderpads' );
strings_add( s, 'Chestguards' );
strings_add( s, 'Gloves' );
strings_add( s, 'Legguards' );
strings_add( s, 'Capes' );
strings_add( s, 'Amulets' );
strings_add( s, 'Rings' );
strings_add( s, 'Onehanded Weapons' );
strings_add( s, 'Twohanded Weapons' );
strings_add( s, 'Dual Wields' );
strings_add( s, 'Twinblades' );
strings_add( s, 'Greatweapons' );
strings_add( s, 'Ranged Weapons' );
strings_add( s, 'Shields' );


local lb = createListBox( f ) lb.left=lb.width + 200 --lb.visible=false
lb.Height=lb.Height
lb.width = 310
lb.height = 800
lb.setColor ( 15244162 )

-- Add items to listbox1..
local s = listbox_getItems( lb );
local function updateListBox()
  local s = listbox_getItems(lb)
  strings_clear(s)

  if rg.ItemIndex == 0 then -- Usables
strings_add( s, '1:   Lesser Ionization Fluid' );
strings_add( s, '2:   Lesser Restorative Fluid' );
strings_add( s, '3:   Stoneshield Concoction' );
strings_add( s, '12:  Spongeskin Concoction' );
strings_add( s, '13:  Entropy Grenade' );
strings_add( s, '14:  Cryo Grenade' );
strings_add( s, '15:  Glowbug' );
strings_add( s, '16:  ?Ghost Repellent' );
strings_add( s, '17:  ?Ghost Exterminator' );
strings_add( s, '18:  Mobile Respawn Point' );
strings_add( s, '19:  ?Capacity Upgrade' );
strings_add( s, '20:  ?Capacity Upgrade' );
strings_add( s, '32:  Restorative Fluid' );
strings_add( s, '39:  Ionization Fluid' );
strings_add( s, '40:  Greater Ionization Fluid' );
strings_add( s, '41:  Greater Restorative Fluid' );
strings_add( s, '58:  ?Cluster Grenade' );
strings_add( s, '59:  ?Electromagnetism Grenade' );
strings_add( s, '60:  ?Chaos Grenade' );
strings_add( s, '61:  ?Decay Grenade' );
strings_add( s, '76:  Beacon: Entropy' );
strings_add( s, '77:  Beacon: Chaos' );
strings_add( s, '78:  Beacon: Decay' );
strings_add( s, '79:  Beacon: Electromagnetism' );
strings_add( s, '81:  Fluxshield Concoction' );
strings_add( s, '82:  Indestructible Concoction' );
strings_add( s, '84:  Jaeger`s Concoction' );
strings_add( s, '85:  Greater Jaeger`s Concoction' );
strings_add( s, '86:  Dreadguard`s Concoction' );
strings_add( s, '87:  Greater Dreadguard`s Concoction' );
strings_add( s, '88:  Technomancer`s Concoction' );
strings_add( s, '89:  Greater Technomancer`s Concoction' );
strings_add( s, '90:  Forsaken Concoction' );
strings_add( s, '91:  Greater Forsaken Concoction' );
strings_add( s, '114: Concoction: Health Regen' );
strings_add( s, '115: Concoction: Flux Regen' );
strings_add( s, '116: Concoction: Stamina Regen' );
strings_add( s, '117: Concoction: Mighty Regen' );
strings_add( s, '118: Concoction: Aberrants Blood' );
strings_add( s, '119: Concoction: Zealots Tears' );
strings_add( s, '120: Concoction: Berserkers Tenacity' );
strings_add( s, '121: Concoction: Powerful Immune System' );
strings_add( s, '122: Concoction: Strength' );
strings_add( s, '123: Concoction: Agility' );
strings_add( s, '124: Concoction: Constitution' );
strings_add( s, '125: Concoction: Intellect' );
strings_add( s, '126: Concoction: All Attributes' );
strings_add( s, '127: Divers Lungs Concoction' );
strings_add( s, '138: Relocating Device' );

-- Add items to listbox2..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 1 then -- Crafting Materials
strings_add( s, '4:   Metal Arrows' );
strings_add( s, '5:   Broken Arrow' );
strings_add( s, '6:   Crimson Echinacea' );
strings_add( s, '7:   Gingko Leaves' );
strings_add( s, '8:   Fleshfruit' );
strings_add( s, '9:   Metal Scrap' );
strings_add( s, '10:  Sludge' );
strings_add( s, '11:  Tainted Sludge' );
strings_add( s, '26:  Sharp Molar' );
strings_add( s, '27:  Flesh' );
strings_add( s, '28:  Intestinal Parasite' );
strings_add( s, '29:  Organic Material' );
strings_add( s, '30:  Bone Marrow' );
strings_add( s, '31:  Essence' );
strings_add( s, '33:  Piercing Arrow' );
strings_add( s, '34:  Exoplosive Arrow' );
strings_add( s, '35:  Shock Arrow' );
strings_add( s, '36:  Sound Arrow' );
strings_add( s, '50:  Oil' );
strings_add( s, '51:  Clockwork Gear' );
strings_add( s, '52:  Tainted Liver' );
strings_add( s, '62:  Alkahest' );
strings_add( s, '63:  Rotten Flesh' );
strings_add( s, '64:  Coagulated Blood' );
strings_add( s, '65:  Horn Silver' );
strings_add( s, '66:  Vitriol' );
strings_add( s, '69:  Metal Alloy' );
strings_add( s, '70:  Beryllium Copper' );
strings_add( s, '100: Nervous System' );
strings_add( s, '101: Mutated Tongue' );
strings_add( s, '102: Ingested Food' );
strings_add( s, '103: Bone Shard' );
strings_add( s, '104: Distorted Bone' );
strings_add( s, '105: Dacaying Organ' );
strings_add( s, '106: Prayer Spice' );
strings_add( s, '107: Prayer Feather' );
strings_add( s, '108: Flux Residue' );
strings_add( s, '129: Vermilion Mercury' );
strings_add( s, '130: Ectoplasm' );

-- Add items to listbox3..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 2 then -- ?Quest Items
strings_add( s, '21:  ?Rusty Key' );
strings_add( s, '22:  Upgrade Splinter' );
strings_add( s, '23:  Upgrade Module' );
strings_add( s, '24:  Handler Echo' );
strings_add( s, '25:  ?-1' );
strings_add( s, '37:  Ability Splinter' );
strings_add( s, '38:  Perk Essence' );
strings_add( s, '42:  Unstable Perk Essence' );
strings_add( s, '43:  Unstable Perk Essence' );
strings_add( s, '44:  Unstable Perk Essence' );
strings_add( s, '45:  Unstable Perk Essence' );
strings_add( s, '46:  Unstable Perk Essence' );
strings_add( s, '47:  Unstable Perk Essence' );
strings_add( s, '48:  Unstable Perk Essence' );
strings_add( s, '49:  Unstable Perk Essence' );
strings_add( s, '109: Handler Echo' );
strings_add( s, '110: Handler Echo' );
strings_add( s, '111: Handler Echo' );
strings_add( s, '112: Homunculus Mirage Case' );
strings_add( s, '113: Homunculus Mirage' );
strings_add( s, '139: Handler Echo' );
strings_add( s, '140: Pages' );
strings_add( s, '141: Pages' );
strings_add( s, '142: Pages' );
strings_add( s, '143: Pages' );
strings_add( s, '144: Pages' );
strings_add( s, '145: Pages' );
strings_add( s, '146: Pages' );
strings_add( s, '147: Pages' );
strings_add( s, '148: Pages' );
strings_add( s, '149: Pages' );
strings_add( s, '150: Pages' );
strings_add( s, '151: ?Pages' );
strings_add( s, '152: Pages' );
strings_add( s, '153: Pages' );
strings_add( s, '154: Pages' );
strings_add( s, '155: Pages' );
strings_add( s, '156: Pages' );
strings_add( s, '157: Pages' );
strings_add( s, '158: Pages' );
strings_add( s, '159: Pages' );

-- Add items to listbox4..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 3 then -- Others
strings_add( s, '53:  ?Cluster Grenade' );
strings_add( s, '54:  ?Entropy Grenade' );
strings_add( s, '55:  ?Electromagnetism Grenade' );
strings_add( s, '56:  ?Chaos Grenade' );
strings_add( s, '57:  ?Decay Grenade' );
strings_add( s, '67:  ?Medium Restorative Pack' );
strings_add( s, '68:  ?Advanced Restorative Pack' );
strings_add( s, '71:  ?Stats Fragments' );
strings_add( s, '72:  ?Resistance Fragments' );
strings_add( s, '73:  ?Piercing Arrows' );
strings_add( s, '74:  ?Shock Arrows' );
strings_add( s, '75:  ?Dash,Power Armor,Vortex' );
strings_add( s, '80:  ?Resistance Concoctions Pack' );
strings_add( s, '83:  ?Indestructible Concoction' );
strings_add( s, '92:  ?Penetration Concoctions Pack' );
strings_add( s, '93:  ?Greater Penetration Concoctions Pack' );
strings_add( s, '94:  ?Forsaken Concoction' );
strings_add( s, '95:  ?Forsaken Concoction' );
strings_add( s, '96:  ?Beacon: Entropy' );
strings_add( s, '97:  ?Beacon: Chaos' );
strings_add( s, '98:  ?Beacon: Decay' );
strings_add( s, '99:  ?Beacon: Electromagnetism' );
strings_add( s, '128: ?Glowbug' );
strings_add( s, '131: ?Regeneration Concoctions Pack' );
strings_add( s, '132: ?Concoction: Mighty Regen' );
strings_add( s, '133: ?Stats Concoctions Pack' );
strings_add( s, '134: ?Concoction: Powerful Immune System' );
strings_add( s, '135: ?Attribute Concoctions Pack' );
strings_add( s, '136: ?Concoction: All Attributes' );
strings_add( s, '137: ?Status Fragments' );

-- Add items to listbox5..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 4 then -- Crystals
strings_add( s, '3000: Lesser Anomalous Crystal' );
strings_add( s, '3001: Lesser Anomalous Crystal' );
strings_add( s, '3002: Lesser Anomalous Crystal' );
strings_add( s, '3003: Lesser Anomalous Crystal' );
strings_add( s, '3004: Lesser Anomalous Crystal' );
strings_add( s, '3005: Lesser Anomalous Crystal' );
strings_add( s, '3006: Lesser Anomalous Crystal' );
strings_add( s, '3007: Lesser Anomalous Crystal' );
strings_add( s, '3008: Lesser Anomalous Crystal' );
strings_add( s, '3009: Lesser Anomalous Crystal' );
strings_add( s, '3010: Lesser Anomalous Crystal' );
strings_add( s, '3011: Lesser Anomalous Crystal' );
strings_add( s, '3012: Lesser Anomalous Crystal' );
strings_add( s, '3013: Lesser Anomalous Crystal' );
strings_add( s, '3014: Anomalous Crystal' );
strings_add( s, '3015: Anomalous Crystal' );
strings_add( s, '3016: Anomalous Crystal' );
strings_add( s, '3017: Anomalous Crystal' );
strings_add( s, '3018: Anomalous Crystal' );
strings_add( s, '3019: Anomalous Crystal' );
strings_add( s, '3020: Anomalous Crystal' );
strings_add( s, '3021: Anomalous Crystal' );
strings_add( s, '3022: Anomalous Crystal' );
strings_add( s, '3023: Anomalous Crystal' );
strings_add( s, '3024: Anomalous Crystal' );
strings_add( s, '3025: Anomalous Crystal' );
strings_add( s, '3026: Anomalous Crystal' );
strings_add( s, '3027: Anomalous Crystal' );
strings_add( s, '3028: Eclipse Fragment' );
strings_add( s, '3029: Eclipse Fragment' );
strings_add( s, '3030: Eclipse Fragment' );
strings_add( s, '3031: Eclipse Fragment' );
strings_add( s, '3032: Eclipse Fragment' );
strings_add( s, '3033: Unique Fragment' );
strings_add( s, '3034: Unique Fragment' );
strings_add( s, '3035: Unique Fragment' );
strings_add( s, '3036: Unique Fragment' );
strings_add( s, '3037: Eclipse Fragment' );
strings_add( s, '3038: Eclipse Fragment' );
strings_add( s, '3039: Eclipse Fragment' );
strings_add( s, '3040: Eclipse Fragment' );
strings_add( s, '3041: Unique Fragment' );
strings_add( s, '3042: Unique Fragment' );
strings_add( s, '3043: Eclipse Fragment' );
strings_add( s, '3044: Dual Brutality Fragment' );
strings_add( s, '3045: Bear Trap Fragment' );
strings_add( s, '3046: Caltrops Fragment' );
strings_add( s, '3047: Shield Slam Fragment' );
strings_add( s, '3048: Shield Bash Fragment' );
strings_add( s, '3049: Shield Reflect Fragment' );
strings_add( s, '3050: Flurry Fragment' );
strings_add( s, '3051: Piercing Shot Fragment' );
strings_add( s, '3052: Weak Spots Fragment' );
strings_add( s, '3053: Bladestorm Fragment' );
strings_add( s, '3054: Guillotine Fragment' );
strings_add( s, '3055: Expose Armor Fragment' );
strings_add( s, '3056: Reap Fragment' );
strings_add( s, '3057: Clone Charge Fragment' );
strings_add( s, '3058: Raise Dead Fragment' );
strings_add( s, '3059: Summon Elemental Fragment' );
strings_add( s, '3060: Unique Fragment' );
strings_add( s, '3061: Eclipse Fragment' );
strings_add( s, '3062: Bear Trap Fragment' );
strings_add( s, '3063: Guillotine Fragment' );
strings_add( s, '3064: Guillotine Fragment' );
strings_add( s, '3065: Eclipse Fragment' );
strings_add( s, '3066: Eclipse Fragment' );
strings_add( s, '3067: Bear Trap Fragment' );
strings_add( s, '3068: Bear Trap Fragment' );
strings_add( s, '3069: Bear Trap Fragment' );
strings_add( s, '3070: Guillotine Fragment' );
strings_add( s, '3071: Guillotine Fragment' );
strings_add( s, '3072: Guillotine Fragment' );
strings_add( s, '3073: Guillotine Fragment' );
strings_add( s, '3074: Guillotine Fragment' );
strings_add( s, '3075: Dual Brutality Fragment' );
strings_add( s, '3076: Greater Anomalous Crystal' );
strings_add( s, '3077: Greater Anomalous Crystal' );
strings_add( s, '3078: Greater Anomalous Crystal' );
strings_add( s, '3079: Greater Anomalous Crystal' );
strings_add( s, '3080: Eclipse Fragment' );
strings_add( s, '3082: Eclipse Fragment' );
strings_add( s, '3083: Eclipse Fragment' );
strings_add( s, '3084: Shield Bash Fragment' );
strings_add( s, '3085: Eclipse Fragment' );
strings_add( s, '3086: Eclipse Fragment' );
strings_add( s, '3087: Eclipse Fragment' );
strings_add( s, '3088: Eclipse Fragment' );
strings_add( s, '3089: Eclipse Fragment' );
strings_add( s, '3090: Eclipse Fragment' );
strings_add( s, '3091: Eclipse Fragment' );
strings_add( s, '3092: Eclipse Fragment' );
strings_add( s, '3093: Eclipse Fragment' );
strings_add( s, '3094: Eclipse Fragment' );
strings_add( s, '3095: Eclipse Fragment' );
strings_add( s, '3096: Eclipse Fragment' );
strings_add( s, '3097: Eclipse Fragment' );
strings_add( s, '3098: Eclipse Fragment' );
strings_add( s, '3099: Eclipse Fragment' );
strings_add( s, '3100: Eclipse Fragment' );
strings_add( s, '3101: Eclipse Fragment' );
strings_add( s, '3102: Unique Fragment' );
strings_add( s, '3103: Unique Fragment' );
strings_add( s, '3104: Unique Fragment' );
strings_add( s, '3105: Unique Fragment' );
strings_add( s, '3106: Unique Fragment' );
strings_add( s, '3107: Unique Fragment' );
strings_add( s, '3108: Unique Fragment' );
strings_add( s, '3109: Unique Fragment' );
strings_add( s, '3110: Unique Fragment' );
strings_add( s, '3111: Unique Fragment' );
strings_add( s, '3112: Shield Bash Fragment' );
strings_add( s, '3113: Unique Fragment' );
strings_add( s, '3114: Unique Fragment' );
strings_add( s, '3115: Unique Fragment' );
strings_add( s, '3116: Unique Fragment' );
strings_add( s, '3117: Unique Fragment' );
strings_add( s, '3118: Unique Fragment' );
strings_add( s, '3119: Guillotine Fragment' );
strings_add( s, '3120: Bladestorm Fragment' );
strings_add( s, '3121: Bladestorm Fragment' );
strings_add( s, '3122: Bladestorm Fragment' );
strings_add( s, '3123: Bladestorm Fragment' );
strings_add( s, '3124: Bladestorm Fragment' );
strings_add( s, '3125: Unique Fragment' );
strings_add( s, '3126: Unique Fragment' );
strings_add( s, '3127: Unique Fragment' );
strings_add( s, '3128: Unique Fragment' );
strings_add( s, '3129: Unique Fragment' );
strings_add( s, '3130: Unique Fragment' );
strings_add( s, '3131: Unique Fragment' );
strings_add( s, '3132: Bladestorm Fragment' );
strings_add( s, '3133: Bladestorm Fragment' );
strings_add( s, '3134: Bladestorm Fragment' );
strings_add( s, '3135: Bladestorm Fragment' );
strings_add( s, '3136: Bladestorm Fragment' );
strings_add( s, '3137: Bladestorm Fragment' );
strings_add( s, '3138: Bladestorm Fragment' );
strings_add( s, '3139: Bladestorm Fragment' );
strings_add( s, '3140: Bladestorm Fragment' );
strings_add( s, '3141: Bladestorm Fragment' );
strings_add( s, '3142: Bladestorm Fragment' );
strings_add( s, '3143: Bladestorm Fragment' );
strings_add( s, '3144: Bladestorm Fragment' );
strings_add( s, '3145: Bladestorm Fragment' );
strings_add( s, '3146: Bladestorm Fragment' );
strings_add( s, '3147: Bladestorm Fragment' );
strings_add( s, '3148: Bladestorm Fragment' );
strings_add( s, '3149: Bladestorm Fragment' );
strings_add( s, '3150: Guillotine Fragment' );
strings_add( s, '3151: Unique Fragment' );
strings_add( s, '3152: Unique Fragment' );
strings_add( s, '3153: Guillotine Fragment' );
strings_add( s, '3154: Bladestorm Fragment' );
strings_add( s, '3155: Lesser Anomalous Crystal' );
strings_add( s, '3156: Lesser Anomalous Crystal' );
strings_add( s, '3157: Lesser Anomalous Crystal' );
strings_add( s, '3158: Lesser Anomalous Crystal' );
strings_add( s, '3159: Lesser Anomalous Crystal' );
strings_add( s, '3160: Anomalous Crystal' );
strings_add( s, '3161: Anomalous Crystal' );
strings_add( s, '3162: Anomalous Crystal' );
strings_add( s, '3163: Unique Fragment' );
strings_add( s, '3164: Unique Fragment' );
strings_add( s, '3165: Unique Fragment' );

-- Add items to listbox6..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 5 then -- Helmets
strings_add( s, '4500: Regal Helmet' );
strings_add( s, '4501: Cloth Helmet' );
strings_add( s, '4502: Rags Goggles' );
strings_add( s, '4503: Goggles 2' );
strings_add( s, '4504: Hat' );
strings_add( s, '4505: Iron Helmet' );
strings_add( s, '4506: Japanese Helmet' );
strings_add( s, '4508: Old Ranger Helmet' );
strings_add( s, '4509: Regal Medium Helmet' );
strings_add( s, '4510: Tank Helmet' );
strings_add( s, '4511: Tank Helmet Set 1' );
strings_add( s, '4512: Warrior Helmet' );
strings_add( s, '4540: Sentinel Helmet' );
strings_add( s, '4545: Old Citadel Warrior Helmet' );
strings_add( s, '4553: Miner Helmet' );
strings_add( s, '4561: Light Hood' );
strings_add( s, '4562: Citadel Warrior Helmet' );
strings_add( s, '4568: Templar Helmet' );
strings_add( s, '4575: Contractor Helmet' );
strings_add( s, '4579: Old Technomancer Helmet' );
strings_add( s, '4584: Titan Slayer Helmet' );
strings_add( s, '4589: Technomancer Helmet' );
strings_add( s, '4593: Stalker`s Hood' );
strings_add( s, '4606: Byzantine Helmet' );
strings_add( s, '4607: Byzantine Helmet' );
strings_add( s, '4610: Zealot Helmet' );
strings_add( s, '4617: Rags Helmet' );
strings_add( s, '4619: Citadel Defender Helmet' );
strings_add( s, '4624: PlaguedMask' );
strings_add( s, '4625: PlaguedMask2' );
strings_add( s, '4626: Restless Helmet' );
strings_add( s, '4632: Ranger Helmet' );
strings_add( s, '4640: Ronin Helmet' );
strings_add( s, '4645: Spectre Helmet' );
strings_add( s, '4650: Bone Helmet' );
strings_add( s, '4655: Visage Respirator Helmet' );
strings_add( s, '4656: Crude Helmet' );
strings_add( s, '4660: Bone Helmet DEV' );
strings_add( s, '4667: Skullface Helmet' );
strings_add( s, '4668: Eris' );
strings_add( s, '4669: Techpriest Helmet' );
strings_add( s, '4672: Mechacenturion' );
strings_add( s, '4673: Desert Corp Helmet' );
strings_add( s, '4678: Deserts Respirator Helmet' );
strings_add( s, '4679: Elipse Helmet' );
strings_add( s, '4681: Titan Slayer Helmet Simless' );

-- Add items to listbox7..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 6 then -- Shoulderpads
strings_add( s, '4513: Regal Shoulders' );
strings_add( s, '4514: Japanese Pauldrons' );
strings_add( s, '4515: Regal Medium Pauldrons' );
strings_add( s, '4516: Tank Pauldrons' );
strings_add( s, '4517: Tank Pauldrons Set 1' );
strings_add( s, '4541: Imperial Shoulders' );
strings_add( s, '4546: Old Citadel Warrior Shoulders' );
strings_add( s, '4556: Rags Pauldrons' );
strings_add( s, '4563: Citadel Warrior Shoulders' );
strings_add( s, '4569: Templar Shoulders' );
strings_add( s, '4586: Titan Slayer Shoulders' );
strings_add( s, '4601: Fisherman Cannister' );
strings_add( s, '4614: Zealot Overcoat' );
strings_add( s, '4620: Citadel Defender Shoulders' );
strings_add( s, '4627: Restless Shoulders' );
strings_add( s, '4631: Plagued Shoulders' );
strings_add( s, '4636: Ranger Shoulders' );
strings_add( s, '4643: Ronin Shoulder' );
strings_add( s, '4648: Spectre Shoulders' );
strings_add( s, '4652: Bone Shoulders' );
strings_add( s, '4662: Bone Shoulders DEV' );
strings_add( s, '4675: Desert Corp Shoulders' );

-- Add items to listbox8..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 7 then -- Chestguards
strings_add( s, '4518: Cloth Armor Chest' );
strings_add( s, '4519: Regal Chestpiece' );
strings_add( s, '4520: Medium Cuirass' );
strings_add( s, '4521: Japanese Cuirass' );
strings_add( s, '4522: Regal Medium Cuirass' );
strings_add( s, '4523: Warrior Shirt' );
strings_add( s, '4524: Tank Cuirass' );
strings_add( s, '4525: Tank Cuirass Set 1' );
strings_add( s, '4542: Sentinel Chest' );
strings_add( s, '4547: Old Citadel Warrior Chest' );
strings_add( s, '4551: Miner Chest' );
strings_add( s, '4555: Rags Chest' );
strings_add( s, '4557: Light Cuirass' );
strings_add( s, '4564: Citadel Warrior Chest' );
strings_add( s, '4570: Templar Chestpiece' );
strings_add( s, '4573: Plagued Chestpiece' );
strings_add( s, '4576: Contractor Chestpiece' );
strings_add( s, '4580: Old Technomancer Chestpiece' );
strings_add( s, '4585: Titan Slayer Cuirass' );
strings_add( s, '4590: Technomancer Chestpiece' );
strings_add( s, '4594: Stalker`s Cuirass' );
strings_add( s, '4598: Citizen Shirt' );
strings_add( s, '4600: Fisherman Chestguard' );
strings_add( s, '4603: Byzantine Cuirass' );
strings_add( s, '4608: Citizen Shirt' );
strings_add( s, '4611: Zealot Chestpiece' );
strings_add( s, '4621: Citadel Defender Chest' );
strings_add( s, '4628: Restless Cuirass' );
strings_add( s, '4633: Ranger Chestguard' );
strings_add( s, '4637: Crusader Cuirass' );
strings_add( s, '4644: Ronin Cuirass' );
strings_add( s, '4649: Spectre Cuirass' );
strings_add( s, '4651: Bone Cuirass' );
strings_add( s, '4661: Bone Cuirass DEV' );
strings_add( s, '4674: Desert Corp Cuirass' );
strings_add( s, '4682: Titan Slayer Cuirass Simless' );
strings_add( s, '4683: Citadel Defender Chest' );
strings_add( s, '4684: Citadel Warrior Chest' );

-- Add items to listbox9..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 8 then -- Gloves
strings_add( s, '4526: Regal Gloves' );
strings_add( s, '4527: Gauntlets' );
strings_add( s, '4528: Medium Gloves' );
strings_add( s, '4529: Regal Medium Gauntlets' );
strings_add( s, '4530: Tank Gaunltet Set' );
strings_add( s, '4543: Sentinel Gauntlets' );
strings_add( s, '4548: Old Citadel Warrior Gauntlets' );
strings_add( s, '4554: Miner Gloves' );
strings_add( s, '4558: Light Gloves' );
strings_add( s, '4566: Citadel Warrior Gauntlets' );
strings_add( s, '4572: Templar Gloves' );
strings_add( s, '4578: Contractor Gloves' );
strings_add( s, '4582: Old Technomancer Gloves' );
strings_add( s, '4588: Titan Slayer Gloves' );
strings_add( s, '4592: Technomancer Gloves' );
strings_add( s, '4596: Stalker`s Gloves' );
strings_add( s, '4604: Byzantine Gauntlet' );
strings_add( s, '4613: Zealot Gloves' );
strings_add( s, '4615: Rags Gloves' );
strings_add( s, '4622: Citadel Defender Gauntlets' );
strings_add( s, '4629: Restless Gauntless' );
strings_add( s, '4635: Ranger Gloves' );
strings_add( s, '4639: Crusader Gloves' );
strings_add( s, '4642: Ronin Gauntlent' );
strings_add( s, '4647: Spectre Gauntlent' );
strings_add( s, '4654: Bone Gloves' );
strings_add( s, '4664: Bone Gloves DEV' );
strings_add( s, '4677: Desert Corp Gloves' );

-- Add items to listbox10..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 9 then -- Legguards
strings_add( s, '4531: Regal Legs' );
strings_add( s, '4532: Cloth Armor Pants' );
strings_add( s, '4533: Japanese Pants' );
strings_add( s, '4534: Medium Greaves' );
strings_add( s, '4535: Regal Medium Greaves' );
strings_add( s, '4536: Tank Greaves' );
strings_add( s, '4537: Warrior Greaves' );
strings_add( s, '4538: Tank Greaves Set 1' );
strings_add( s, '4544: Sentinel Legguard' );
strings_add( s, '4549: Old Citadel Warrior Legguards' );
strings_add( s, '4552: Miner Pants' );
strings_add( s, '4559: Light Greaves' );
strings_add( s, '4567: Citadel Warrior Legguards' );
strings_add( s, '4571: Templar Legs' );
strings_add( s, '4574: Plagued Pants' );
strings_add( s, '4577: Concractor Legs' );
strings_add( s, '4581: Old Technomancer Legs' );
strings_add( s, '4587: Titan Slayer Legs' );
strings_add( s, '4591: Technomancer Legs' );
strings_add( s, '4595: Stalker`s Pants' );
strings_add( s, '4599: Citizen Pants' );
strings_add( s, '4605: Byzantine Pants' );
strings_add( s, '4609: Citizen Pants' );
strings_add( s, '4612: Zealot Legs' );
strings_add( s, '4616: Rags Pants' );
strings_add( s, '4623: Citadel Defender Legguard' );
strings_add( s, '4630: Restless Legguard' );
strings_add( s, '4634: Ranger Pants' );
strings_add( s, '4638: Crusader Pants' );
strings_add( s, '4641: Ronin Pants' );
strings_add( s, '4646: Spectre Pants' );
strings_add( s, '4653: Bone Legs' );
strings_add( s, '4663: Bone Legs DEV' );
strings_add( s, '4676: Desert Corp Legs' );

-- Add items to listbox11..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 10 then -- Capes
strings_add( s, '5500: Wanderer Cape' );
strings_add( s, '5501: Warrior Cape' );
strings_add( s, '5507: Citizen Apron' );
strings_add( s, '5508: Fisherman Apron' );
strings_add( s, '5509: Oxygen Tank' );
strings_add( s, '5512: Traveler Cape' );
strings_add( s, '5515: Tattered Cape' );
strings_add( s, '5516: Spectre Scarf' );
strings_add( s, '5517: Sentinel Overcoat' );
strings_add( s, '5518: Fur Cape' );
strings_add( s, '5519: Folk Cape' );
strings_add( s, '5520: Techpriest Cape' );
strings_add( s, '5556: Ronin Scarf' );
strings_add( s, '5557: Agile Cape' );

-- Add items to listbox12..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 11 then -- Amulets
strings_add( s, '5503: Amulet of Speed' );
strings_add( s, '5511: Amulet of Wandering' );
strings_add( s, '5514: Amulet of Health' );
strings_add( s, '5521: Amulet of Flux Leech' );
strings_add( s, '5534: Amulet of Recovery' );
strings_add( s, '5535: Amulet of Arcane' );
strings_add( s, '5554: Amulet of Divine Might' );
strings_add( s, '5555: Amulet of Stability' );

-- Add items to listbox13..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 12 then -- Rings
strings_add( s, '5502: Ring of Stamina Regen' );
strings_add( s, '5504: Ring of Entropy' );
strings_add( s, '5505: Ring of Lacerate' );
strings_add( s, '5506: Ring of Decay' );
strings_add( s, '5510: Ring of Lesser Stamina' );
strings_add( s, '5513: Ring of Minor Lifesteal' );
strings_add( s, '5522: Ring of Entropy' );
strings_add( s, '5523: Ring of Lifesteal' );
strings_add( s, '5524: Ring of Gravitas' );
strings_add( s, '5525: Ring of Degravitas' );
strings_add( s, '5526: Ring of Burning Desire' );
strings_add( s, '5527: Ring of Silence' );
strings_add( s, '5528: Ring of Decay' );
strings_add( s, '5529: Ring of Blessed Hand' );
strings_add( s, '5530: Ring of Arcane' );
strings_add( s, '5531: Ring of Speed' );
strings_add( s, '5532: Ring of Power' );
strings_add( s, '5533: Ring of Casting Speed' );
strings_add( s, '5536: Ring of Minor Vitality' );
strings_add( s, '5537: Ring of Minor Potential' );
strings_add( s, '5538: Ring of Stamina' );
strings_add( s, '5539: Ring of Health' );
strings_add( s, '5540: Ring of Potential' );
strings_add( s, '5541: Ring of Exceeding Talent' );
strings_add( s, '5542: Ring of Talent' );
strings_add( s, '5543: Ring of Lesser Talent' );
strings_add( s, '5544: Ring of Brilliance' );
strings_add( s, '5545: Ring of Colossus' );
strings_add( s, '5546: Ring of Command' );
strings_add( s, '5547: Ring of Evasion' );
strings_add( s, '5548: Ring of Giant' );
strings_add( s, '5549: Ring of Gluttony' );
strings_add( s, '5550: Ring of Hawk' );
strings_add( s, '5551: Ring of Rammstein' );
strings_add( s, '5552: Ring of Serpent' );
strings_add( s, '5553: Ring of Travel' );

-- Add items to listbox14..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 13 then -- Onehanded Weapons
strings_add( s, '6500: Woodchopper' );
strings_add( s, '6501: Machinist`s Hammer' );
strings_add( s, '6502: lance' );
strings_add( s, '6503: Arming Sword' );
strings_add( s, '6509: Archinquivisitor Saber' );
strings_add( s, '6510: Torch' );
strings_add( s, '6511: Archinquivisitor Staff' );
strings_add( s, '6513: Tire Iron' );
strings_add( s, '6514: Basic Axe' );
strings_add( s, '6515: Archinquivitor Extended Staff' );
strings_add( s, '6516: Great Lance' );
strings_add( s, '6517: Julia`s Main Scimitar' );
strings_add( s, '6518: Citizen Axe' );
strings_add( s, '6519: Mrgud Hammer' );
strings_add( s, '6520: Julia`s Secondary Scimitar' );
strings_add( s, '6521: Ratagan Sabre' );
strings_add( s, '6526: Nemesis Axe' );
strings_add( s, '6527: Industrial Axe' );
strings_add( s, '6528: Iron Pipe' );
strings_add( s, '6529: Morning Star' );
strings_add( s, '6530: Industrial Mace' );
strings_add( s, '6531: Golem Arm' );
strings_add( s, '6532: Golem Arm' );
strings_add( s, '6533: Soul Breaker' );
strings_add( s, '6534: Paladin Mace' );
strings_add( s, '6535: Scimitar' );
strings_add( s, '6536: Weeper Hand' );
strings_add( s, '6537: Dreadguard Axe' );
strings_add( s, '6538: ArmingSword DEV' );
strings_add( s, '6539: Vermillion Sword' );
strings_add( s, '6540: LongSword' );

-- Add items to listbox15..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 14 then -- Twohanded Weapons
strings_add( s, '7500: Rusty Claymore' );
strings_add( s, '7503: LargeStaff' );
strings_add( s, '7504: Evolved Halberd' );
strings_add( s, '7505: Evolved Scythe' );
strings_add( s, '7508: Crescent Axe' );
strings_add( s, '7513: Evolved Spear' );
strings_add( s, '7514: Eviscerator' );
strings_add( s, '7517: Konrad Faussart' );
strings_add( s, '7518: Miner`s Pickaxe' );
strings_add( s, '7520: Inquisitor Staff' );
strings_add( s, '7522: Pilgrim Halberd' );
strings_add( s, '7523: Evolved Staff' );
strings_add( s, '7524: Faussart' );
strings_add( s, '7525: Plagued Twohand Axe' );
strings_add( s, '7527: Mechanomad Staff' );
strings_add( s, '7528: Deranged Scythe' );
strings_add( s, '7532: Plagued Evolved 2hAxe' );
strings_add( s, '7533: Pitchfork' );
strings_add( s, '7534: Miner`s Pickaxe Second' );
strings_add( s, '7536: Mechanical Tenderizer' );
strings_add( s, '7537: Robot Mechanical Tenderizer' );
strings_add( s, '7538: Robot Crescent Axe' );
strings_add( s, '7540: Mechanomad Staff Buffed' );
strings_add( s, '7541: Evolved Staff Buffed' );
strings_add( s, '7543: Royal Claymore' );
strings_add( s, '7545: Archaic Axe' );
strings_add( s, '7547: New 2h Hammer' );
strings_add( s, '7550: New Halberd' );
strings_add( s, '7551: Soul Reaper' );
strings_add( s, '7552: Vermillion Staff' );
strings_add( s, '7555: Deluge Trident' );
strings_add( s, '7556: Berserker Eviscerator' );
strings_add( s, '7558: Mechanomad Aberrant Staff' );
strings_add( s, '7559: Mechanical Tenderizer' );
strings_add( s, '7560: Vermillion Zweihander' );
strings_add( s, '7561: Vermillion Halberd' );
strings_add( s, '7563: Nodachi' );
strings_add( s, '7564: Solaris' );
strings_add( s, '7567: Blessed Crosier' );
strings_add( s, '7568: Claymore' );
strings_add( s, '7569: Evolved Spear Vermillion' );

-- Add items to listbox16..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 15 then -- Dual Wields
strings_add( s, '7509: Katanas' );
strings_add( s, '7510: Kamas' );
strings_add( s, '7511: Daggers' );
strings_add( s, '7512: Invokers Gauntlet' );
strings_add( s, '7526: Deranged Blades' );
strings_add( s, '7529: PlaguedDual1' );
strings_add( s, '7530: PlaguedDual2' );
strings_add( s, '7531: PlaguedDual3' );
strings_add( s, '7535: OsteoclastClaws' );
strings_add( s, '7542: Dual Daggers' );
strings_add( s, '7553: Lacerators' );
strings_add( s, '7554: New Dual Daggers' );
strings_add( s, '7557: Berserker Dual' );
strings_add( s, '7562: Khopeshs' );
strings_add( s, '7566: New Duel Blades' );

-- Add items to listbox16..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 17 then -- Twinblades
strings_add( s, '7501: TwinBlade' );
strings_add( s, '7549: Chronoblade' );

-- Add items to listbox17..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 18 then -- Greatweapons
strings_add( s, '7502: GreatHammer' );
strings_add( s, '7506: Titan Slayer Greatsword' );
strings_add( s, '7507: Mechanomad Greataxe' );
strings_add( s, '7515: Aberrant Solaris' );
strings_add( s, '7516: Nurgei Nodachi' );
strings_add( s, '7519: MrgudHammer' );
strings_add( s, '7521: Nemesis GreatAxe' );
strings_add( s, '7539: Armor Buster' );
strings_add( s, '7544: Divine Greataxe' );
strings_add( s, '7546: New GreatAxe-Remove' );
strings_add( s, '7548: Archangelos' );
strings_add( s, '7565: Aberrant Solaris' );

-- Add items to listbox18..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 19 then -- Ranged Weapons
strings_add( s, '8500: Longbow' );
strings_add( s, '8501: CrossBow' );
strings_add( s, '8502: Winged Bow' );
strings_add( s, '8503: Arcane Bow' );
strings_add( s, '8504: Bow DEV' );
strings_add( s, '8505: Vermillion Bow' );
strings_add( s, '8506: Taskmaster' );

-- Add items to listbox19..
local s = listbox_getItems( lb );
  elseif rg.ItemIndex == 20 then -- Shields
strings_add( s, '4539: Flat Shield' );
strings_add( s, '4550: Dreadguard Tower Shield' );
strings_add( s, '4560: Old Kite Shield' );
strings_add( s, '4565: ?Heavy Lancer Shield' );
strings_add( s, '4583: TowerShield' );
strings_add( s, '4597: Kite Shield' );
strings_add( s, '4602: ?Saracen Shield' );
strings_add( s, '4618: Military Shield' );
strings_add( s, '4657: Hopelite Shield' );
strings_add( s, '4658: Tall Military Shield' );
strings_add( s, '4659: Saracen Shield' );
strings_add( s, '4665: Military Shield DEV' );
strings_add( s, '4666: Vermillion Shield' );
strings_add( s, '4670: Tech Shield' );
strings_add( s, '4671: Imperial Shield' );
strings_add( s, '4680: Wooden Shield' );

  end
end

rg.OnClick = updateListBox -- call updateListBox function whenever a radio button is clicked

 
 
[DISABLE]
//code from here till the end of the code will be used to disable the cheat

{$asm}
As far as I'm aware, you can't change the colour of the RadioGroup text, even with a custom font.

Try this:

Code: Select all

[ENABLE]
{$LUA}
if syntaxcheck then return end
if f then f.destroy(); f = nil end

local categories = {
'Usables',
'Crafting Materials',
'?Quest Items',
'Others',
'Crystals',
'Helmets',
'Shoulderpads',
'Chestguards',
'Gloves',
'Legguards',
'Capes',
'Amulets',
'Rings',
'Onehanded Weapons',
'Twohanded Weapons',
'Dual Wields',
'Twinblades',
'Greatweapons',
'Ranged Weapons',
'Shields',
}

local items = {
-- Usables
[1] = {
'1:   Lesser Ionization Fluid',
'2:   Lesser Restorative Fluid',
'3:   Stoneshield Concoction',
'12:  Spongeskin Concoction',
'13:  Entropy Grenade',
'14:  Cryo Grenade',
'15:  Glowbug',
'16:  ?Ghost Repellent',
'17:  ?Ghost Exterminator',
'18:  Mobile Respawn Point',
'19:  ?Capacity Upgrade',
'20:  ?Capacity Upgrade',
'32:  Restorative Fluid',
'39:  Ionization Fluid',
'40:  Greater Ionization Fluid',
'41:  Greater Restorative Fluid',
'58:  ?Cluster Grenade',
'59:  ?Electromagnetism Grenade',
'60:  ?Chaos Grenade',
'61:  ?Decay Grenade',
'76:  Beacon: Entropy',
'77:  Beacon: Chaos',
'78:  Beacon: Decay',
'79:  Beacon: Electromagnetism',
'81:  Fluxshield Concoction',
'82:  Indestructible Concoction',
'84:  Jaeger`s Concoction',
'85:  Greater Jaeger`s Concoction',
'86:  Dreadguard`s Concoction',
'87:  Greater Dreadguard`s Concoction',
'88:  Technomancer`s Concoction',
'89:  Greater Technomancer`s Concoction',
'90:  Forsaken Concoction',
'91:  Greater Forsaken Concoction',
'114: Concoction: Health Regen',
'115: Concoction: Flux Regen',
'116: Concoction: Stamina Regen',
'117: Concoction: Mighty Regen',
'118: Concoction: Aberrants Blood',
'119: Concoction: Zealots Tears',
'120: Concoction: Berserkers Tenacity',
'121: Concoction: Powerful Immune System',
'122: Concoction: Strength',
'123: Concoction: Agility',
'124: Concoction: Constitution',
'125: Concoction: Intellect',
'126: Concoction: All Attributes',
'127: Divers Lungs Concoction',
'138: Relocating Device',
},

-- Crafting Materials
[2] = {
'4:   Metal Arrows',
'5:   Broken Arrow',
'6:   Crimson Echinacea',
'7:   Gingko Leaves',
'8:   Fleshfruit',
'9:   Metal Scrap',
'10:  Sludge',
'11:  Tainted Sludge',
'26:  Sharp Molar',
'27:  Flesh',
'28:  Intestinal Parasite',
'29:  Organic Material',
'30:  Bone Marrow',
'31:  Essence',
'33:  Piercing Arrow',
'34:  Exoplosive Arrow',
'35:  Shock Arrow',
'36:  Sound Arrow',
'50:  Oil',
'51:  Clockwork Gear',
'52:  Tainted Liver',
'62:  Alkahest',
'63:  Rotten Flesh',
'64:  Coagulated Blood',
'65:  Horn Silver',
'66:  Vitriol',
'69:  Metal Alloy',
'70:  Beryllium Copper',
'100: Nervous System',
'101: Mutated Tongue',
'102: Ingested Food',
'103: Bone Shard',
'104: Distorted Bone',
'105: Dacaying Organ',
'106: Prayer Spice',
'107: Prayer Feather',
'108: Flux Residue',
'129: Vermilion Mercury',
'130: Ectoplasm',
},

-- ?Quest Items
[3] = {
'21:  ?Rusty Key',
'22:  Upgrade Splinter',
'23:  Upgrade Module',
'24:  Handler Echo',
'25:  ?-1',
'37:  Ability Splinter',
'38:  Perk Essence',
'42:  Unstable Perk Essence',
'43:  Unstable Perk Essence',
'44:  Unstable Perk Essence',
'45:  Unstable Perk Essence',
'46:  Unstable Perk Essence',
'47:  Unstable Perk Essence',
'48:  Unstable Perk Essence',
'49:  Unstable Perk Essence',
'109: Handler Echo',
'110: Handler Echo',
'111: Handler Echo',
'112: Homunculus Mirage Case',
'113: Homunculus Mirage',
'139: Handler Echo',
'140: Pages',
'141: Pages',
'142: Pages',
'143: Pages',
'144: Pages',
'145: Pages',
'146: Pages',
'147: Pages',
'148: Pages',
'149: Pages',
'150: Pages',
'151: ?Pages',
'152: Pages',
'153: Pages',
'154: Pages',
'155: Pages',
'156: Pages',
'157: Pages',
'158: Pages',
'159: Pages',
},

-- Others
[4] = {
'53:  ?Cluster Grenade',
'54:  ?Entropy Grenade',
'55:  ?Electromagnetism Grenade',
'56:  ?Chaos Grenade',
'57:  ?Decay Grenade',
'67:  ?Medium Restorative Pack',
'68:  ?Advanced Restorative Pack',
'71:  ?Stats Fragments',
'72:  ?Resistance Fragments',
'73:  ?Piercing Arrows',
'74:  ?Shock Arrows',
'75:  ?Dash,Power Armor,Vortex',
'80:  ?Resistance Concoctions Pack',
'83:  ?Indestructible Concoction',
'92:  ?Penetration Concoctions Pack',
'93:  ?Greater Penetration Concoctions Pack',
'94:  ?Forsaken Concoction',
'95:  ?Forsaken Concoction',
'96:  ?Beacon: Entropy',
'97:  ?Beacon: Chaos',
'98:  ?Beacon: Decay',
'99:  ?Beacon: Electromagnetism',
'128: ?Glowbug',
'131: ?Regeneration Concoctions Pack',
'132: ?Concoction: Mighty Regen',
'133: ?Stats Concoctions Pack',
'134: ?Concoction: Powerful Immune System',
'135: ?Attribute Concoctions Pack',
'136: ?Concoction: All Attributes',
'137: ?Status Fragments',
},

-- Crystals
[5] = {
'3000: Lesser Anomalous Crystal',
'3001: Lesser Anomalous Crystal',
'3002: Lesser Anomalous Crystal',
'3003: Lesser Anomalous Crystal',
'3004: Lesser Anomalous Crystal',
'3005: Lesser Anomalous Crystal',
'3006: Lesser Anomalous Crystal',
'3007: Lesser Anomalous Crystal',
'3008: Lesser Anomalous Crystal',
'3009: Lesser Anomalous Crystal',
'3010: Lesser Anomalous Crystal',
'3011: Lesser Anomalous Crystal',
'3012: Lesser Anomalous Crystal',
'3013: Lesser Anomalous Crystal',
'3014: Anomalous Crystal',
'3015: Anomalous Crystal',
'3016: Anomalous Crystal',
'3017: Anomalous Crystal',
'3018: Anomalous Crystal',
'3019: Anomalous Crystal',
'3020: Anomalous Crystal',
'3021: Anomalous Crystal',
'3022: Anomalous Crystal',
'3023: Anomalous Crystal',
'3024: Anomalous Crystal',
'3025: Anomalous Crystal',
'3026: Anomalous Crystal',
'3027: Anomalous Crystal',
'3028: Eclipse Fragment',
'3029: Eclipse Fragment',
'3030: Eclipse Fragment',
'3031: Eclipse Fragment',
'3032: Eclipse Fragment',
'3033: Unique Fragment',
'3034: Unique Fragment',
'3035: Unique Fragment',
'3036: Unique Fragment',
'3037: Eclipse Fragment',
'3038: Eclipse Fragment',
'3039: Eclipse Fragment',
'3040: Eclipse Fragment',
'3041: Unique Fragment',
'3042: Unique Fragment',
'3043: Eclipse Fragment',
'3044: Dual Brutality Fragment',
'3045: Bear Trap Fragment',
'3046: Caltrops Fragment',
'3047: Shield Slam Fragment',
'3048: Shield Bash Fragment',
'3049: Shield Reflect Fragment',
'3050: Flurry Fragment',
'3051: Piercing Shot Fragment',
'3052: Weak Spots Fragment',
'3053: Bladestorm Fragment',
'3054: Guillotine Fragment',
'3055: Expose Armor Fragment',
'3056: Reap Fragment',
'3057: Clone Charge Fragment',
'3058: Raise Dead Fragment',
'3059: Summon Elemental Fragment',
'3060: Unique Fragment',
'3061: Eclipse Fragment',
'3062: Bear Trap Fragment',
'3063: Guillotine Fragment',
'3064: Guillotine Fragment',
'3065: Eclipse Fragment',
'3066: Eclipse Fragment',
'3067: Bear Trap Fragment',
'3068: Bear Trap Fragment',
'3069: Bear Trap Fragment',
'3070: Guillotine Fragment',
'3071: Guillotine Fragment',
'3072: Guillotine Fragment',
'3073: Guillotine Fragment',
'3074: Guillotine Fragment',
'3075: Dual Brutality Fragment',
'3076: Greater Anomalous Crystal',
'3077: Greater Anomalous Crystal',
'3078: Greater Anomalous Crystal',
'3079: Greater Anomalous Crystal',
'3080: Eclipse Fragment',
'3082: Eclipse Fragment',
'3083: Eclipse Fragment',
'3084: Shield Bash Fragment',
'3085: Eclipse Fragment',
'3086: Eclipse Fragment',
'3087: Eclipse Fragment',
'3088: Eclipse Fragment',
'3089: Eclipse Fragment',
'3090: Eclipse Fragment',
'3091: Eclipse Fragment',
'3092: Eclipse Fragment',
'3093: Eclipse Fragment',
'3094: Eclipse Fragment',
'3095: Eclipse Fragment',
'3096: Eclipse Fragment',
'3097: Eclipse Fragment',
'3098: Eclipse Fragment',
'3099: Eclipse Fragment',
'3100: Eclipse Fragment',
'3101: Eclipse Fragment',
'3102: Unique Fragment',
'3103: Unique Fragment',
'3104: Unique Fragment',
'3105: Unique Fragment',
'3106: Unique Fragment',
'3107: Unique Fragment',
'3108: Unique Fragment',
'3109: Unique Fragment',
'3110: Unique Fragment',
'3111: Unique Fragment',
'3112: Shield Bash Fragment',
'3113: Unique Fragment',
'3114: Unique Fragment',
'3115: Unique Fragment',
'3116: Unique Fragment',
'3117: Unique Fragment',
'3118: Unique Fragment',
'3119: Guillotine Fragment',
'3120: Bladestorm Fragment',
'3121: Bladestorm Fragment',
'3122: Bladestorm Fragment',
'3123: Bladestorm Fragment',
'3124: Bladestorm Fragment',
'3125: Unique Fragment',
'3126: Unique Fragment',
'3127: Unique Fragment',
'3128: Unique Fragment',
'3129: Unique Fragment',
'3130: Unique Fragment',
'3131: Unique Fragment',
'3132: Bladestorm Fragment',
'3133: Bladestorm Fragment',
'3134: Bladestorm Fragment',
'3135: Bladestorm Fragment',
'3136: Bladestorm Fragment',
'3137: Bladestorm Fragment',
'3138: Bladestorm Fragment',
'3139: Bladestorm Fragment',
'3140: Bladestorm Fragment',
'3141: Bladestorm Fragment',
'3142: Bladestorm Fragment',
'3143: Bladestorm Fragment',
'3144: Bladestorm Fragment',
'3145: Bladestorm Fragment',
'3146: Bladestorm Fragment',
'3147: Bladestorm Fragment',
'3148: Bladestorm Fragment',
'3149: Bladestorm Fragment',
'3150: Guillotine Fragment',
'3151: Unique Fragment',
'3152: Unique Fragment',
'3153: Guillotine Fragment',
'3154: Bladestorm Fragment',
'3155: Lesser Anomalous Crystal',
'3156: Lesser Anomalous Crystal',
'3157: Lesser Anomalous Crystal',
'3158: Lesser Anomalous Crystal',
'3159: Lesser Anomalous Crystal',
'3160: Anomalous Crystal',
'3161: Anomalous Crystal',
'3162: Anomalous Crystal',
'3163: Unique Fragment',
'3164: Unique Fragment',
'3165: Unique Fragment',
},

-- Helmets
[6] = {
'4500: Regal Helmet',
'4501: Cloth Helmet',
'4502: Rags Goggles',
'4503: Goggles 2',
'4504: Hat',
'4505: Iron Helmet',
'4506: Japanese Helmet',
'4508: Old Ranger Helmet',
'4509: Regal Medium Helmet',
'4510: Tank Helmet',
'4511: Tank Helmet Set 1',
'4512: Warrior Helmet',
'4540: Sentinel Helmet',
'4545: Old Citadel Warrior Helmet',
'4553: Miner Helmet',
'4561: Light Hood',
'4562: Citadel Warrior Helmet',
'4568: Templar Helmet',
'4575: Contractor Helmet',
'4579: Old Technomancer Helmet',
'4584: Titan Slayer Helmet',
'4589: Technomancer Helmet',
'4593: Stalker`s Hood',
'4606: Byzantine Helmet',
'4607: Byzantine Helmet',
'4610: Zealot Helmet',
'4617: Rags Helmet',
'4619: Citadel Defender Helmet',
'4624: PlaguedMask',
'4625: PlaguedMask2',
'4626: Restless Helmet',
'4632: Ranger Helmet',
'4640: Ronin Helmet',
'4645: Spectre Helmet',
'4650: Bone Helmet',
'4655: Visage Respirator Helmet',
'4656: Crude Helmet',
'4660: Bone Helmet DEV',
'4667: Skullface Helmet',
'4668: Eris',
'4669: Techpriest Helmet',
'4672: Mechacenturion',
'4673: Desert Corp Helmet',
'4678: Deserts Respirator Helmet',
'4679: Elipse Helmet',
'4681: Titan Slayer Helmet Simless',
},

-- Shoulderpads
[7] = {
'4513: Regal Shoulders',
'4514: Japanese Pauldrons',
'4515: Regal Medium Pauldrons',
'4516: Tank Pauldrons',
'4517: Tank Pauldrons Set 1',
'4541: Imperial Shoulders',
'4546: Old Citadel Warrior Shoulders',
'4556: Rags Pauldrons',
'4563: Citadel Warrior Shoulders',
'4569: Templar Shoulders',
'4586: Titan Slayer Shoulders',
'4601: Fisherman Cannister',
'4614: Zealot Overcoat',
'4620: Citadel Defender Shoulders',
'4627: Restless Shoulders',
'4631: Plagued Shoulders',
'4636: Ranger Shoulders',
'4643: Ronin Shoulder',
'4648: Spectre Shoulders',
'4652: Bone Shoulders',
'4662: Bone Shoulders DEV',
'4675: Desert Corp Shoulders',
},

-- Chestguards
[8] = {
'4518: Cloth Armor Chest',
'4519: Regal Chestpiece',
'4520: Medium Cuirass',
'4521: Japanese Cuirass',
'4522: Regal Medium Cuirass',
'4523: Warrior Shirt',
'4524: Tank Cuirass',
'4525: Tank Cuirass Set 1',
'4542: Sentinel Chest',
'4547: Old Citadel Warrior Chest',
'4551: Miner Chest',
'4555: Rags Chest',
'4557: Light Cuirass',
'4564: Citadel Warrior Chest',
'4570: Templar Chestpiece',
'4573: Plagued Chestpiece',
'4576: Contractor Chestpiece',
'4580: Old Technomancer Chestpiece',
'4585: Titan Slayer Cuirass',
'4590: Technomancer Chestpiece',
'4594: Stalker`s Cuirass',
'4598: Citizen Shirt',
'4600: Fisherman Chestguard',
'4603: Byzantine Cuirass',
'4608: Citizen Shirt',
'4611: Zealot Chestpiece',
'4621: Citadel Defender Chest',
'4628: Restless Cuirass',
'4633: Ranger Chestguard',
'4637: Crusader Cuirass',
'4644: Ronin Cuirass',
'4649: Spectre Cuirass',
'4651: Bone Cuirass',
'4661: Bone Cuirass DEV',
'4674: Desert Corp Cuirass',
'4682: Titan Slayer Cuirass Simless',
'4683: Citadel Defender Chest',
'4684: Citadel Warrior Chest',
},

-- Gloves
[9] = {
'4526: Regal Gloves',
'4527: Gauntlets',
'4528: Medium Gloves',
'4529: Regal Medium Gauntlets',
'4530: Tank Gaunltet Set',
'4543: Sentinel Gauntlets',
'4548: Old Citadel Warrior Gauntlets',
'4554: Miner Gloves',
'4558: Light Gloves',
'4566: Citadel Warrior Gauntlets',
'4572: Templar Gloves',
'4578: Contractor Gloves',
'4582: Old Technomancer Gloves',
'4588: Titan Slayer Gloves',
'4592: Technomancer Gloves',
'4596: Stalker`s Gloves',
'4604: Byzantine Gauntlet',
'4613: Zealot Gloves',
'4615: Rags Gloves',
'4622: Citadel Defender Gauntlets',
'4629: Restless Gauntless',
'4635: Ranger Gloves',
'4639: Crusader Gloves',
'4642: Ronin Gauntlent',
'4647: Spectre Gauntlent',
'4654: Bone Gloves',
'4664: Bone Gloves DEV',
'4677: Desert Corp Gloves',
},

-- Legguards
[10] = {
'4531: Regal Legs',
'4532: Cloth Armor Pants',
'4533: Japanese Pants',
'4534: Medium Greaves',
'4535: Regal Medium Greaves',
'4536: Tank Greaves',
'4537: Warrior Greaves',
'4538: Tank Greaves Set 1',
'4544: Sentinel Legguard',
'4549: Old Citadel Warrior Legguards',
'4552: Miner Pants',
'4559: Light Greaves',
'4567: Citadel Warrior Legguards',
'4571: Templar Legs',
'4574: Plagued Pants',
'4577: Concractor Legs',
'4581: Old Technomancer Legs',
'4587: Titan Slayer Legs',
'4591: Technomancer Legs',
'4595: Stalker`s Pants',
'4599: Citizen Pants',
'4605: Byzantine Pants',
'4609: Citizen Pants',
'4612: Zealot Legs',
'4616: Rags Pants',
'4623: Citadel Defender Legguard',
'4630: Restless Legguard',
'4634: Ranger Pants',
'4638: Crusader Pants',
'4641: Ronin Pants',
'4646: Spectre Pants',
'4653: Bone Legs',
'4663: Bone Legs DEV',
'4676: Desert Corp Legs',
},

-- Capes
[11] = {
'5500: Wanderer Cape',
'5501: Warrior Cape',
'5507: Citizen Apron',
'5508: Fisherman Apron',
'5509: Oxygen Tank',
'5512: Traveler Cape',
'5515: Tattered Cape',
'5516: Spectre Scarf',
'5517: Sentinel Overcoat',
'5518: Fur Cape',
'5519: Folk Cape',
'5520: Techpriest Cape',
'5556: Ronin Scarf',
'5557: Agile Cape',
},

-- Amulets
[12] = {
'5503: Amulet of Speed',
'5511: Amulet of Wandering',
'5514: Amulet of Health',
'5521: Amulet of Flux Leech',
'5534: Amulet of Recovery',
'5535: Amulet of Arcane',
'5554: Amulet of Divine Might',
'5555: Amulet of Stability',
},

-- Rings
[13] = {
'5502: Ring of Stamina Regen',
'5504: Ring of Entropy',
'5505: Ring of Lacerate',
'5506: Ring of Decay',
'5510: Ring of Lesser Stamina',
'5513: Ring of Minor Lifesteal',
'5522: Ring of Entropy',
'5523: Ring of Lifesteal',
'5524: Ring of Gravitas',
'5525: Ring of Degravitas',
'5526: Ring of Burning Desire',
'5527: Ring of Silence',
'5528: Ring of Decay',
'5529: Ring of Blessed Hand',
'5530: Ring of Arcane',
'5531: Ring of Speed',
'5532: Ring of Power',
'5533: Ring of Casting Speed',
'5536: Ring of Minor Vitality',
'5537: Ring of Minor Potential',
'5538: Ring of Stamina',
'5539: Ring of Health',
'5540: Ring of Potential',
'5541: Ring of Exceeding Talent',
'5542: Ring of Talent',
'5543: Ring of Lesser Talent',
'5544: Ring of Brilliance',
'5545: Ring of Colossus',
'5546: Ring of Command',
'5547: Ring of Evasion',
'5548: Ring of Giant',
'5549: Ring of Gluttony',
'5550: Ring of Hawk',
'5551: Ring of Rammstein',
'5552: Ring of Serpent',
'5553: Ring of Travel',
},

-- Onehanded Weapons
[14] = {
'6500: Woodchopper',
'6501: Machinist`s Hammer',
'6502: lance',
'6503: Arming Sword',
'6509: Archinquivisitor Saber',
'6510: Torch',
'6511: Archinquivisitor Staff',
'6513: Tire Iron',
'6514: Basic Axe',
'6515: Archinquivitor Extended Staff',
'6516: Great Lance',
'6517: Julia`s Main Scimitar',
'6518: Citizen Axe',
'6519: Mrgud Hammer',
'6520: Julia`s Secondary Scimitar',
'6521: Ratagan Sabre',
'6526: Nemesis Axe',
'6527: Industrial Axe',
'6528: Iron Pipe',
'6529: Morning Star',
'6530: Industrial Mace',
'6531: Golem Arm',
'6532: Golem Arm',
'6533: Soul Breaker',
'6534: Paladin Mace',
'6535: Scimitar',
'6536: Weeper Hand',
'6537: Dreadguard Axe',
'6538: ArmingSword DEV',
'6539: Vermillion Sword',
'6540: LongSword',
},

-- Twohanded Weapons
[15] = {
'7500: Rusty Claymore',
'7503: LargeStaff',
'7504: Evolved Halberd',
'7505: Evolved Scythe',
'7508: Crescent Axe',
'7513: Evolved Spear',
'7514: Eviscerator',
'7517: Konrad Faussart',
'7518: Miner`s Pickaxe',
'7520: Inquisitor Staff',
'7522: Pilgrim Halberd',
'7523: Evolved Staff',
'7524: Faussart',
'7525: Plagued Twohand Axe',
'7527: Mechanomad Staff',
'7528: Deranged Scythe',
'7532: Plagued Evolved 2hAxe',
'7533: Pitchfork',
'7534: Miner`s Pickaxe Second',
'7536: Mechanical Tenderizer',
'7537: Robot Mechanical Tenderizer',
'7538: Robot Crescent Axe',
'7540: Mechanomad Staff Buffed',
'7541: Evolved Staff Buffed',
'7543: Royal Claymore',
'7545: Archaic Axe',
'7547: New 2h Hammer',
'7550: New Halberd',
'7551: Soul Reaper',
'7552: Vermillion Staff',
'7555: Deluge Trident',
'7556: Berserker Eviscerator',
'7558: Mechanomad Aberrant Staff',
'7559: Mechanical Tenderizer',
'7560: Vermillion Zweihander',
'7561: Vermillion Halberd',
'7563: Nodachi',
'7564: Solaris',
'7567: Blessed Crosier',
'7568: Claymore',
'7569: Evolved Spear Vermillion',
},

-- Dual Wields
[16] = {
'7509: Katanas',
'7510: Kamas',
'7511: Daggers',
'7512: Invokers Gauntlet',
'7526: Deranged Blades',
'7529: PlaguedDual1',
'7530: PlaguedDual2',
'7531: PlaguedDual3',
'7535: OsteoclastClaws',
'7542: Dual Daggers',
'7553: Lacerators',
'7554: New Dual Daggers',
'7557: Berserker Dual',
'7562: Khopeshs',
'7566: New Duel Blades',
},

-- Twinblades
[17] = {
'7501: TwinBlade',
'7549: Chronoblade',
},

-- Greatweapons
[18] = {
'7502: GreatHammer',
'7506: Titan Slayer Greatsword',
'7507: Mechanomad Greataxe',
'7515: Aberrant Solaris',
'7516: Nurgei Nodachi',
'7519: MrgudHammer',
'7521: Nemesis GreatAxe',
'7539: Armor Buster',
'7544: Divine Greataxe',
'7546: New GreatAxe-Remove',
'7548: Archangelos',
'7565: Aberrant Solaris',
},

-- Ranged Weapons
[19] = {
'8500: Longbow',
'8501: CrossBow',
'8502: Winged Bow',
'8503: Arcane Bow',
'8504: Bow DEV',
'8505: Vermillion Bow',
'8506: Taskmaster',
},

-- Shields
[20] = {
'4539: Flat Shield',
'4550: Dreadguard Tower Shield',
'4560: Old Kite Shield',
'4565: ?Heavy Lancer Shield',
'4583: TowerShield',
'4597: Kite Shield',
'4602: ?Saracen Shield',
'4618: Military Shield',
'4657: Hopelite Shield',
'4658: Tall Military Shield',
'4659: Saracen Shield',
'4665: Military Shield DEV',
'4666: Vermillion Shield',
'4670: Tech Shield',
'4671: Imperial Shield',
'4680: Wooden Shield',
},
-- End 2D Array
}

local function getTableData(t)
      -- If the table passed to the function is nil then return nil
      if t == nil then return nil end
      local sl = createStringList()
        -- Loop through the input  table
        for i in pairs(t) do
         -- Add each item in the table to the StringList
         sl.Add(t[i])
        end
      return sl
      end

-- Credits: FreeBirdLjj of Github for this function
local function switch(value)
  return function(cases)
    local f = cases[value]
    if (f) then
      f()
    end
  end
end

local f = createForm(getMainForm())
f.Name = 'frmMain'
f.Caption = 'Select Items'
f.Width = 800
f.Height = 400
f.Position = 'poDesktopCenter'
f.OnClose = function()
              -- Disable the script entry in Cheat Engine should we close the Item Selector form
              -- NOTE: Item Selector is the decsription of the script entry within the cheat table.
              -- change it to whatever matches your script name.
              AddressList.getMemoryRecordByDescription('Item Selector').Active = false
              f.destroy()
            end

local fd = createFont(f)
fd.Name = 'Courier New'
fd.Size = 10
fd.Color = 0x0000FF
fd.Quality = 'fqAntiAlias'


local lb = createListBox(f)
lb.Width = 400
lb.Height = 400
lb.Left = f.Width - lb.width
lb.Top = 0
lb.Color = 0xE4E4E4
lb.Font = fd
lb.OnDblClick = function()
                 -- Use pattern matching to find the numbers within the text
                 -- We grab the item based on the selected index in the list since ListBox items are an array of strings
                 local id = (lb.Items[lb.ItemIndex]):match('(%d+):')
                 -- Use pattern matching to find the text after the colon
                 local item = (lb.Items[lb.ItemIndex]):match('%:(.*)')
                 -- Remove/comment the below line to prevent printing to console
                 print('Selected Item ID:\t' .. id .. '\nSelected Item Name:\t' .. item)
                 -- Uncomment the line below to make it so that it copies the ID of the item to the clipboard
                 --writeToClipboard(id)
                end

local rg = createRadioGroup(f)
rg.Align = 'alLeft'
rg.Width = (f.Width / 2) - 3
rg.Columns = 2
rg.Height = 400
rg.Left = 0
rg.Top =0
rg.Caption = 'Select...'
rg.Font = fd
rg.OnClick = function()
              -- Lua tables are index based from 1, ListBoxes are index based from 0
              -- So we add 1 to the index to retrieve the correct item in the table array
              local idx = rg.ItemIndex + 1

              switch(idx) {
                -- Return the data based on the index of the selected item
                [idx] = function()
                      lb.Items = getTableData(items[idx])
                end,
              }
             end

-- A hacky workaround for updating the radiogroup since Lua is linearly executed
local t = createTimer(f)
t.Interval = 50
t.OnTimer = function()
            rg.Items = getTableData(categories)
            t.destroy()
            end
{$ASM}
[DISABLE]
{$LUA}
if syntaxcheck then return end
if f then f.destroy(); f = nil end


I have made some improvements and added functionality so that you can copy the ID to the clipboard. I have commented the lines so you can learn from it also.

Just so you know for future reference. You can change the name of the form that displays by setting its caption property:

Code: Select all

local form = createForm()
form.Caption = 'My Title'
If you have any questions feel free to ask.
Oooo, very big thanks to U. I try it 😁

User avatar
patka
Table Makers
Table Makers
Posts: 224
Joined: Sun Jul 05, 2020 11:09 am
Reputation: 245

Re: I need some help! (Lua form and function)

Post by patka »

One question:

If i close the pop-up windows, the console with an error message:
Error:[string "local syntaxcheck,memrec=...
..."]:817: attempt to index a nil value

What does that mean?

ps: I deleted this lines, and the error is gone:

Code: Select all

f.OnClose = function()
              -- Disable the script entry in Cheat Engine should we close the Item Selector form
              -- NOTE: Item Selector is the decsription of the script entry within the cheat table.
              -- change it to whatever matches your script name.
              AddressList.getMemoryRecordByDescription('Item Selector').Active = false
              f.destroy()
            end

User avatar
LeFiXER
LeFixer
LeFixer
Posts: 482
Joined: Wed Mar 24, 2021 9:35 am
Reputation: 243

Re: I need some help! (Lua form and function)

Post by LeFiXER »

patka wrote:
Tue Apr 18, 2023 8:07 am
One question:

If i close the pop-up windows, the console with an error message:
Error:[string "local syntaxcheck,memrec=...
..."]:817: attempt to index a nil value

What does that mean?

ps: I deleted this lines, and the error is gone:

Code: Select all

f.OnClose = function()
              -- Disable the script entry in Cheat Engine should we close the Item Selector form
              -- NOTE: Item Selector is the decsription of the script entry within the cheat table.
              -- change it to whatever matches your script name.
              AddressList.getMemoryRecordByDescription('Item Selector').Active = false
              f.destroy()
            end
It's because this is part of the script and you didn't change the name of the entry used within the table (Item Selector).

Code: Select all

AddressList.getMemoryRecordByDescription('Item Selector').Active = false
Change the words 'Item Selector' to match that of your own script description.

User avatar
patka
Table Makers
Table Makers
Posts: 224
Joined: Sun Jul 05, 2020 11:09 am
Reputation: 245

Re: I need some help! (Lua form and function)

Post by patka »

Ok, i try it.
Maybe u can help me. I want to make a Visual Equipment Editor.
Here is my first idea, but an auto assembler script it would be better for me:
patka wrote:
Wed Mar 29, 2023 10:18 pm
Anyway, I wanted to make a visual gear editor, but it's quite complicated. If anyone could give me some advice or guidance, I'd appreciate it...
My idea was to make a trainer that looks like the equipment selection in the game. You click on the desired item and select the equipment and it will be activated. For example, a dropdown menu or something could solve this using the built-in trainer creator, but I'm not very good at that
Spoiler
Image

User avatar
LeFiXER
LeFixer
LeFixer
Posts: 482
Joined: Wed Mar 24, 2021 9:35 am
Reputation: 243

Re: I need some help! (Lua form and function)

Post by LeFiXER »

It can vary wildly from game to game, but the general idea is that there is a pointer which points to an array of objects in which the objects have an ID/quantity property at the very least. You would have to find the function responsible for accessing this array, from there you can use copy injection to store the pointer to the inventory, and providing that function is accessed, the new values can update. If you have very little experience with Cheat Engine, I highly recommend you complete the tutorial available in the help menu of CE. It's really important to understand the basics to better your chances with more advanced hacks like an inventory editor.

User avatar
patka
Table Makers
Table Makers
Posts: 224
Joined: Sun Jul 05, 2020 11:09 am
Reputation: 245

Re: I need some help! (Lua form and function)

Post by patka »

Yes, I know, it's not a simple task. I'll figure out something. Thank u for everything

Post Reply

Who is online

Users browsing this forum: No registered users