Jump to content

Скрипты на языке Lua для ботов, создание и доработка.


Featured Comment

Всем привет. Сам пишу скрипты, что-то получается, а многому еще учиться нужно... В этой теме предлагаю, выкладывать готовые скрипты (взятые где-либо, или лично написанные), и тем, кто хорошо разбирается доводить стратегию до ума. А тем, кто не создает, выкладывать свежие идеи, стратегии, и какой хотелось бы получить результат в уже готовом скрипте. Простые или замысловатые, логические идеи приветствуются. Давайте попробуем сотворить шедевр:) Если Серега проведет стрим, на выборочные вопросы, интересующие многих, буду только за.

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

 

Spoiler

tema0.thumb.png.d26b03ac766f2a4304d83739e9b0f72c.png

 

 

Spoiler

tema0.thumb.jpg.269cea5eb1137f7936361ae70e9b1c55.jpg

 

 

Spoiler

tema1.thumb.jpg.e9b80d7b87ff9af4ef8e8c4279737858.jpg

 

 

Spoiler

tema2.thumb.jpg.697f940d65cd13d4b2512e43a2488b06.jpg

 

 

Spoiler

tema3.thumb.jpg.d71e7b4156372fb226b885ffa7adb506.jpg

 

 

Spoiler

tema4.thumb.jpg.ac32e4fb0f0ddc0950d743cf9c829bb7.jpg

 

 

Spoiler

tema5.thumb.jpg.01c4d74e841e98e18251a149b5c7e992.jpg

 

 

Spoiler

tema6.thumb.jpg.91787c89fa237bd02d78f61516a693fb.jpg

 

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

P.S. Флудерам в данную тему вход воспрещен!

Edited by Exchanger8
Link to post
Share on other sites

Чтобы получить статистику по профиту в %, прописываю:  

Spoiler

 

Deposit = balance

Profit = (balance - Deposit) * 100 / Deposit

Profit = math.floor (Profit*100) / 100

print ('ОБЩИЙ ПРОФИТ = ' .. Profit .. '%')

 

Кто подскажет, как сделать тоже самое, только с максимально проигранным профитом в % ?

Edited by Exchanger8
Link to post
Share on other sites

Один из инструментов для ведения статы являются часы, может кому пригодится:

Spoiler

 

min = 0

hour = 0

t0 = os.clock()

t1 = os.clock()

Ниже часть пишется в function dobet()

tclock = os.clock() - t0

scd = string.format ("%.0f" , tclock)

if tclock > 59 then

t0 = os.clock()

scd = 0

min += 1

end

if min > 59 then

min = 0

hour += 1

end

if hour <= 9 and min <= 9 and tclock <= 9 then

print ("Time: " .. " 0 " .. hour .. "h " .. " 0 " .. min .. "m " .. " 0" .. scd .. " s ")

else

if hour <= 9 and min <= 9 and tclock > 59 then

print ("Time: " .. " 0 " .. hour .. "h " .. " 0 " .. min .. "m " .. " 0" .. scd .. " s ")

else

if hour <= 9 and min <= 9 and tclock > 9 then

print ("Time: " .. " 0 " .. hour .. "h " .. " 0 " .. min .. "m " .. " 0" .. scd .. " s ")

end

end

end

if hour <= 9 and min > 9 and tclock <= 9 then

print ("Time: " .. " 0 " .. hour .. "h " .. " 0 " .. min .. "m " .. " 0" .. scd .. " s ")

else

if hour <= 9 and min > 9 and tclock > 59 then

print ("Time: " .. " 0 " .. hour .. "h " .. " 0 " .. min .. "m " .. " 0" .. scd .. " s ")

else

if hour <= 9 and min > 9 and tclock > 9 then

print ("Time: " .. " 0 " .. hour .. "h " .. " 0 " .. min .. "m " .. " 0" .. scd .. " s ")

end

end

end

if hour > 9 and min <= 9 and tclock <= 9 then

print ("Time: " .. " 0 " .. hour .. "h " .. " 0 " .. min .. "m " .. " 0" .. scd .. " s ")

else

if hour > 9 and min <= 9 and tclock > 59 then

print ("Time: " .. " 0 " .. hour .. "h " .. " 0 " .. min .. "m " .. " 0" .. scd .. " s ")

else

if hour > 9 and min <= 9 and tclock > 9 then

