Untitled
unknown
lua
a year ago
10 kB
8
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