CE Вывод иерархии компонентов
-
Скрипт позволит вывести иерархию компонентов CE в виде текста.
Иерархия компонентов CE нужна для написания плагинов.Например, для ColorPicker и для смены шрифта (подобротнее об этом было где-то было в блоге).
print("Controls list for CE "..getCEVersion()..'\n') function PrintComponents(obj, tabCount) local tabLine = string.rep(' ', tabCount) local componentCount = obj.ComponentCount if obj.Caption == nil then print(tabLine..obj.Name..'('..obj.ClassName..')') else print(tabLine..obj.Name..'('..obj.ClassName..') -> "'..obj.Caption..'"') end for i = 0, componentCount - 1 do local subObject = obj.Component[i] PrintComponents(subObject, tabCount + 1) end end PrintComponents(MainForm, 1)
Результат
Controls list for CE 7.4
MainForm(TMainForm) -> "Cheat Engine 7.4"
Splitter1(TSplitter)
Panel1(TPanel) -> ""
Panel4(TPanel) -> ""
advancedbutton(TSpeedButton) -> "Advanced Options"
CommentButton(TSpeedButton) -> "Table Extras"
lblSigned(TLabel) -> "This table has been signed by
Someone"
Panel5(TPanel) -> ""
ProcessLabel(TLabel) -> "No Process Selected"
foundcountlabel(TLabel) -> "0"
ScanText(TLabel) -> "Value:"
lblScanType(TLabel) -> "Scan Type"
lblValueType(TLabel) -> "Value Type"
LoadButton(TSpeedButton) -> ""
SaveButton(TSpeedButton) -> ""
Label6(TLabel) -> "Found:"
SpeedButton2(TSpeedButton) -> ""
SpeedButton3(TSpeedButton) -> ""
btnNewScan(TButton) -> "First Scan"
gbScanOptions(TGroupBox) -> "Memory Scan Options"
ScanOptionsModuleList(TComboBox)
Panel2(TPanel) -> ""
cbCopyOnWrite(TCheckBox) -> "CopyOnWrite"
cbWritable(TCheckBox) -> "Writable"
cbExecutable(TCheckBox) -> "Executable"
Panel3(TPanel) -> ""
Label2(TLabel) -> "Stop"
Label1(TLabel) -> "Start"
ToAddress(TEdit)
FromAddress(TEdit)
Panel6(TPanel) -> ""
cbFastScan(TCheckBox) -> "Fast Scan"
edtAlignment(TEdit)
cbPauseWhileScanning(TCheckBox) -> "Pause the game while scanning"
Panel8(TPanel) -> ""
rbfsmLastDigts(TRadioButton) -> "Last Digits"
rbFsmAligned(TRadioButton) -> "Alignment"
btnNextScan(TButton) -> "Next Scan"
ScanType(TComboBox)
VarType(TComboBox)
ProgressBar(TProgressBar)
UndoScan(TButton) -> "Undo Scan"
scanvalue(TEdit)
Panel7(TPanel) -> ""
sbOpenProcess(TSpeedButton) -> ""
btnFirst(TButton) -> "First Scan2"
btnNext(TButton) -> "Next scan 2"
LogoPanel(TPanel) -> ""
Logo(TImage)
SettingsButton(TSpeedButton) -> "Settings"
pnlScanValueOptions(TPanel) -> ""
rbBit(TRadioButton) -> "Bits"
rbDec(TRadioButton) -> "Decimal"
cbHexadecimal(TCheckBox) -> "Hex"
Panel9(TPanel) -> ""
pnlScanOptions(TPanel) -> ""
pnlFloat(TPanel) -> ""
rt3(TRadioButton) -> "Truncated"
rt1(TRadioButton) -> "Rounded (default)"
rt2(TRadioButton) -> "Rounded (extreme)"
cbUnicode(TCheckBox) -> "UTF-16"
cbCaseSensitive(TCheckBox) -> "Case sensitive"
cbFloatSimple(TCheckBox) -> "Simple values only"
cbpercentage(TCheckBox) -> "Percent"
cbNot(TCheckBox) -> "Not"
cbCodePage(TCheckBox) -> "Codepage"
cbRepeatUntilStopped(TCheckBox) -> "Repeat"
cbLuaFormula(TCheckBox) -> "Lua formula"
cbNewLuaState(TCheckBox) -> "Separate Lua state"
Panel10(TPanel) -> ""
cbUnrandomizer(TCheckBox) -> "Unrandomizer"
cbSpeedhack(TCheckBox) -> "Enable Speedhack"
Panel14(TPanel) -> ""
Label54(TLabel) -> "Speed"
lblSH0(TLabel) -> "0"
lblSH20(TLabel) -> "500"
btnSetSpeedhack2(TButton) -> "Apply"
editSH2(TEdit)
tbSpeed(TTrackBar)
scanvalue2(TEdit)
ScanText2(TLabel) -> "Scan Value"
andlabel(TLabel) -> "and"
Foundlist3(TListView)
(TCustomListViewEditor)
btnAddAddressManually(TButton) -> "Add Address Manually"
btnMemoryView(TButton) -> "Memory View"
cbCompareToSavedScan(TCheckBox) -> "Compare to first/saved scan"
lblcompareToSavedScan(TLabel) -> "<xxxx>"
UpdateTimer(TTimer)
FreezeTimer(TTimer)
PopupMenu2(TPopupMenu)
(TMenuItem) -> ""
(TMenuItem) -> "Add to new group"
miAutoAssembleErrorMessage(TMenuItem) -> "<Error message here>"
Deletethisrecord1(TMenuItem) -> "Delete this record"
Change1(TMenuItem) -> "Change record"
Description1(TMenuItem) -> "Description"
Address1(TMenuItem) -> "Address"
Type1(TMenuItem) -> "Type"
Value1(TMenuItem) -> "Value"
miUndoValue(TMenuItem) -> "Undo last edit"
Smarteditaddresses1(TMenuItem) -> "Smart edit address(es)"
Browsethismemoryregion1(TMenuItem) -> "Browse this memory region"
miDisassemble(TMenuItem) -> "Disassemble this memory region"
miShowAsSigned(TMenuItem) -> "Show as signed"
Showashexadecimal1(TMenuItem) -> "Show as hexadecimal"
miZeroTerminate(TMenuItem) -> "Zero-Terminate string"
miShowAsBinary(TMenuItem) -> "Show as binary"
miChangeColor(TMenuItem) -> "Change Color"
SetHotkey1(TMenuItem) -> "Assign Hotkey"
miSetDropdownOptions(TMenuItem) -> "Set/Change dropdown selection options"
Freezealladdresses2(TMenuItem) -> "Toggle Selected Records"
miFreezePositive(TMenuItem) -> "Freeze Positive"
miFreezeNegative(TMenuItem) -> "Freeze Negative"
Changescript1(TMenuItem) -> "Change script"
miAsyncScript(TMenuItem) -> "Execute asynchronous"
N5(TMenuItem) -> "-"
miGeneratePointermap(TMenuItem) -> "Generate pointermap"
Pointerscanforthisaddress1(TMenuItem) -> "Pointer scan for this address"
Findoutwhataccessesthisaddress1(TMenuItem) -> "Find out what accesses this address"
Setbreakpoint1(TMenuItem) -> "Find out what writes to this address"
sep2(TMenuItem) -> "-"
miDBVMFindWhatWritesOrAccesses(TMenuItem) -> "DBVM Find out what writes or accesses this address"
sep1(TMenuItem) -> "-"
Calculatenewvaluepart21(TMenuItem) -> "Recalculate new addresses"
Forcerechecksymbols1(TMenuItem) -> "Force recheck symbols"
N4(TMenuItem) -> "-"
Cut1(TMenuItem) -> "Cut"
Copy1(TMenuItem) -> "Copy"
Paste1(TMenuItem) -> "Paste"
MenuItem1(TMenuItem) -> "Select All"
N1(TMenuItem) -> "-"
CreateGroup(TMenuItem) -> "Create Header"
miGroupconfig(TMenuItem) -> "Group config"
miHideChildren(TMenuItem) -> "Hide children when deactivated"
miBindActivation(TMenuItem) -> "Activating this entry activates it's children"
miBindDeactivation(TMenuItem) -> "Deactivating this entry deactivates it's children"
miRecursiveSetValue(TMenuItem) -> "Setting a value to this entry sets same value to children"
miAllowCollapse(TMenuItem) -> "Allow left and right arrow keys to collapse and expand"
miManualExpandCollapse(TMenuItem) -> "Manual expand/collapse"
miAlwaysHideChildren(TMenuItem) -> "Always hide children"
Plugins1(TMenuItem) -> "Plugins"
foundlistpopup(TPopupMenu)
(TMenuItem) -> ""
miAddAddress(TMenuItem) -> "Add selected addresses to the addresslist"
miChangeValue(TMenuItem) -> "Change value of selected addresses"
miChangeValueBack(TMenuItem) -> "Change value of selected addresses back to previous/saved value"
Browsethismemoryarrea1(TMenuItem) -> "Browse this memory region"
Browsethismemoryregioninthedisassembler1(TMenuItem) -> "Disassemble this memory region"
Removeselectedaddresses1(TMenuItem) -> "Remove selected addresses"
Copyselectedaddresses1(TMenuItem) -> "Copy selected addresses"
Selectallitems1(TMenuItem) -> "Select all items"
MenuItem4(TMenuItem) -> "-"
miShowPreviousValue(TMenuItem) -> "Show previous value column(s)"
miOnlyShowCurrentCompareToColumn(TMenuItem) -> "Only show current "compare to" column"
MenuItem13(TMenuItem) -> "-"
miForgotScan(TMenuItem) -> "Reload the previous value list (Forgot value scan)"
MenuItem14(TMenuItem) -> "-"
miFlFindWhatAccesses(TMenuItem) -> "Find out what accesses this address"
miFlFindWhatWrites(TMenuItem) -> "Find out what writes to this address"
N2(TMenuItem) -> "-"
miFoundListPreferences(TMenuItem) -> "Preferences"
MenuItem19(TMenuItem) -> "-"
miDisplayHex(TMenuItem) -> "Hexadecimal"
miDisplayDefault(TMenuItem) -> "Default"
miDisplayByte(TMenuItem) -> "Byte"
miDisplay2Byte(TMenuItem) -> "2 Bytes"
miDisplay4Byte(TMenuItem) -> "4 Bytes"
miDisplay8Byte(TMenuItem) -> "8 Bytes"
miDisplayFloat(TMenuItem) -> "Float"
miDisplayDouble(TMenuItem) -> "Double"
OpenDialog1(TOpenDialog)
SaveDialog1(TSaveDialog)
TopDisabler(TTimer)
emptypopup(TPopupMenu)
(TMenuItem) -> ""
MenuItem2(TMenuItem) -> "New Item1"
ccpmenu(TPopupMenu)
(TMenuItem) -> ""
Cut2(TMenuItem) -> "Cut"
Copy2(TMenuItem) -> "Copy"
Paste2(TMenuItem) -> "Paste"
ActionList1(TActionList)
actSave(TAction) -> ""
actOpen(TAction) -> ""
actAutoAssemble(TAction) -> "actAutoAssemble"
actMemoryView(TAction) -> "actMemoryView"
actOpenProcesslist(TAction) -> ""
actOpenDissectStructure(TAction) -> "actOpenDissectStructure"
actOpenLuaEngine(TAction) -> "actOpenLuaEngine"
UpdateFoundlisttimer(TTimer)
AutoAttachTimer(TTimer)
MainMenu1(TMainMenu)
(TMenuItem) -> ""
(TMenuItem) -> "English"
(TMenuItem) -> "Save scan session"
(TMenuItem) -> "Load scan session"
(TMenuItem) -> "-"
File1(TMenuItem) -> "&File"
miAddTab(TMenuItem) -> "Add scan tab"
New1(TMenuItem) -> "Clear list"
MenuItem8(TMenuItem) -> "Open Process"
miOpenFile(TMenuItem) -> "Open File"
miSaveFile(TMenuItem) -> "Save File"
N7(TMenuItem) -> "-"
miSave(TMenuItem) -> "Save"
Save1(TMenuItem) -> "Save As..."
Load1(TMenuItem) -> "Load"
miLoadRecent(TMenuItem) -> "Load Recent"
miSignTable(TMenuItem) -> "Sign table"
MenuItem3(TMenuItem) -> "-"
miSaveScanresults(TMenuItem) -> "Save current scanresults"
miDeleteSavedScanResults(TMenuItem) -> "Delete scanresult"
MenuItem6(TMenuItem) -> "-"
MenuItem9(TMenuItem) -> "Generate generic trainer lua script from table"
MenuItem5(TMenuItem) -> "-"
MenuItem7(TMenuItem) -> "Quit"
Edit3(TMenuItem) -> "&Edit"
Settings1(TMenuItem) -> "Settings"
Process1(TMenuItem) -> "&Process"
OpenProcess1(TMenuItem) -> "Open Process window"
CreateProcess1(TMenuItem) -> "Create Process"
N6(TMenuItem) -> "-"
a1(TMenuItem) -> "a"
b1(TMenuItem) -> "b"
c1(TMenuItem) -> "c"
d1(TMenuItem) -> "d"
e1(TMenuItem) -> "e"
miTable(TMenuItem) -> "Table"
miShowLuaScript(TMenuItem) -> "Show Cheat Table Lua Script"
MenuItem10(TMenuItem) -> "-"
miCreateLuaForm(TMenuItem) -> "Create form"
miResyncFormsWithLua(TMenuItem) -> "Resynchronize forms with Lua"
miLuaFormsSeperator(TMenuItem) -> "-"
miAddFile(TMenuItem) -> "Add file"
mi3d(TMenuItem) -> "D3D"
miHookD3D(TMenuItem) -> "Hook Direct3D"
MenuItem11(TMenuItem) -> "-"
miSetCrosshair(TMenuItem) -> "Set custom crosshair"
miWireframe(TMenuItem) -> "Toggle wireframe mode"
miZbuffer(TMenuItem) -> "Toggle disabled zbuffer"
miLockMouseInGame(TMenuItem) -> "Lock mouse in game window"
miSetupSnapshotKeys(TMenuItem) -> "Start and configure snapshot recording"
miSnapshothandler(TMenuItem) -> "Snapshot handler"
ools1(TMenuItem) -> "&Tools"
miDotNET(TMenuItem) -> ".Net"
miGetDotNetObjectList(TMenuItem) -> "Get object list"
miNetwork(TMenuItem) -> "Network"
miCompression(TMenuItem) -> "Compression"
miScanDirtyOnly(TMenuItem) -> "Scan changed regions only"
miScanPagedOnly(TMenuItem) -> "Scan paged (physical) memory only"
Plugins2(TMenuItem) -> "P&lugins"
miLanguages(TMenuItem) -> "Languages"
miHelp(TMenuItem) -> "&Help"
Helpindex1(TMenuItem) -> "Cheat Engine Help"
miLuaDocumentation(TMenuItem) -> "Lua documentation"
miTutorial(TMenuItem) -> "Cheat Engine Tutorial"
MenuItem12(TMenuItem) -> "Cheat Engine Tutorial (64-Bit)"
MenuItem15(TMenuItem) -> "Cheat Engine Tutorial Games"
miEnableLCLDebug(TMenuItem) -> "Generate errorlogs"
N8(TMenuItem) -> "-"
miAbout(TMenuItem) -> "About"
pmTablist(TPopupMenu)
(TMenuItem) -> ""
miRenameTab(TMenuItem) -> "Rename"
miTablistSeperator(TMenuItem) -> "-"
miCloseTab(TMenuItem) -> "Close tab"
pmValueType(TPopupMenu)
(TMenuItem) -> ""
miDefineNewCustomType(TMenuItem) -> "Define new custom type (Auto Assembler)"
miDefineNewCustomTypeLua(TMenuItem) -> "Define new custom type (LUA)"
miEditCustomType(TMenuItem) -> "Edit selected custom type"
miDeleteCustomType(TMenuItem) -> "Delete selected custom type"
miShowCustomTypeDebug(TMenuItem) -> "Show custom type debug info"
ColorDialog1(TColorDialog)
pmResetRange(TPopupMenu)
(TMenuItem) -> ""
miResetRange(TMenuItem) -> "Reset range"
pmScanRegion(TPopupMenu)
(TMenuItem) -> ""
miPresetAll(TMenuItem) -> "Preset: Scan all memory"
miPresetWritable(TMenuItem) -> "Preset: Scan writable memory"
MainMenu2(TMainMenu)
(TMenuItem) -> ""
tLuaGCPassive(TTimer)
tLuaGCActive(TTimer)
mfImageList(TImageList)
frmAutoInject(TfrmAutoInject) -> "Lua script: Cheat Table"
Panel1(TPanel) -> ""
Panel3(TPanel) -> ""
btnExecute(TButton) -> "Execute script"
Panel2(TPanel) -> ""
MainMenu1(TMainMenu)
(TMenuItem) -> ""
File1(TMenuItem) -> "File"
miNewWindow(TMenuItem) -> "New Window"
miNewTab(TMenuItem) -> "New Tab"
Load1(TMenuItem) -> "Open"
Save1(TMenuItem) -> "Save"
SaveAs1(TMenuItem) -> "Save As..."
miLuaSyntaxCheck(TMenuItem) -> "Syntax Check"
Assigntocurrentcheattable1(TMenuItem) -> "Assign to current cheat table"
N2(TMenuItem) -> "-"
Exit1(TMenuItem) -> "Exit"
View1(TMenuItem) -> "View"
Syntaxhighlighting1(TMenuItem) -> "Syntax highlighting"
MenuItem3(TMenuItem) -> "Auto assembler syntax highlighting preferences"
MenuItem2(TMenuItem) -> "Lua syntax highlighting preferences"
MenuItem1(TMenuItem) -> "C highlighting preferences"
AAPref1(TMenuItem) -> "Preferences"
emplate1(TMenuItem) -> "Template"
Codeinjection1(TMenuItem) -> "Code injection"
APIHook1(TMenuItem) -> "API Hook"
Coderelocation1(TMenuItem) -> "Code relocation"
miCallLua(TMenuItem) -> "Call CE lua function"
menuAOBInjection(TMenuItem) -> "AOB Injection"
menuFullInjection(TMenuItem) -> "Full Injection"
CheatTablecompliantcodee1(TMenuItem) -> "Cheat Table framework code"
Inject1(TMenuItem) -> "Inject"
Injectincurrentprocess1(TMenuItem) -> "Inject into current process"
Injectintocurrentprocessandexecute1(TMenuItem) -> "Inject into current process and execute"
OpenDialog1(TOpenDialog)
SaveDialog1(TSaveDialog)
PopupMenu1(TPopupMenu)
(TMenuItem) -> ""
miCut(TMenuItem) -> "Cu&t"
miCopy(TMenuItem) -> "&Copy"
miPaste(TMenuItem) -> "&Paste"
miUndo(TMenuItem) -> "&Undo"
miRedo(TMenuItem) -> "Redo"
N6(TMenuItem) -> "-"
miFind(TMenuItem) -> "&Find..."
mifindNext(TMenuItem) -> "Find Next"
mifindPrevious(TMenuItem) -> "Find Previous"
miReplace(TMenuItem) -> "Replace"
TabMenu(TPopupMenu)
(TMenuItem) -> ""
miMoveLeft(TMenuItem) -> "Move left"
miMoveRight(TMenuItem) -> "Move right"
miRenameTab(TMenuItem) -> "Rename"
Close1(TMenuItem) -> "Close"
FindDialog1(TFindDialog)
undotimer(TTimer)
ReplaceDialog1(TReplaceDialog)
aaImageList(TImageList)
(TSynAASyn)
(TSynCppSyn)
(TSynLuaSyn)
Assemblescreen(TSynEditPlus)
(TSynBeautifier)
SynLeftGutterPartList1(TSynGutterPartList)
SynGutterMarks1(TSynGutterMarks)
SynGutterLineNumber1(TSynGutterLineNumber)
SynGutterChanges1(TSynGutterChanges)
SynGutterSeparator1(TSynGutterSeparator)
SynGutterCodeFolding1(TSynGutterCodeFolding)
SynRightGutterPartList1(TSynRightGutterPartList)
(TTimer)
(TAddresslist) -> ""
List(TTreeviewWithScroll)
(TTimer)
(TTimer)
Header(THeaderControl)
(TPopupMenu)
(TMenuItem) -> ""
(TMenuItem) -> "Sort on click"
(TTimer)