print ("Time: " .. " 0 " .. hour .. "h " .. " 0 " .. min .. "m " .. " 0" .. scd .. " s ")

end

end

end

if hour > 9 and min > 9 and tclock <= 9 then

print ("Time: " .. " 0 " .. hour .. "h " .. " 0 " .. min .. "m " .. " 0" .. scd .. " s ")

else

if hour > 9 and min > 9 and tclock > 59 then

print ("Time: " .. " 0 " .. hour .. "h " .. " 0 " .. min .. "m " .. " 0" .. scd .. " s ")

else

if hour > 9 and min > 9 and tclock > 9 then

print ("Time: " .. " 0 " .. hour .. "h " .. " 0 " .. min .. "m " .. " 0" .. scd .. " s ")

end

end

end

 

 

Edited by Exchanger8
Link to post
Share on other sites

Тем, кто пропустил стримы Сереги, и не посмотрел видеоролики, а кому-то в напоминание - скрипты, которые разбирались на трансляциях. Вот скрипт с 1-го стрима:

Spoiler

 

chance = 49.5
installchance = 1
nextbet = 0.00001
bethigh = true
max_Green = 0
sl = 0
sh = 0

function dobet()
    
    if currentstreak >= 10 then
        nextbet = 0.00001
    end

    if lastBet.Roll <= installchance then
        sl +=1
    end

    if lastBet.Roll >= 100 - installchance then
        sh +=1
    end

    if currentstreak >= max_Green then
        max_Green = currentstreak
    end 

    if sl >= sh+5 then
        bethigh = true
        chance = installchance
    end 

    if sh >= sl+5 then
        bethigh = false
        chance = installchance
    end 

    if currentstreak <= - 500 then
        nextbet = previousbet * 1.02
        elseif lastBet.Profit >= 0.1 then
            chance = 49.5
            nextbet = 0.00001
            sl = 0
            sh = 0
        end

        print('макс подряд выиграло -' ..max_Green)
        print('сторона хай =' ..sh)
        print('сторона лоу =' ..sl)
end 

 

 

Edited by Exchanger8
Link to post
Share on other sites

Вот скрипт со 2 стрима Сереги:

Spoiler

 

chance = 1
nextbet = 0.00000001
bethigh = true
basebet = 0.00000001
sl = 0
sh = 0
profit = 0

function dobet()

nextbet = basebet

if lastBet.Roll < chance then
    sl +=1
end

if lastBet.Roll >= 100-chance then
    sh +=1
end

if (balance >= profit) then
    profit = balance
end 

if !win sl>=1 then
    nextbet = basebet * 2
end 

if !win sl>=2 then
    nextbet = basebet * 4
end

if !win sl>=3 then
    nextbet = basebet * 8
end 

if !win sl>=4 then
    nextbet = basebet * 16
end

if !win sl>=5 then
    nextbet = basebet * 32
end

if !win sl>=6 then
    nextbet = basebet * 64
end 

if !win sl>=7 then
    nextbet = basebet * 128
end 

if !win sl>=8 then
    nextbet = basebet * 256
end 

if !win sl>=9 then
    nextbet = basebet * 512
end 

if !win sl>=10 then
    nextbet = basebet * 1024
end 

if win and (balance >= profit) then
    sl = 0
    nextbet = basebet
end 

print('обратки = ' ..sl)
print('профит = '..profit)

end

 

 

Edited by Exchanger8
Link to post
Share on other sites
On 9/20/2019 at 3:17 PM, Userqwerty said:

