Перейти к содержанию

как сделать прокрутку текста в Lua, Cheat Engine


Рекомендуемые сообщения

как сделать прокрутку текста в Lua, Cheat Engine помогите пожалуйста.

Скрытый текст


CEButton1Click
form = createForm(true)
form:setSize(400, 600) сдесь можно менять размер окна
form:centerScreen()

status = createLabel(form)
status:setCaption[[суда пишешь текст ЛЮБОЙ]]////как сделать прокрутку текста, если например ты много написал, что бы посмотреть что внизу, прокрутить текст в низ, как это можно сделать. 

 

этот код можно в ставить в Lua. и ЗАПУСТИТЬ

Изменено пользователем Baracuda
Ссылка на комментарий
Поделиться на другие сайты

Нашёл в 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
Ссылка на комментарий
Поделиться на другие сайты

спасибо тебе конечно за видео, но не много не то что нужно, когда делаешь с генерировать трейнер использую текущую таблицу появляется форма трейнера, на ней есть кнопка О программе, или по другому называется About, ну дак вот когда туда вписываешь много текста, окно становится большим, и нельзя прокрутить свой написаны текст.

 

А тот код который я выложил с верху, там кнопку можно переделать к форме, и вести любой текст, но и там нельзя его прокручивать.

Изменено пользователем Baracuda
Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, Baracuda сказал:

кнопка О программе, или по другому называется About, ну дак вот когда туда вписываешь много текста, окно становится большим, и нельзя прокрутить свой написаны текст.

Об этом нужно было писать изначально. Ладно мне уже некогда. Кто-нибудь поможет.

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

10 минуту назад, Baracuda сказал:

на ней есть кнопка О программе, или по другому называется About, ну дак вот когда туда вписываешь много текста, окно становится большим, и нельзя прокрутить свой написаны текст.

 

Сейчас сгенерировал трейнер в About вставил несколько страниц текста (по-моему 5).

Запустил трейнер, при нажатии на кнопку About появляется окно сразу с прокруткой, так что весь текст (все 5 страниц) читаются хорошо.

Так что скорее всего ты что-то не правильно просто делаешь.

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

Вот посмотри.

Запусти СЕ-ный туториал и трейнер и нажми кнопку   About .

// Удалил после скачивания - файл большой всё-таки :)

Изменено пользователем Garik66
Ссылка на комментарий
Поделиться на другие сайты

но почему на весь игран, так то работает, и у меня работает, но окно открывается на весь икран разрешения 1980

 

Изменено пользователем Baracuda
Ссылка на комментарий
Поделиться на другие сайты

Только что, Baracuda сказал:

но почему на весь игран, так то работает, и у меня работает, но окно открывается на весь икран разрешения 1980

А это уже другой вопрос, нужно копаться в настройках, точнее в свойствах.

Ссылка на комментарий
Поделиться на другие сайты

когда создаёшь маленький текст, прокрутки нету, а когда большой, то текст на весь икран, и после только появляется прокрутка.

ты тот код в ставь, и вставь текст, и посмотри прокрутки нету, вот я не знаю как сделать.

Изменено пользователем Baracuda
Ссылка на комментарий
Поделиться на другие сайты

В твоём коде много чего не хватает. Не разрушается вновь созданная форма - обратил внимание, что каждый раз новый номер формы создаётся.

Думаю можно сделать и из твоего варианта, но нужно ещё много чего дописать, а так нужно добавить VertScrollBar(TControlScrollBar)

 

В стандартном дизайне, там не форма создаётся, а используется showMessage.

Вот LUA скрипт при нажатии на кнопку "О программе":

Скрытый текст

function AboutClick()
showMessage(gAboutText)
end
gAboutText=[[This trainer was made by Cheat Engine]]

 

Вот и нужно уточнить - как сделать неизменным окно сообщения. Если это конечно возможно.

 

ЗЫ: Но чем гадать, лучше подождать ответа от знающих LUA ребят. Vlad2, AntonVit, A1tor ну и других.

Изменено пользователем Garik66
  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

Нашёл очень крутой образец на форуме СЕ для тебя.

Тема;

Конечный код (очень красивого трейнера):

Скрытый текст

-- 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"

Изменено пользователем Garik66
  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

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
Ссылка на комментарий
Поделиться на другие сайты

И ещё один пример трейнера, уже со всеми стандартными СЕ функциями, только при нажатии кнопки "О программе" теперь открывается форма с прокруткой.

Скрипт 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--

 

Картинки:

Скрытый текст

9514248.jpg
9542920.jpg
9504008.jpg

 

Сам трейнер:

 

 

ForBaracuda2.rar

Изменено пользователем Garik66
  • Плюс 2
Ссылка на комментарий
Поделиться на другие сайты

Спасибо тебе  Garik66, на до было всего та добавить пару строчек, вот блин я тупой, как же мене это всё тяжело даётся.

Garik66 ты лучший ЗНАЙ ОБЕТОМ.

 

ТЕМУ МОЖНО ЗАКРЫВАТЬ

 

 

Изменено пользователем Baracuda
Ссылка на комментарий
Поделиться на другие сайты

  • Гость закрыл тема
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.