Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Auto LOGIN from text file (lua)
TheQQmaster
сообщение 26.1.2022, 21:45
Сообщение #1


**

Neophyte
Сообщений: 12
Регистрация: 17.9.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.608
Возраст: 25



Код
local pathTXT = [[D:\UO\defaultStore.txt]]

In image is example how to store account data
Default ACC store, if not use promt

Код
local usePromt = 1

ENABLE to use promt (pop up window to choose from multiple options)

local pathTXTpromt1 = [[D:\UO\BaffStore.txt]]
local pathTXTpromt2 = [[D:\UO\FarmStore.txt]]
local pathTXTpromt3 = [[D:\UO\OlyStore.txt]]
local pathTXTpromt4 = [[D:\UO\EXTRAstore.txt]][/code]
Edit for TXT file location for each promt option, need if use promt

Код
local useRename = 1

Enable to rename window title

Код
local usePrefix = 0

Enable to give prefix after window title name

Код
local prefix = '-TO'

Change prefix value (Example: MyToon-TO)

Код
local useMove = 1

Enable to move default window location (locX, locY), if dissabled will open in last window location

Код
local useOffset = 1

Enable offset if log multiple window (changing for each window location)

Код
local offsetX, offsetY = 70, 40 -- Offset (-X, +Y to first window default location)


Код
local pathClient  = [[D:\L2\systempve\l2.exe]]

Path for client .exe

Код
local renameClient = 'L2'

Default window title if we have some window running before we launch script, to prevent interupts

Код
local delay = 250 -- Default delay
local delayOpenAll = 12000 -- Delay to wait after open all clients
local delayNext = 1600 -- Delay for launch next client
local delayLogin = 600 -- Delay after press "log in"
local delayConfirm = 1000 -- Delay after press "Agree licence"
local delayServer = 5100 -- Delay after server select

Change delays, depends on PC speed


Promt files from forum
P.S I dont know how to make spoiler

Код
--lua
--log ('clear')

local pathTXT = [[D:\UO\defaultStore.txt]] -- default store, if not use promt

local usePromt = 1 -- ENABLE to use promt
local pathTXTpromt1 = [[D:\UO\BaffStore.txt]] -- promt 1
local pathTXTpromt2 = [[D:\UO\FarmStore.txt]] -- promt 2
local pathTXTpromt3 = [[D:\UO\OlyStore.txt]] -- promt 3
local pathTXTpromt4 = [[D:\UO\EXTRAstore.txt]] -- promt 4


local useRename = 1 -- Enable to rename window
local usePrefix = 0 -- Enable to give prefix after window name
local prefix = '-TO' -- Prefix value

local useMove = 1 -- Enable to move default window location
local useOffset = 1 -- Enable offset if log multiple window

local locX, locY = 1359, 0 -- Default window location X 3278

local offsetX, offsetY = 70, 40 -- Offset (-X, +Y to first window default location)

local pathClient  = [[D:\L2\systempve\l2.exe]] -- Path for client
local renameClient = 'L2' -- How to rename window, if before script some is running

local delay = 250 -- Default delay
local delayOpenAll = 12000 -- Delay to wait after open all clients
local delayNext = 1600 -- Delay for launch next client
local delayLogin = 600 -- Delay after press "log in"
local delayConfirm = 1000 -- Delay after press "Agree licence"
local delayServer = 5100 -- Delay after server select


local function rmsg (text) -- notification
      msg (tostring(text))
      end_script()
end

if (usePromt == 1) then -- Promt
      local h = require'prompt'
      h.promptposX, h.promptposY = 500, 300

      local array = {'Buff', 'Farm', 'Oly', 'EXTRA'} -- options
      local result = h.lua_prompt(array)   --

      if result == 0 then
            msg ('Nothing selected!')
            end_script()
      elseif result == 1 then
            log('Will log Buff')
            pathTXT = pathTXTpromt1 -- store
      elseif result == 2 then
            log('Will log farm')
            pathTXT = pathTXTpromt2 -- store
      elseif result == 3 then
            log('Will log oly')
            pathTXT = pathTXTpromt3 -- store
      elseif result == 4 then
            log('Will log EXTRA')
            pathTXT = pathTXTpromt4 -- store
      end
end

local function read_file (path) -- read values from text file, adds in array using spaces
      local file = io.open(path, "r")
      if not file then
            return nil
      end
      local arr = {}
      for line in file:lines() do
            local row = {}
            for match in string.gmatch(line, "[^%s]+") do
                  table.insert(row, match)
            end
            table.insert(arr, row)
      end
      file:close()
      return arr;
end

acc = read_file(pathTXT) -- storing array values

if acc ~= nil then -- some checks
      if #acc > 0 then
            for i=1, #acc do
                  if (acc[i][2]) and (acc[i][3]) then
                        log (i..' - '..acc[i][1]..' - '..acc[i][3])
                  else
                        rmsg('TXT file isnt proper config! /n Missing 3x values in line!')
                  end
            end
      else
            rmsg('File is empty!')
      end
else
      rmsg('Missing file!')
end


local handle = findwindow ("Lineage II") -- Rename of existing window
if handle then
      for i=1, #handle do
            setwindowtext (handle[1][1], renameClient)
      end
      wait (delay)
end

for i=1, #acc do -- launching for array size what we get from txt file
      exec (pathClient)
      wait (delayNext)
end
wait (delayOpenAll)


local handle = findwindow ("Lineage II") -- getting handles from new open ones
if handle then
      for i=1, #handle do
            if (workwindow (handle[i] [1])) then
                  showwindow (workwindow(), 'TOP')
                  hint (i..' - '..acc[i][3])
                  if (useMove == 1) then -- Moving window
                        windowpos (locX, locY, -1, -1, workwindow())
                        if (useOffset == 1) then -- Offset
                              locX = locX - offsetX --  -
                              locY = locY + offsetY  --  +
                        end
                  end
                  if (useRename == 1) then -- Renaming window title
                        if  (usePrefix == 1) then -- Using prefix
                              if (prefix) then
                                    setwindowtext (workwindow(), acc[i][3]..prefix)
                              else
                                    rmsg('Prefix value is empty!')
                              end
                        else
                              setwindowtext (workwindow(), acc[i][3])
                        end
                  end
                  wait (delay)   --times here depend on pc speed
                  sendexdelay (30)
                  sendex (acc[i][1])
                  send217 ('TAB', delay)
                  sendex (acc[i][2])
                  send ('enter', delayLogin)
                  send ('enter', delayConfirm)
                  send ('enter', delayServer)
                  send ('enter', delay)
            end --workwindow
      end --for
      wait (delay)
else
      rmsg('Cant find any handle!')
end -- if handle
hint ('Done!!!')
end_script()




Эскизы прикрепленных изображений
Прикрепленное изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 27.4.2024, 15:13
Designed by Nickostyle