Скрипт плохой,я слил весь баланс ну или просто не повезло(

Ни один скрипт не дает 100% гарантии, их использование на страх и риск! И если пишешь за конкретный скрипт, уточняй за какой именно, и что не получилось, у скриптов куча настроек и примочек, нужно грамотно использовать свои возможности, а если чего-то не понимаешь, и хочешь разобраться и понять, сперва можно поинтересоваться, перед запуском бота.

Link to post
Share on other sites

Публикую скрипт с 3-го стрима Сереги:

Spoiler

 

chance = 1 
nextbet = 0.001
profit = 0
installbet = 0.01
sl = 0
sh = 0
game = false
x = {2, 4, 8, 16}
    
    function DIV_chance()
        -- счетчик сторон
        if lastBet.Roll < chance then
            sl=+1
        end 

        if lastBet.Roll >= 100 - chance then
            sh+=1
        end 
    end 

    function side_select()
        if (sl-sh >4) then
            bethigh = true
            game = true
            elseif (sh-sl >4) then
                bethigh = false
                game = true
            end 
        end 
    

    function dobet()
        DIV_chance()
        side_select()
        if game then
            for i = 1, 4 do
                if x == sl+5 and !win then
                    nextbet = previousbet * x
                    break
                end
            end
        end 

        if balance >=profit then
            profit = balance
        end 

        if currentstreak < -500 ((sl-sh >4) or (sh-sl >4)) then
            nextbet = installbet
        end 

        if win then
            nextbet = previousbet * x
        end  

        if win and balance > profit then
            nextbet = 0.001
            sl = 0
            sh = 0
        end 

        print('high =' ..sh)
        print('low =' ..sl)
    end

 


 

 

Edited by Exchanger8
Link to post
Share on other sites

Скрипт 5-го стрима:

Spoiler

 

chance = 10 --На 999 массивы не работают
nextbet = 0.00000001
bethigh = true
prof = 0
react = 0
chek = 0
Profit = 0
Deposit = balance 
cheklogic = true
installBet = 0
game = false
step = 0
sl = 0
sh = 0

react_arr = {2,3,4,5,6,7,8,9,10,11,12,13} 
loss_arr = {-20,-30,-40,-50}
X_arr = {1.15,1.16,1.17,1.18,1.19,1.20,1.21,1.22,1.23,1.24,1.25}

function point()
    chek +=1
    if chek >= 200 and cheklogic then
        chek = 0
        react = 0
    end
end
memberbet = 0

function dobet()
    point()
    bethigh= math.random(0,100)%2==0
    Profit = (balance-Deposit)*100/Deposit
    Profit = math.floor(Profit*100)/100
    if balance > prof then
        prof = balance
    end
    seedclient = math.random(999999)
----------------------------------------------------------
    for i = 1, 4 do
        if currentstreak == react_arr then
            react +=1
            break
        end
    end
    for i1=1,12 do
        if(react == react_arr[i1]) then
            game = true
            cheklogic = false
            step = i1
            installBet = previousbet*X_arr[i1]
            break
        end
    end
----------------------------------------------------------
    if win and lastBet.Profit > 0.003 then--and lastBet.Profit > 0.0001 then
        cheklogic = true            --and balance >= prof then
        installBet = prof/X_arr[1]
        memberbet = 0
        react = 0
        chek = 0
        step = 1
        game = false
        if lastBet.Nonce > 3000 then
            sl = 0
            sh = 0
            resetseed()
        end 
    end 
----------------------------------------------------------
    if game and lastBet.Amount > memberbet then
        memberbet = lastBet.Amount
    end 
----------------------------------------------------------
    if game then
        nextbet = installBet
        if currentstreak < -9 then
            nextbet = 0.00000001
        end
        if win then
            nextbet = memberbet
        end
    else
        nextbet = 0.00000001
    end 
----------------------------------------------------------
print('Профит = ' ..Profit.. '%')
print('bets = ' ..chek)
print('react =' ..react)
---------------------------------------------------------
end 

 

 

Edited by Exchanger8
Link to post
Share on other sites

6-ой стрим Сереги:

Spoiler

 

chance = 5
nextbet = 0.00000001 
upbet = 0
wins = 0
prof = 0
sl = 0
sh = 0

function side() 
    if lastBet.Roll < chance then
        sl +=1
    end 
    if lastBet.Roll >= 100-chance then
        sh +=1
    end
end 

function dobet()
    side()
    if !win then
        upbet +=1
    end
    if sl - sh > 2 then
        bethigh = true
    end
    if sh-sl > 2 then
        bethigh = false
    end
    if balance >= prof then
        prof = balance
    end
    
    if !win and currentstreak >= -5 then
        nextbet = previousbet+(upbet/1000000000)
        elseif win and balance < prof then
            nextbet = previousbet
    end
    if win and balance >= prof then
        nextbet = 0.00000001
        upbet = 0
        prof = balance
    end
    if lastBet.Nonce > 5555 then
        resetseed()
    end
print('sl = ' ..sl)
print('sh = ' ..sh)
print('losses = ' ..losses)
end

 

 

Edited by Exchanger8
Link to post
Share on other sites
On 9/26/2019 at 3:30 PM, resedailja said:

Спасибо тебе за скрипт,отличный!

Всегда пожалуйста, используйте знания с умом.

Настало время 8-го скрипта со стрима:

Spoiler

 

chance = 10
nextbet = 0.00000001
sl = 0
sh = 0
range = 50
curr_range = 0
win_cont = 0
upbet = 0
prof = 0


function Win_Control() 
    curr_range +=1 
    if curr_range >= range then
        curr_range = 0
        win_cont = 0
    end 
    if win then
        win_cont +=1
    end
    if curr_range < range and win_cont >=5 and !bethigh then
        bethigh = true
        curr_range = 0
        win_cont = 0
    end 
    if curr_range < range and win_cont >=5 and bethigh then -- math.random(3,5)
        bethigh = false
        curr_range = 0
        win_cont = 0
    end
end 
function dobet()
    Win_Control()
    if balance >= prof then
        prof = balance
    end 
    if !win then
        upbet +=0.00000001
    end 
    if !win then
        nextbet = previousbet+upbet
    else 
        nextbet = previousbet/1.1
    end 
    if nextbet < 0.00000001 then
        nextbet = 0.00000001
    end 
    if balance >= prof then
        nextbet = previousbet/1.3
        upbet = 0
    end 

    print(curr_range)
    print(win_cont)
end 

 

 

Edited by Exchanger8
Link to post
Share on other sites
On 9/26/2019 at 7:17 PM, dp458 said:

Бро я предпочитаю честную игру без скрипто и иного по без обид))))

