Untitled
unknown
lua
a year ago
10 kB
6
Indexable
function cdznuteg(sender, tItem, iName, iUID, iType) local listBox, index, name, uid, itemType if sender then listBox = sender.Control[0].Control[2] if listBox == nil then return end index = listBox.ItemIndex if index == -1 then return end name = tItem[listBox.ItemIndex].name uid = tItem[listBox.ItemIndex].id itemType = tItem[listBox.ItemIndex].type else name = iName uid = iUID itemType = iType end local addr = getAddressSafe("xxetbzjy") if addr == nil then return end local itemAddr = getAddressSafe(addr+0x101) if itemAddr == nil then return end local mrOwner = getAddressList().getMemoryRecordByID(23721) if mrOwner ~= nil then local mrCount = mrOwner.count-2 if mrCount == 32 then messageDialog("The maximum number of items has been reached!\n\nPlease remove some items.",0) return end local mrItem, mrSubItem, mrSubItem2, pos, enums, enumsIndexed mrItem, pos = findRecord(mrOwner, name) local itemAddress = getAddressSafe(itemAddr+(0x15*mrCount)) if not mrItem then mrItem = createRecord(mrOwner, name, vtGrouped, itemAddr+(0x15*mrCount), nil) mrItem.Color = Color.Child3 mrItem.options = "[moHideChildren,moDeactivateChildrenAsWell]" mrItem.DontSave = true -- Is Active ? mrSubItem = createRecord(mrItem, "Is Active ?", vtByte, "+0", nil) mrSubItem.Color = 0x000FFFF mrSubItem.DropDownReadOnly = true mrSubItem.DropDownDescriptionOnly = true mrSubItem.DisplayAsDropDownListItem = true mrSubItem.DropDownList.Text = typeOptionStringMaps["binaryOptionType"] mrSubItem.Value = 1 -- Item Type enums = { [25] = TrID[294179], [5] = TrID[229389], [9] = TrID[229390], [1] = TrID[294180], [24] = TrID[294181], } enumsIndexed = enumsToStringList(enums, true) mrSubItem = createRecord(mrItem, "Item Type", vtByte, "+0x1", nil) mrSubItem.Color = 0x000FFFF mrSubItem.DropDownReadOnly = true mrSubItem.DropDownDescriptionOnly = true mrSubItem.DisplayAsDropDownListItem = true mrSubItem.DropDownList.Text = enumsIndexed mrSubItem.Value = itemType -- Unique ID mrSubItem = createRecord(mrItem, "Unique ID", vtDword, "+0x2", nil) mrSubItem.Color = 0x000FFFF mrSubItem.Value = uid if dependencies({5, 9, 24, 25}, itemType) then mrSubItem = createRecord(mrItem, TrID[900002], vtGrouped, nil, nil ) mrSubItem.Color = Color.SeparatorSmall mrSubItem = createRecord(mrItem, "Player Max Age Filter", vtByte, "+0x6", nil) mrSubItem.Color = Color.ReadMe mrSubItem.DropDownReadOnly = false mrSubItem.DropDownDescriptionOnly = true mrSubItem.DisplayAsDropDownListItem = true mrSubItem.DropDownList.Text = [[0:All Ages]] mrSubItem.Value = 0 -- Player Position's Filter enums = { [0] = "All Roles", [1] = "Defending Roles (GK/DC)", [2] = "Midfield Roles (DM/M/AM C)", [3] = "Flank Roles (D/WB/M/AM RL)", [4] = "Attacking Roles (ST)", } enumsIndexed = enumsToStringList(enums, true) mrSubItem = createRecord(mrItem, "Player Position Filter", vtByte, "+0x7", nil) mrSubItem.Color = Color.ReadMe mrSubItem.DropDownReadOnly = true mrSubItem.DropDownDescriptionOnly = true mrSubItem.DisplayAsDropDownListItem = true mrSubItem.DropDownList.Text = enumsIndexed mrSubItem.Value = 0 -- Player Position's Familiarity Filter enums = { [18] = "Natural", [15] = "Accomplished", [12] = "Competent", } enumsIndexed = enumsToStringList(enums, true) mrSubItem = createRecord(mrItem, "Player Position's Familiarity Filter", vtByte, "+0x8", nil) mrSubItem.Color = Color.ReadMe mrSubItem.DropDownReadOnly = true mrSubItem.DropDownDescriptionOnly = true mrSubItem.DisplayAsDropDownListItem = true mrSubItem.DropDownList.Text = enumsIndexed mrSubItem.Value = 18 end mrSubItem = createRecord(mrItem, TrID[900002], vtGrouped, nil, nil ) mrSubItem.Color = Color.SeparatorSmall -- Attributes Booster enums = { [0x0000] = TrID[293210], -- Not Set, [plao.Patr+0x22] = TrID[227769], -- Acceleration [plao.Patr+0x2E] = TrID[227774], -- Agility [plao.Patr+0x2A] = TrID[227780], -- Balance [plao.Patr+0x27] = TrID[349773], -- Jumping Reach [plao.Patr+0x32] = TrID[227830], -- Natural Fitness [plao.Patr+0x26] = TrID[227879], -- Pace [plao.Patr+0x25] = TrID[227898], -- Stamina [plao.Patr+0x24] = TrID[227900], -- Strength [plao.Patr+0x2D] = TrID[227772], -- Aggression [plao.Patr+0x11] = TrID[227776], -- Anticipation [plao.Patr+0x2B] = TrID[227782], -- Bravery [plao.Patr+0x34] = TrID[227914], -- Composure [plao.Patr+0x35] = TrID[227916], -- Concentration [plao.Patr+0x12] = TrID[227801], -- Decision [plao.Patr+0x33] = TrID[227803], -- Determination [plao.Patr+0x1A] = TrID[227812], -- Flair [plao.Patr+0x28] = TrID[230010], -- Leadership [plao.Patr+0x6] = TrID[227877], -- Off The Ball [plao.Patr+0x14] = TrID[227886], -- Positioning [plao.Patr+0x1C] = TrID[227910], -- Teamwork [plao.Patr+0xA] = TrID[230023], -- Vision [plao.Patr+0x1D] = TrID[227912], -- Work Rate [plao.Patr+0x1B] = TrID[227896], -- Corners [plao.Patr+0x0] = TrID[227798], -- Crossing [plao.Patr+0x1] = TrID[227805], -- Dribbling [plao.Patr+0x2] = TrID[227810], -- Finishing [plao.Patr+0x16] = TrID[227894], -- First Touch [plao.Patr+0x23] = TrID[276817], -- Free Kick Taking [plao.Patr+0x3] = TrID[227818], -- Heading [plao.Patr+0x4] = TrID[227834], -- Long Shots [plao.Patr+0x1E] = TrID[227836], -- Long Throws [plao.Patr+0x5] = TrID[227838], -- Marking [plao.Patr+0x7] = TrID[227881], -- Passing [plao.Patr+0x8] = TrID[227883], -- Penalty Taking [plao.Patr+0x9] = TrID[227902], -- Tackling [plao.Patr+0x17] = TrID[227904], -- Technique [plao.Patr+0xC] = TrID[388016], -- Aerial Reach [plao.Patr+0xD] = TrID[561006], -- Command Of Area [plao.Patr+0xE] = TrID[227791], -- Communication [plao.Patr+0x1F] = TrID[227808], -- Eccentricity [plao.Patr+0xB] = TrID[227816], -- Handling [plao.Patr+0xF] = TrID[227832], -- Kicking [plao.Patr+0x13] = TrID[227861], -- One On Ones [plao.Patr+0x21] = TrID[227908], -- Punching (Tendency) [plao.Patr+0x15] = TrID[227888], -- Reflexes [plao.Patr+0x20] = TrID[227890], -- Rushing Out (Tendency) [plao.Patr+0x10] = TrID[227906], -- Throwing [plao.Patr+0x2C] = TrID[230006], -- Consistency [plao.Patr+0x2F] = TrID[230008], -- Important Matches [plao.Patr+0x31] = TrID[230011], -- Versatility [plao.Patr+0x18] = TrID[230000], -- Left Foot [plao.Patr+0x19] = TrID[230001], -- Right Foot } enumsIndexed = enumsToStringList(enums, true) mrSubItem = createRecord(mrItem, "Use Attributes Booster", vtByte, "+A", nil) mrSubItem.Color = Color.Presets mrSubItem.DropDownReadOnly = true mrSubItem.DropDownDescriptionOnly = true mrSubItem.DisplayAsDropDownListItem = true mrSubItem.DropDownList.Text = typeOptionStringMaps["binaryOptionType"] mrSubItem2 = createRecord(mrSubItem, "Attribute 1", vtWord, "+0x1", nil) mrSubItem2.Color = Color.Text mrSubItem2.DropDownReadOnly = true mrSubItem2.DropDownDescriptionOnly = true mrSubItem2.DisplayAsDropDownListItem = true mrSubItem2.DropDownList.Text = enumsIndexed mrSubItem2 = createRecord(mrSubItem, "Attribute 2", vtWord, "+0x3", nil) mrSubItem2.Color = Color.Text mrSubItem2.DropDownReadOnly = true mrSubItem2.DropDownDescriptionOnly = true mrSubItem2.DisplayAsDropDownListItem = true mrSubItem2.DropDownList.Text = enumsIndexed mrSubItem2 = createRecord(mrSubItem, "Attribute 3", vtWord, "+0x5", nil) mrSubItem2.Color = Color.Text mrSubItem2.DropDownReadOnly = true mrSubItem2.DropDownDescriptionOnly = true mrSubItem2.DisplayAsDropDownListItem = true mrSubItem2.DropDownList.Text = enumsIndexed mrSubItem2 = createRecord(mrSubItem, "Attribute 4", vtWord, "+0x7", nil) mrSubItem2.Color = Color.Text mrSubItem2.DropDownReadOnly = true mrSubItem2.DropDownDescriptionOnly = true mrSubItem2.DisplayAsDropDownListItem = true mrSubItem2.DropDownList.Text = enumsIndexed mrSubItem2 = createRecord(mrSubItem, "Attribute 5", vtWord, "+0x9", nil) mrSubItem2.Color = Color.Text mrSubItem2.DropDownReadOnly = true mrSubItem2.DropDownDescriptionOnly = true mrSubItem2.DisplayAsDropDownListItem = true mrSubItem2.DropDownList.Text = enumsIndexed -- Progress Rate mrSubItem = createRecord(mrItem, "Progress Rate", vtByte, "+0x9", nil) mrSubItem.Color = Color.Presets mrSubItem.Value = 1 writeQword(addr+(0x8*mrCount), itemAddress) writeByte(addr+0x100, mrCount+1) xxetbzjy[name] = { indx = mrCount, mrec = mrItem, addr = mrItem.getCurrentAddress(), data = readBytes(mrItem.getCurrentAddress(), 0x15, true), } mrItem.OnDestroy = function() table.removekey(xxetbzjy, name) local itemCount = readByte(addr+0x100) if itemCount then if itemCount <= mrOwner.count-2 then local data = readBytes(mrItem.getCurrentAddress()+0x15, (32 - mrCount+1)*0x15, true) writeBytes(mrItem.getCurrentAddress(), data) for k, v in pairs(xxetbzjy) do if mrCount <= v.indx then xxetbzjy[k].indx = v.indx - 1 xxetbzjy[k].addr = itemAddr + (0x15 * xxetbzjy[k].indx) xxetbzjy[k].data = readBytes(xxetbzjy[k].addr, 0x15, true) xxetbzjy[k].mrec.Address = xxetbzjy[k].addr end end end itemCount = itemCount - 1 writeByte(addr+0x100, itemCount) writeQword(addr+(itemCount*0x8), 0) end end else xxetbzjy[name].indx = pos-2 xxetbzjy[name].addr = itemAddr+((pos-2)*0x15) xxetbzjy[name].data = readBytes(xxetbzjy[name].addr, 0x15, true) xxetbzjy[name].mrec.Address = xxetbzjy[name].addr end end end
Editor is loading...
Leave a Comment