Код
local pathTXT = [[D:\UO\defaultStore.txt]]
In image is example how to store account data
Default ACC store, if not use promt
Код
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
Код
Enable to rename window title
Код
Enable to give prefix after window title name
Код
Change prefix value (Example: MyToon-TO)
Код
Enable to move default window location (locX, locY), if dissabled will open in last window location
Код
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()