Ничего не честного в математике и логике не наблюдается...

On 9/27/2019 at 7:53 PM, MarrPass said:

сколько можна заработать?

Сколько заработаешь, все твое. Все зависит от правильности написания и настроек для стратегии. Тесты проводить можно на догах, очень удобно.

9-й крипт стрима:

Spoiler

 

chance = 10 
nextbet = 0.00000001
bethigh = true
prof = 0
X = 1.1 
Deposit = balance
delaybet = 0

function dobet() 
    bethigh= math.random(0,100)%2==0
    
    if (!win and currentstreak <= -15) then
        nextbet = previousbet*X
    elseif win and balance >= prof then 
        nextbet = 0.00000001
        X = 1.1
    end

    if lastBet.Roll < chance then
        X += 0.005
    end
    if balance >= prof then
        prof = balance
    end 
    if lastBet.Nonce > 9999 then
        resetseed()
      end 

    Profit = (balance-Deposit)*100/Deposit
      Profit = math.floor(Profit*100)/100

    print('-----------------------------------------------')
      print('ОБЩИЙ ПРОФИТ = ' .. Profit .. '%')
      print('-----------------------------------------------')
    print(X)
    print(currentstreak)
    print('-----------------------------------------------')
end 

 

 

Edited by Exchanger8
Link to post
Share on other sites

Игра на 2-х валютах - 10-й стрим Сереги:

Spoiler

 

chance=1 
nextbet=0.00000001
bethigh=true 

function dobet()
    if win and bethigh then
        bethigh=false
        currency='ltc'
        chance=2
        nextbet=0.00000001
        print('Игра на LTC')
    elseif (win and !bethigh) then
        bethigh=true
        currency='eth'
        chance=1
        nextbet=0.00000001
        print('Игра на ETH')
    end
    if (!win and bethigh) then
        nextbet=previousbet*1.0125
        print('Игра на ETH')
    end 
    if (!win and !bethigh) then
        nextbet=previousbet*1.025
        print('Игра на LTC')
    end 
end 

 

 

Edited by Exchanger8
Link to post
Share on other sites

Помогите нубу :)Вообщем есть скрипт на ловлю нужного икса мелкой ставкой для прероллов, скрипт ищет сам в какой стороне больше было красных например на x99, вопрос, как можно в него запихать функцию чтоб прероллы были не на таком же иксе который ловишь а на 98% шансе (в том казино просто есть минимальная ставка 0,000005 eth)

Link to post
Share on other sites
5 hours ago, Bulbes said:

Помогите нубу :)Вообщем есть скрипт на ловлю нужного икса мелкой ставкой для прероллов, скрипт ищет сам в какой стороне больше было красных например на x99, вопрос, как можно в него запихать функцию чтоб прероллы были не на таком же иксе который ловишь а на 98% шансе (в том казино просто есть минимальная ставка 0,000005 eth)

Во первых, сумму прерола можно подогнать под минимальную ставку. По поводу подсчета ролов: у тебя заведена переменная на шанс chance= ... ,  

if lastBet.Roll < chance then
        sl +=1
    end 
    if lastBet.Roll >= 100-chance then
        sh +=1
    end

Как вариант можешь завести переменную для другого шанса: например, chance1=0.01, 

 if lastBet.Roll < chance1 then
        sl +=1
    end 
    if lastBet.Roll >= 100-chance1 then
        sh +=1
    end

И он будет считать количество красных на нужном тебе %.

1 hour ago, millioner500 said:

Спасибо за Серегины скрипты, стримы не пропускал, но срипты потерялись. Теперь нашлись.

Всегда пожалуйста! Надеюсь эта тема будет полезна большинству жителей стакана и пд:)

 

16 minutes ago, Haydar said:

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

У каждого свое мнение.

Link to post
Share on other sites
1 hour ago, Exchanger8 said:

Во первых, сумму прерола можно подогнать под минимальную ставку. По поводу подсчета ролов: у тебя заведена переменная на шанс chance= ... ,  

if lastBet.Roll < chance then
        sl +=1
    end 
    if lastBet.Roll >= 100-chance then
        sh +=1
    end

Как вариант можешь завести переменную для другого шанса: например, chance1=0.01, 

 if lastBet.Roll < chance1 then
        sl +=1
    end 
    if lastBet.Roll >= 100-chance1 then
        sh +=1
    end

И он будет считать количество красных на нужном тебе %.

Всегда пожалуйста! Надеюсь эта тема будет полезна большинству жителей стакана и пд:)

 

У каждого свое мнение.

хух большое спасибо, буду мозги напрягать а то уже Серегу Шторма попросил помочь с этим, может я и сам справлюсь :) А тема эта очень полезная, надеюсь её добрые модераторы закрепят чтоб далеко не листать по страницам раздела если затеряется ))) 

Link to post
Share on other sites

 

On 9/30/2019 at 6:17 PM, Bulbes said:

хух большое спасибо, буду мозги напрягать а то уже Серегу Шторма попросил помочь с этим, может я и сам справлюсь :) А тема эта очень полезная, надеюсь её добрые модераторы закрепят чтоб далеко не листать по страницам раздела если затеряется ))) 

Всегда пожалуйста! Не забываем ставить реакции на понравившийся контент.

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

Spoiler

 

chance=19.80 --payot 5x

basebet=balance/160000 --транслировался изначально balance/80000 вариант (можно задать фиксированную ставку от 0.00000001 и выше)

nextbet=basebet

bethigh=false --старт с меньшей стороны

balance1=balance

betcount=0 --счетчик ставок

function dobet()

betcount+=1

basebet=balance/160000

    if (balance<balance1 and betcount%128==0) then --каждые 128 ставок (авто сброс на 0 не отображает в принте) ставку умножает на 2
        nextbet = previousbet * 2 
    end
    if (balance >= balance1) then    
        balance1 = balance
        nextbet = basebet --сброс на базовую ставку
        bethigh = !bethigh --смена стороны положительном профите
        betcount = 0 --сброс счетчика по необходимости
    end

    if lastBet.Nonce > 9999 then --смена сида каждые 9999 ролов
        resetseed()
    end

end

 

 

Edited by Exchanger8
Link to post
Share on other sites
22 hours ago, Exchanger8 said:

 

Всегда пожалуйста! Не забываем ставить реакции на понравившийся контент.

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

chance=19.80 --payot 5x

basebet=balance/160000 --транслировался изначально balance/80000 вариант (можно задать фиксированную ставку от 0.00000001 и выше)

nextbet=basebet

bethigh=false --старт с меньшей стороны

balance1=balance

betcount=0 --счетчик ставок

function dobet()

betcount+=1

basebet=balance/160000

    if (balance<balance1 and betcount%128==0) then --каждые 128 ставок (авто сброс на 0 не отображает в принте) ставку умножает на 2
        nextbet = previousbet * 2 
    end
    if (balance >= balance1) then    
        balance1 = balance
        nextbet = basebet --сброс на базовую ставку
        bethigh = !bethigh --смена стороны положительном профите
        betcount = 0 --сброс счетчика по необходимости
    end

    if lastBet.Nonce > 9999 then --смена сида каждые 9999 ролов
        resetseed()
    end

end

Потестил этот скрипт, работает отлично, но как по мне довольно рисковый, лучше выбирать что-то более сейвовое. А вообще отличная работа, много времени нужно, чтобы с этим языком разобраться ?

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...