Submarina Опубликовано 24 апреля, 2016 Поделиться Опубликовано 24 апреля, 2016 (изменено) как сделать прокрутку текста в Lua, Cheat Engine помогите пожалуйста. Скрытый текст CEButton1Click form = createForm(true) form:setSize(400, 600) сдесь можно менять размер окна form:centerScreen() status = createLabel(form) status:setCaption[[суда пишешь текст ЛЮБОЙ]]////как сделать прокрутку текста, если например ты много написал, что бы посмотреть что внизу, прокрутить текст в низ, как это можно сделать. этот код можно в ставить в Lua. и ЗАПУСТИТЬ Изменено 24 апреля, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 24 апреля, 2016 Поделиться Опубликовано 24 апреля, 2016 Нашёл в mainLUA участок, скорее всего это то, что нужно, но как приспособить ( у меня пока не получилось. Короче элемент, который тебе подойдёт это не лейбл, а в русском варианте называется "Многострочное поле" (дефолтное название "CEMemo1") Отрывок из mainLUA: Скрытый текст Memo Class: (Inheritance: Edit->WinControl->Control->Component->Object) createMemo(owner): Creates a Memo class object which belongs to the given owner. Owner can be any object inherited from WinControl properties Lines: Strings - Strings object for this memo WordWrap: boolean - Set if words at the end of the control should go to the next line WantTabs: Boolean - Set if tabs will add a tab to the memo. False if tab will go to the next control WantReturns: Boolean - Set if returns will send a event or not Scrollbars: Scrollstyle - Set the type of ascrollbars to show (ssNone, ssHorizontal, ssVertical, ssBoth, ssAutoHorizontal, ssAutoVertical, ssAutoBoth) methods append(string) getLines() : returns a Strings class getWordWrap() setWordWrap(boolean) getWantTabs() setWantTabs(boolean) getWantReturns() setWantReturns(boolean) getScrollbars() setScrollbars(scrollbarenumtype) : Sets the scrollbars. Horizontal only takes affect when wordwrap is disabled valid enum types: ssNone : No scrollbars ssHorizontal: Has a horizontal scrollbar ssVertical: Has a vertical scrollbar ssBoth: Has both scrollbars ssAutoHorizontal: Same as above but only shows when there actually is something to scroll for ssAutoVertical: " " " " ... ssAutoBoth: " " " " ... Подожди ребят знающих LUA, скорее всего сталкивались, помогут. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 24 апреля, 2016 Поделиться Опубликовано 24 апреля, 2016 Хотя подожди получилось. сейчас попробую видео записать. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 24 апреля, 2016 Автор Поделиться Опубликовано 24 апреля, 2016 (изменено) ага хорошо Garik66 подожду Изменено 24 апреля, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 24 апреля, 2016 Поделиться Опубликовано 24 апреля, 2016 Если такой вариант покатит тебе конечно - видео: 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 24 апреля, 2016 Автор Поделиться Опубликовано 24 апреля, 2016 (изменено) спасибо тебе конечно за видео, но не много не то что нужно, когда делаешь с генерировать трейнер использую текущую таблицу появляется форма трейнера, на ней есть кнопка О программе, или по другому называется About, ну дак вот когда туда вписываешь много текста, окно становится большим, и нельзя прокрутить свой написаны текст. А тот код который я выложил с верху, там кнопку можно переделать к форме, и вести любой текст, но и там нельзя его прокручивать. Изменено 24 апреля, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 24 апреля, 2016 Поделиться Опубликовано 24 апреля, 2016 4 минуты назад, Baracuda сказал: кнопка О программе, или по другому называется About, ну дак вот когда туда вписываешь много текста, окно становится большим, и нельзя прокрутить свой написаны текст. Об этом нужно было писать изначально. Ладно мне уже некогда. Кто-нибудь поможет. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 24 апреля, 2016 Поделиться Опубликовано 24 апреля, 2016 10 минуту назад, Baracuda сказал: на ней есть кнопка О программе, или по другому называется About, ну дак вот когда туда вписываешь много текста, окно становится большим, и нельзя прокрутить свой написаны текст. Сейчас сгенерировал трейнер в About вставил несколько страниц текста (по-моему 5). Запустил трейнер, при нажатии на кнопку About появляется окно сразу с прокруткой, так что весь текст (все 5 страниц) читаются хорошо. Так что скорее всего ты что-то не правильно просто делаешь. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 24 апреля, 2016 Поделиться Опубликовано 24 апреля, 2016 (изменено) Вот посмотри. Запусти СЕ-ный туториал и трейнер и нажми кнопку About . // Удалил после скачивания - файл большой всё-таки Изменено 24 апреля, 2016 пользователем Garik66 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 24 апреля, 2016 Автор Поделиться Опубликовано 24 апреля, 2016 (изменено) но почему на весь игран, так то работает, и у меня работает, но окно открывается на весь икран разрешения 1980 Изменено 24 апреля, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 24 апреля, 2016 Поделиться Опубликовано 24 апреля, 2016 Только что, Baracuda сказал: но почему на весь игран, так то работает, и у меня работает, но окно открывается на весь икран разрешения 1980 А это уже другой вопрос, нужно копаться в настройках, точнее в свойствах. Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 24 апреля, 2016 Автор Поделиться Опубликовано 24 апреля, 2016 (изменено) когда создаёшь маленький текст, прокрутки нету, а когда большой, то текст на весь икран, и после только появляется прокрутка. ты тот код в ставь, и вставь текст, и посмотри прокрутки нету, вот я не знаю как сделать. Изменено 24 апреля, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 24 апреля, 2016 Поделиться Опубликовано 24 апреля, 2016 (изменено) В твоём коде много чего не хватает. Не разрушается вновь созданная форма - обратил внимание, что каждый раз новый номер формы создаётся. Думаю можно сделать и из твоего варианта, но нужно ещё много чего дописать, а так нужно добавить VertScrollBar(TControlScrollBar) В стандартном дизайне, там не форма создаётся, а используется showMessage. Вот LUA скрипт при нажатии на кнопку "О программе": Скрытый текст function AboutClick() showMessage(gAboutText) end gAboutText=[[This trainer was made by Cheat Engine]] Вот и нужно уточнить - как сделать неизменным окно сообщения. Если это конечно возможно. ЗЫ: Но чем гадать, лучше подождать ответа от знающих LUA ребят. Vlad2, AntonVit, A1tor ну и других. Изменено 24 апреля, 2016 пользователем Garik66 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 24 апреля, 2016 Поделиться Опубликовано 24 апреля, 2016 (изменено) Нашёл очень крутой образец на форуме СЕ для тебя. Тема; Скрытый текст http://forum.cheatengine.org/viewtopic.php?t=562691&postdays=0&postorder=asc&start=0 Конечный код (очень красивого трейнера): Скрытый текст -- NFO Window Class NFOWindowClass = { windowCaption = 'NFOWindow by mgr.inz.Player', fontSize = 12, scrollLines = 9, nfoTEXT = nil, lineWidth, lineHeight, totalHeight, scrollDistance, CW, CH, Form, Button, PaintBox, Bitmap, DestY, currentY, objects = {} } function NFOWindowClass.Destroy() --destroy hotkeys and timers for i,v in pairs(NFOWindowClass.objects) do object_destroy(v) NFOWindowClass.objects[i] = nil end object_destroy(NFOWindowClass.Bitmap) if NFOWindowClass.Form~=nil then NFOWindowClass.Form.hide() object_destroy(NFOWindowClass.Form) NFOWindowClass.Form = nil end end function NFOWindowClass.Init(arg) if arg.nfo==nil then arg.nfo = NFOWindowClass.authorNFO end -- set variables NFOWindowClass.windowCaption = arg.windowCaption or NFOWindowClass.windowCaption NFOWindowClass.fontSize = arg.fontSize or NFOWindowClass.fontSize NFOWindowClass.scrollLines = arg.scrollLines or NFOWindowClass.scrollLines -- PREPARE nfoTEXT table NFOWindowClass.nfoTEXT = {} table.insert(NFOWindowClass.nfoTEXT,ansiToUtf8(' ')) local longestLine = '' for w in string.gfind (arg.nfo,"[^\n]+") do table.insert(NFOWindowClass.nfoTEXT,ansiToUtf8(w)) if #longestLine < #w then longestLine = w end end table.insert(NFOWindowClass.nfoTEXT,ansiToUtf8(' ')) table.insert(NFOWindowClass.nfoTEXT,ansiToUtf8(' ')) -- DETERMINE line width, line height, total height local tmpImage = createImage(nil) tmpImage.Canvas.Font.Name = 'Terminal' tmpImage.Canvas.Font.Size = NFOWindowClass.fontSize setProperty(tmpImage.Canvas.Font,'CharSet','OEM_CHARSET') NFOWindowClass.lineWidth = tmpImage.Canvas.getTextWidth (longestLine..' ') NFOWindowClass.lineHeight = tmpImage.Canvas.getTextHeight(longestLine..' ') NFOWindowClass.totalHeight = NFOWindowClass.lineHeight * (#NFOWindowClass.nfoTEXT) NFOWindowClass.scrollDistance = NFOWindowClass.lineHeight * NFOWindowClass.scrollLines object_destroy(tmpImage);tmpImage=nil -- DETERMINE window size local windowMaximumHeight = arg.windowMaximumHeight or 600 NFOWindowClass.CW = NFOWindowClass.lineWidth + 10 NFOWindowClass.CH = (NFOWindowClass.totalHeight > windowMaximumHeight) and windowMaximumHeight or NFOWindowClass.totalHeight if NFOWindowClass.CW < 200 then NFOWindowClass.CW=200 end --assign event to given button if arg.Button then arg.Button.Enabled = true arg.Button.OnClick = NFOWindowClass.ShowWindow NFOWindowClass.Button = arg.Button end end function NFOWindowClass.ButtonSetEnabled(enabled) if NFOWindowClass.Button~=nil then NFOWindowClass.Button.Enabled = enabled end end function NFOWindowClass.ShowWindow(senderButton) NFOWindowClass.ButtonSetEnabled(false) NFOWindowClass.Destroy() -- destroy if any left -- MAIN WINDOW ATTRIBUTES, CAPTION and EVENTS local NFOFORM = createForm(false) NFOFORM.setSize(NFOWindowClass.CW, NFOWindowClass.CH) NFOFORM.Caption = NFOWindowClass.windowCaption NFOFORM.Borderstyle = 'bsToolWindow' NFOFORM.Position = 'poScreenCenter' NFOFORM.DoubleBuffered = true NFOFORM.OnClose = function (sender) NFOWindowClass.ButtonSetEnabled(true) -- enable button NFOWindowClass.Destroy() end -- ESC key to exit setMethodProperty(NFOFORM,'OnKeyPress', function (sender, key) if string.byte(key) == 27 then NFOWindowClass.ButtonSetEnabled(true) -- enable button NFOWindowClass.Destroy() end end) local rainbowColors = { 0x00000000,0x00000000,0x00000006,0x0000000E,0x00000016,0x00000020,0x0000002A,0x00000035, 0x00000040,0x0000004D,0x0000005B,0x00000068,0x00000076,0x00000083,0x00000091,0x0000009D, 0x000000AB,0x000000B7,0x000000C3,0x000000CF,0x000000DA,0x000000E5,0x000000ED,0x000000F5, 0x000000FC,0x000002FF,0x000006FF,0x00000CFF,0x000012FF,0x000019FF,0x000020FF,0x000028FF, 0x000030FF,0x000038FF,0x000042FF,0x00004AFF,0x000054FF,0x00005DFF,0x000068FF,0x000071FF, 0x00007CFF,0x000086FF,0x00008FFF,0x00009AFF,0x0000A3FF,0x0000ADFF,0x0000B6FF,0x0000C0FF, 0x0000C8FF,0x0000D1FF,0x0000D8FF,0x0000E0FF,0x0000E7FF,0x0000EDFF,0x0000F3FF,0x0000F8FF, 0x0000FCFF,0x0001FFFA,0x0003FFF5,0x0004FFF0,0x0005FFEA,0x0007FFE3,0x0008FFDC,0x000BFFD5, 0x000CFFCD,0x000EFFC5,0x0010FFBD,0x0012FFB4,0x0014FFAB,0x0016FFA2,0x0018FF98,0x001BFF8E, 0x001CFF85,0x001FFF7C,0x0022FF72,0x0024FF68,0x0026FF5F,0x0029FF57,0x002CFF4D,0x002FFF44, 0x0033FF3C,0x0035FF34,0x0038FF2C,0x003BFF24,0x003FFF1D,0x0042FF17,0x0046FF10,0x0049FF0B, 0x004DFF06,0x0050FF02,0x0054FE00,0x0058FE00,0x005DFF00,0x0061FE00,0x0065FE00,0x006AFE00, 0x006FFE00,0x0075FD00,0x007AFD00,0x007FFE00,0x0085FD00,0x008BFD00,0x0091FD00,0x0097FC00, 0x009CFD00,0x00A2FD00,0x00A9FD00,0x00AFFC00,0x00B7FB00,0x00BFFB00,0x00C8FA00,0x00D1F900, 0x00D9F800,0x00E0F600,0x00E6F500,0x00ECF200,0x00F3F000,0x00F8EE00,0x00FCEC00,0x00FFE901, 0x00FFE507,0x00FFE10D,0x00FFDD14,0x00FFD71C,0x00FFD224,0x00FFCD2C,0x00FFC737,0x00FFC240, 0x00FFBC4A,0x00FFB754,0x00FFB359,0x00FFB05F,0x00FFAC65,0x00FFA86A,0x00FFA66F,0x00FFA275, 0x00FF9F7B,0x00FF9B80,0x00FF9785,0x00FF948B,0x00FF918F,0x00FF8E94,0x00FF8A99,0x00FF879D, 0x00FF83A1,0x00FF80A6,0x00FF7DAA,0x00FF7AAD,0x00FF77B0,0x00FE73B5,0x00FD6FBA,0x00FC6ABE, 0x00FC67C3,0x00FA62C7,0x00FA5ECC,0x00F85AD0,0x00F755D4,0x00F751D9,0x00F64CDD,0x00F448E2, 0x00F443E7,0x00F23EEB,0x00F13AEE,0x00EF35F1,0x00ED30F7,0x00EA29FB,0x00E823FF,0x00E41DFF, 0x00E117FF,0x00DD12FF,0x00D80DFF,0x00D309FF,0x00CF05FF,0x00C902FF,0x00C300FD,0x00BD00F7, 0x00B600F0,0x00AE00E8,0x00A600DF,0x009C00D5,0x009400C9,0x008A00BD,0x008000B0,0x007700A4, 0x006C0096,0x00620088,0x0057007A,0x004D006C,0x0044005E,0x00390050,0x00310043,0x00280037, 0x001F002B,0x00180020,0x00100017,0x000B000D,0x00050006,0x00000000,0x00000000,0x00000000} local customColors = { 0x00000000,0x00060600,0x000E0C00,0x00171300,0x00221C00,0x002D2500,0x003A2F00,0x00473900, 0x00554500,0x00634F00,0x00725C00,0x00816800,0x00907400,0x009E7F00,0x00AC8C00,0x00B99700, 0x00C6A400,0x00D2AE00,0x00DDB900,0x00E7C400,0x00EFCD00,0x00F5D600,0x00FADD00,0x00FEE400, 0x00FFEA00,0x00FFEE04,0x00FCF109,0x00FAF410,0x00F6F717,0x00F1FA1E,0x00EBFC27,0x00E3FC30, 0x00DCFC39,0x00D3FC43,0x00CBFC4E,0x00C1FC58,0x00B8FC63,0x00ADFC6E,0x00A2FC79,0x0097FC84, 0x008CFC8F,0x0081FC9A,0x0076FCA4,0x006AFCAF,0x005FFCB9,0x0054FCC3,0x004AFCCC,0x003FFCD5, 0x0036FCDD,0x002CFCE5,0x0024FCEB,0x001CFCF1,0x0015FCF6,0x000EFCFA,0x0008FCFC,0x0004FCFF, 0x0000FCFF,0x0000FCFE,0x0000F9FD,0x0000F8FB,0x0000F7F7,0x0000F5F3,0x0000F3EE,0x0000F1E8, 0x0000EEE0,0x0000ECDA,0x0000E9D1,0x0000E7C9,0x0000E5C0,0x0000E1B7,0x0000DEAE,0x0000DBA4, 0x0000D99A,0x0000D690,0x0003D386,0x0005D07B,0x0008CD71,0x000BCA66,0x000EC85C,0x0012C552, 0x0014C349,0x0019C03E,0x001BBE36,0x0020BC2D,0x0023BB25,0x0026B91E,0x002BB716,0x002FB60F, 0x0032B50A,0x0036B405,0x003AB401,0x003EB400,0x0041B400,0x0046B500,0x004BB500,0x0050B600, 0x0055B800,0x005AB900,0x005FBA00,0x0066BC00,0x006CBE00,0x0072C000,0x0079C200,0x007FC400, 0x0086C600,0x008BC900,0x0092CB00,0x0099CD00,0x00A0D000,0x00A9D300,0x00B4D700,0x00BDDA00, 0x00C7DD00,0x00D0E100,0x00D8E300,0x00E0E500,0x00E8E700,0x00EFE900,0x00F5EA00,0x00FAEA00, 0x00FFEA00,0x00FFE900,0x00FFE700,0x00FFE500,0x00FFE200,0x00FFDE00,0x00FFDA00,0x00FFD500, 0x00FFD000,0x00FFCB00,0x00FFC700,0x00FFC200,0x00FFC000,0x00FFBD00,0x00FFBA00,0x00FFB700, 0x00FFB400,0x00FFB100,0x00FFAE00,0x00FFAC00,0x00FFA900,0x00FFA700,0x00FFA400,0x00FFA200, 0x00FFA000,0x00FF9E00,0x00FF9C00,0x00FF9A00,0x00FF9800,0x00FF9800,0x00FF9600,0x00FE9405, 0x00FE940A,0x00FF9311,0x00FE9318,0x00FF9220,0x00FF9229,0x00FF9232,0x00FF923C,0x00FF9346, 0x00FF9351,0x00FF945C,0x00FF9567,0x00FF9572,0x00FF967D,0x00FF9689,0x00FF9697,0x00FF96A7, 0x00FF96B7,0x00FE96C5,0x00FD96D4,0x00FC96DF,0x00F896EB,0x00F596F3,0x00F196F9,0x00EC95FD, 0x00E691FF,0x00E18DFE,0x00DA8AFB,0x00D285F6,0x00CA7FEF,0x00C07AE6,0x00B673DD,0x00AB6CD2, 0x00A066C6,0x00945EB9,0x008957AC,0x007D4F9E,0x00714890,0x00654080,0x005A3972,0x004F3263, 0x00442B55,0x00382447,0x002E1E3A,0x0024172D,0x001B1122,0x00130C16,0x000C080E,0x00000000} -- CREATE NICE RAINBOW local rainbowImage = createImage(NFOFORM) rainbowImage.setSize(1,200) rainbowImage.align = 'alClient' rainbowImage.Stretch = true for i=1,200 do rainbowImage.Canvas.setPixel(0,i-1,rainbowColors[i]) end -- CREATE PAINTBOX FOR NFO TEXT local PaintBox = createPaintBox(NFOFORM) PaintBox.align = 'alClient' -- create bitmap local txtBmp = createBitmap(NFOWindowClass.CW, NFOWindowClass.totalHeight) txtBmp.TransparentColor = 0x800080 txtBmp.Transparent = true -- set canvas Font txtBmp.Canvas.Font.Name = 'Terminal' txtBmp.Canvas.Font.Size = NFOWindowClass.fontSize txtBmp.Canvas.Font.Color = 0x800080 setProperty(txtBmp.Canvas.Font,'CharSet','OEM_CHARSET') -- set canvas Brush color txtBmp.Canvas.Brush.Color = 0x000000 -- draw text for i=1,#NFOWindowClass.nfoTEXT do local Y = NFOWindowClass.lineHeight*(i-1) txtBmp.Canvas.textOut(5,Y,NFOWindowClass.nfoTEXT[i]) end PaintBox.OnPaint = NFOWindowClass.paintstate PaintBox.repaint() setMethodProperty(PaintBox,'OnMouseDown', function () form_dragNow(NFOFORM) end) -- drag form NFOFORM.show() local scrollTimer = createTimer(NFOFORM,false) scrollTimer.OnTimer = NFOWindowClass.scrollOnTimer scrollTimer.Interval = 10 -- hotkeys local hk1 = createHotkey(NFOWindowClass.scrollUp , VK_PRIOR ) local hk2 = createHotkey(NFOWindowClass.scrollDown, VK_NEXT ) setMethodProperty(PaintBox,'OnMouseWheelDown',NFOWindowClass.scrollDown) setMethodProperty(PaintBox,'OnMouseWheelUp',NFOWindowClass.scrollUp) NFOWindowClass.Form = NFOFORM NFOWindowClass.PaintBox = PaintBox NFOWindowClass.Bitmap = txtBmp NFOWindowClass.DestY = 0 NFOWindowClass.currentY = 0 NFOWindowClass.objects['hotkey1'] = hk1 NFOWindowClass.objects['hotkey2'] = hk2 NFOWindowClass.objects['timer'] = scrollTimer end function NFOWindowClass.paintstate(sender) --sender.Canvas.draw(0,NFOWindowClass.currentY,NFOWindowClass.Bitmap) local r=sender.Canvas.getClipRect() -- sender.Canvas.copyRect(r.Left, r.Top, -- dest -- r.Right, r.Bottom, -- dest -- NFOWindowClass.Bitmap.Canvas, -- source -- r.Left, r.Top - NFOWindowClass.currentY, -- source -- r.Right, r.Bottom - NFOWindowClass.currentY) -- source sender.Canvas.drawWithMask(r.Left, r.Top, -- dest r.Right, r.Bottom, -- dest NFOWindowClass.Bitmap, -- source r.Left, r.Top - NFOWindowClass.currentY, -- source r.Right, r.Bottom - NFOWindowClass.currentY) -- source -- CAUTION: Canvas.drawWithMask is from custom CE6.2+ Build only if NFOWindowClass.CW==NFOWindowClass.CH then return else -- draw bar local cw = NFOWindowClass.CW local ch = NFOWindowClass.CH local th = NFOWindowClass.totalHeight local y = NFOWindowClass.currentY local height = ch*ch/th local top = (ch-height)*(y/(ch-th)) -- set canvas Pen color sender.Canvas.Pen.Color = 0xAAAAAA sender.Canvas.Pen.Width = 5 sender.Canvas.line(cw-5 , top +7, cw-5 , top+height-1 -7) end end function NFOWindowClass.scrollDoDelta(amount) local y = NFOWindowClass.currentY + amount y = math.min(0,math.max(y,NFOWindowClass.CH-NFOWindowClass.totalHeight)) if NFOWindowClass.DestY == y then return end NFOWindowClass.DestY = y if not NFOWindowClass.objects['timer'].Enabled then NFOWindowClass.objects['timer'].Enabled = true end end function NFOWindowClass.scrollUp() local speed = NFOWindowClass.objects['timer'].Enabled and 3 or 1 NFOWindowClass.scrollDoDelta(NFOWindowClass.scrollDistance*speed) end function NFOWindowClass.scrollDown() local speed = NFOWindowClass.objects['timer'].Enabled and 3 or 1 NFOWindowClass.scrollDoDelta(-NFOWindowClass.scrollDistance*speed) end function NFOWindowClass.scrollOnTimer(timer) local y = NFOWindowClass.currentY local step = (NFOWindowClass.DestY-y) * 0.05 if step < 1 and step > 0 then step = 1 end if step > -1 and step < 0 then step = -1 end y = y + step if step < 0 and y < NFOWindowClass.DestY then y=NFOWindowClass.DestY end if step > 0 and y > NFOWindowClass.DestY then y=NFOWindowClass.DestY end if math.abs(y) < 1 then y=0 end NFOWindowClass.currentY = y if NFOWindowClass.DestY==y then timer_setEnabled(timer,false) end -- you can remove this IF if NFOWindowClass.CH~=NFOWindowClass.totalHeight then NFOWindowClass.Form.Caption = NFOWindowClass.windowCaption.. ' position: '.. math.floor(y/(NFOWindowClass.CH-NFOWindowClass.totalHeight)*100).. '%' end NFOWindowClass.PaintBox.repaint() end NFOWindowClass.authorNFO = [[ ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ ЫЫ ЫЫ ЫЫ This NFOWindow was made by: ЫЫ ЫЫ _ ______ _ ЫЫ ЫЫ (_) | ___ \ | ЫЫ ЫЫ _ __ ___ __ _ _ __ _ _ __ _()_ | |_/ / | __ _ _ _ ___ _ __ ЫЫ ЫЫ | '_ ` _ \ / _` | '__| | '_ \|_ / | __/| |/ _` | | | |/ _ \ '__| ЫЫ ЫЫ | | | | | | (_| | |_ | | | | |/ / _| | | | (_| | |_| | __/ | ЫЫ ЫЫ |_| |_| |_|\__, |_(_)|_|_| |_/___(_)_| |_|\__,_|\__, |\___|_| ЫЫ ЫЫ __/ | __/ | ЫЫ ЫЫ |___/ |___/ ЫЫ ЫЫ ЫЫ ЫЫ ЫЫ ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ ЫЫ ЫЫ ЫЫ You see this message, because you didn't set "nfo" ЫЫ ЫЫ ЫЫ ЫЫ Usage: ЫЫ ЫЫ ЫЫ ЫЫ NFOWindowClassOptions = ЫЫ ЫЫ { ЫЫ ЫЫ nfo='your text', -- mandatory ЫЫ ЫЫ windowCaption='NFOWindow by mgr.inz.Player', -- mandatory ЫЫ ЫЫ Button=UDF1_CEButton1, ЫЫ ЫЫ fontSize=12, -- (default 12) ЫЫ ЫЫ windowMaximumHeight=420, -- (default: 600, about 50 lines) ЫЫ ЫЫ scrollLines=5 -- (default: 9) ЫЫ ЫЫ } ЫЫ ЫЫ ЫЫ ЫЫ NFOWindowClass.Init(NFOWindowClassOptions) ЫЫ ЫЫ ЫЫ ЫЫ Example1 (show window after button onclick) : ЫЫ ЫЫ ЫЫ ЫЫ NFOWCO = { nfo='example 1\nline two', ЫЫ ЫЫ windowCaption='Example1 test', ЫЫ ЫЫ Button=UDF1_CEButton1 } ЫЫ ЫЫ ЫЫ ЫЫ NFOWindowClass.Init(NFOWCO) ЫЫ ЫЫ ЫЫ ЫЫ ЫЫ ЫЫ ЫЫ ЫЫ Example2 (ShowWindow used) : ЫЫ ЫЫ ЫЫ ЫЫ NFOWCO = { nfo='example 2\nline two', ЫЫ ЫЫ windowCaption='Example2 test' } ЫЫ ЫЫ ЫЫ ЫЫ NFOWindowClass.Init(NFOWCO) ЫЫ ЫЫ NFOWindowClass.ShowWindow() ЫЫ ЫЫ ЫЫ ЫЫ ЫЫ ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ ]] -- NFO Window Class END И сам трейнер, чтобы посмотреть: NewPossibilities_Trainer.7z ЗЫ: посмотри как реализовано окно "NFO" Изменено 24 апреля, 2016 пользователем Garik66 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 24 апреля, 2016 Автор Поделиться Опубликовано 24 апреля, 2016 я думаю разберусь Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 24 апреля, 2016 Поделиться Опубликовано 24 апреля, 2016 Только что, Baracuda сказал: я думаю разберусь Не знаю, там круто сделано. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 25 апреля, 2016 Автор Поделиться Опубликовано 25 апреля, 2016 Да сложновато для меня оказалось Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 25 апреля, 2016 Поделиться Опубликовано 25 апреля, 2016 4 часа назад, Baracuda сказал: Да сложновато для меня оказалось Эт точно. Сделал тебе пример трейнера с кнопкой "ИНФО". Основывался на твоём коде + элемент "MEMO". Скрипт LUA: Скрытый текст function CEButton1Click(sender) form = createForm(true) form:setSize(400, 100) form:centerScreen() status = createMemo(form) status:setSize(400, 100) setProperty(status,"Scrollbars","ssAutoVertical") status:setCaption[[суда пишешь текст ЛЮБОЙ суда пишешь текст ЛЮБОЙ 00000000000000000000000000000000000000000000000 суда пишешь текст ЛЮБОЙ суда пишешь текст ЛЮБОЙ 11111111111111111111111111111111111111111111111 суда пишешь текст ЛЮБОЙ суда пишешь текст ЛЮБОЙ 22222222222222222222222222222222222222222222222 суда пишешь текст ЛЮБОЙ суда пишешь текст ЛЮБОЙ 33333333333333333333333333333333333333333333333 суда пишешь текст ЛЮБОЙ суда пишешь текст ЛЮБОЙ 44444444444444444444444444444444444444444444444 суда пишешь текст ЛЮБОЙ суда пишешь текст ЛЮБОЙ 55555555555555555555555555555555555555555555555 суда пишешь текст ЛЮБОЙ суда пишешь текст ЛЮБОЙ 66666666666666666666666666666666666666666666666 суда пишешь текст ЛЮБОЙ суда пишешь текст ЛЮБОЙ 77777777777777777777777777777777777777777777777]] end Полученный трейнер: PrimerForBaracuda.rar 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 25 апреля, 2016 Поделиться Опубликовано 25 апреля, 2016 (изменено) И ещё один пример трейнера, уже со всеми стандартными СЕ функциями, только при нажатии кнопки "О программе" теперь открывается форма с прокруткой. Скрипт LUA: Скрытый текст function IMAGEClick(sender) shellExecute([[http://gamehacklab.ru/]]) end --TRAINERGENERATORSTART-- --Этот код сгенерирован автоматически. Изменение кода в этом блоке --будет стёрто и перезаписано, если вы сгенерируете код трейнера заново --Uncomment the following line if this is a Cheat Table format trainer and you don't want CE to show (Tip, save as .CETRAINER alternatively) --hideAllCEWindows() RequiredCEVersion=6.5 if (getCEVersion==nil) or (getCEVersion()<RequiredCEVersion) then messageDialog('Please install Cheat Engine '..RequiredCEVersion, mtError, mbOK) closeCE() end addresslist=getAddressList() memrec0=addresslist.getMemoryRecordByID(0) memrec0_hotkey0=memrec0.getHotkeyByID(0) function onPostHotkey0(Hotkey) --Executed after the "toggle*" cheat got executed local memrec=Hotkey.Owner local isActive=memrec.Active --get the state after the hotkey got triggered CETrainer.CHEAT0.setActive(isActive) --gui update, nothing else if gPlaySoundOnAction then if isActive then playSound(gActivateSound) else playSound(gDeactivateSound) end end end memrec0_hotkey0.onPostHotkey=onPostHotkey0 CETrainer.SEPERATOR.Visible=false getAutoAttachList().add("Tutorial-i386.exe") gPlaySoundOnAction=true gActivateSound=findTableFile([[Activate]]) gDeactivateSound=findTableFile([[Deactivate]]) CETrainer.show() function AboutClick() form = createForm(true) form:setSize(320, 180) form:centerScreen() form:setCaption[[Информация о трейнере.]] status = createMemo(form) status:setSize(320, 180) setProperty(status,"Scrollbars","ssAutoVertical") status:setCaption[[0. Это пример трейнера с кнопкой "About" 00000000000000000000000000000000000000000000000 1. Это пример трейнера с кнопкой "About" 11111111111111111111111111111111111111111111111 2. Это пример трейнера с кнопкой "About" 22222222222222222222222222222222222222222222222 3. Это пример трейнера с кнопкой "About" 33333333333333333333333333333333333333333333333 4. Это пример трейнера с кнопкой "About" 44444444444444444444444444444444444444444444444 5. Это пример трейнера с кнопкой "About" 55555555555555555555555555555555555555555555555 6. Это пример трейнера с кнопкой "About" 66666666666666666666666666666666666666666666666 7. Это пример трейнера с кнопкой "About" 77777777777777777777777777777777777777777777777 8. Это пример трейнера с кнопкой "About" 88888888888888888888888888888888888888888888888 9. Это пример трейнера с кнопкой "About" 99999999999999999999999999999999999999999999999]] end function CloseClick() --called by the close button onClick event, and when closing the form closeCE() return caFree --onClick doesn't care, but onClose would like a result end --TRAINERGENERATORSTOP-- Картинки: Скрытый текст Сам трейнер: ForBaracuda2.rar Изменено 25 апреля, 2016 пользователем Garik66 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 26 апреля, 2016 Автор Поделиться Опубликовано 26 апреля, 2016 (изменено) Спасибо тебе Garik66, на до было всего та добавить пару строчек, вот блин я тупой, как же мене это всё тяжело даётся. Garik66 ты лучший ЗНАЙ ОБЕТОМ. ТЕМУ МОЖНО ЗАКРЫВАТЬ Изменено 26 апреля, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения