script_version("1.0")
script_authors("TheOrbitaYT")
require("lib.moonloader")
local U = require("imgui")
local a = require("fAwesome5")
local r = require("encoding")
local D = U.ImBool(false)
local E = U.ImFloat(0)
local Q = false
local i = renderCreateFont("Arial", 9, 12)
r.default = "CP1251"
local l = r.UTF8
function main()
repeat
wait(0)
until isSampAvailable()
sampAddChatMessage("{EE82EE}[Casino bot BlackJack]: {ffffff}By TheOrbitaYT | TG: {DAA520}@radmir_cheats", -1)
sampRegisterChatCommand("blackjack_bot", open_menu)
while true do
wait(0)
if D.v then
U.Process = true
else
U.Process = false
end
end
end
function onReceivePacket(id, bs)
if id == 215 then
local U = raknetBitStreamReadInt16(bs)
local r = raknetBitStreamReadInt32(bs)
local D = raknetBitStreamReadInt8(bs)
local i = raknetBitStreamReadInt8(bs)
local l = raknetBitStreamReadInt32(bs)
if l > 0 and l < 777 then
bitstreamtext = raknetBitStreamReadString(bs, l)
else
bitstreamtext = nil
end
if Q and bitstreamtext then
if string.find(bitstreamtext, "%('CasinoBlackjack'%).stopGame") then
OnBlackJackBetConfirm(E.v)
end
if Q and string.find(bitstreamtext, "%('CasinoBlackjack'%)") then
lua_thread.create(function()
for U, a in bitstreamtext:gmatch("%[(-?%d+)%]") do
U = tonumber(U)
if U <= 11 then
RandomBlackJackMin()
elseif U == 12 then
RandomBlackJack()
elseif U == 13 then
RandomBlackJack()
elseif U == 14 then
RandomBlackJack()
elseif U == 15 then
RandomBlackJack()
elseif U == 16 then
RandomBlackJack()
elseif U == 17 then
RandomBlackJack()
elseif U >= 18 then
OnBlackJackStop()
printString("~f~BlackJack Status: ~r~Stop", 1500)
end
end
end)
end
end
end
end
function RandomBlackJack()
wait(random(500, 3000))
status = random(1, 3)
if status <= 2 then
OnBlackJackPlusCard()
printString("~f~BlackJack Status: ~g~Take", 1500)
elseif status == 3 then
OnBlackJackStop()
printString("~f~BlackJack Status: ~r~Stop", 1500)
end
end
function RandomBlackJackMin()
wait(random(500, 3000))
status = random(1, 3)
if status == 1 then
OnBlackJackPlusCard()
printString("~f~BlackJack Status: ~y~Double", 1500)
elseif status >= 2 then
OnBlackJackStop()
printString("~f~BlackJack Status: ~r~Stop", 1500)
end
end
function OnBlackJackBetConfirm(U)
local a = raknetNewBitStream()
raknetBitStreamWriteInt8(a, 215)
raknetBitStreamWriteInt16(a, 2)
raknetBitStreamWriteInt32(a, 0)
raknetBitStreamWriteInt32(a, 21)
raknetBitStreamWriteString(a, "OnBlackJackBetConfirm")
raknetBitStreamWriteInt32(a, 2)
raknetBitStreamWriteInt8(a, 100)
raknetBitStreamWriteInt32(a, U)
raknetSendBitStream(a)
raknetDeleteBitStream(a)
end
function OnBlackJackStop()
local U = raknetNewBitStream()
raknetBitStreamWriteInt8(U, 215)
raknetBitStreamWriteInt16(U, 2)
raknetBitStreamWriteInt32(U, 0)
raknetBitStreamWriteInt32(U, 15)
raknetBitStreamWriteString(U, "OnBlackJackStop")
raknetBitStreamWriteInt32(U, 0)
raknetSendBitStream(U)
raknetDeleteBitStream(U)
end
function OnBlackJackDouble()
local U = raknetNewBitStream()
raknetBitStreamWriteInt8(U, 215)
raknetBitStreamWriteInt16(U, 2)
raknetBitStreamWriteInt32(U, 0)
raknetBitStreamWriteInt32(U, 17)
raknetBitStreamWriteString(U, "OnBlackJackDouble")
raknetBitStreamWriteInt32(U, 0)
raknetSendBitStream(U)
raknetDeleteBitStream(U)
end
function OnBlackJackPlusCard()
local U = raknetNewBitStream()
raknetBitStreamWriteInt8(U, 215)
raknetBitStreamWriteInt16(U, 2)
raknetBitStreamWriteInt32(U, 0)
raknetBitStreamWriteInt32(U, 19)
raknetBitStreamWriteString(U, "OnBlackJackPlusCard")
raknetBitStreamWriteInt32(U, 0)
raknetSendBitStream(U)
raknetDeleteBitStream(U)
end
function U.OnDrawFrame()
if D.v then
sizeX = 492
sizeY = 320
resX, resY = getScreenResolution()
posX = resX / 2 - sizeX / 2
posY = resY / 2 - sizeY / 2
U.SetNextWindowPos(U.ImVec2(posX, posY), U.Cond.FirstUseEver)
U.SetNextWindowSize(U.ImVec2(sizeX, sizeY), U.Cond.FirstUseEver)
U.Begin("BlackJack auto-bet | TG: @radmir_cheats", D, (((((U.WindowFlags.NoResize + U.WindowFlags.NoCollapse) + U.WindowFlags.NoScrollbar) + U.WindowFlags.NoScrollWithMouse) + U.WindowFlags.NoSavedSettings) + U.WindowFlags.AlwaysUseWindowPadding) + U.WindowFlags.ShowBorders)
U.SetCursorPos(U.ImVec2(200, 65))
U.Text(l("Твоя ставка : "))
U.SetCursorPos(U.ImVec2(85, 85))
U.SliderFloat(l("##BET"), E, 10, 10000, "%.f")
U.Hint(l("Тут можно выбрать сумму ставки."), 0)
U.SetCursorPos(U.ImVec2(120, 120))
if U.Button(l("BlackJack - Start ") .. a.ICON_FA_LIFE_RING, U.ImVec2(250, 65)) then
Q = not Q
OnBlackJackBetConfirm(E.v)
end
U.SetCursorPos(U.ImVec2(15, 295))
if U.ButtonHex("Reload", 16711680, U.ImVec2(70, 20)) then
(thisScript()):reload()
end
U.Hint(l("Нажми чтоб перезагрузить скрипт."), 0)
U.SetCursorPos(U.ImVec2(410, 300))
U.Text("Version: 1.0")
U.End()
end
end
function open_menu()
D.v = not D.v
end
function style()
U.SwitchContext()
local a = U.GetStyle()
local r = a.Colors
local D = U.Col
local E = U.ImVec4
local Q = U.ImVec2
a.WindowRounding = 10
a.ChildWindowRounding = 10
a.FrameRounding = 6
a.ItemSpacing = U.ImVec2(5, 5)
a.ItemInnerSpacing = U.ImVec2(5, 5)
a.IndentSpacing = 21
a.ScrollbarSize = 10
a.ScrollbarRounding = 13
a.GrabMinSize = 17
a.GrabRounding = 16
a.WindowTitleAlign = U.ImVec2(.5, .5)
a.ButtonTextAlign = U.ImVec2(.5, .5)
r[D.Text] = E(1, 1, 1, 1)
r[D.TextDisabled] = E(.73, .75, .74, 1)
r[D.WindowBg] = E(0, 0, 0, .94)
r[D.ChildWindowBg] = E(0, 0, 0, 0)
r[D.PopupBg] = E(.08, .08, .08, .94)
r[D.Border] = E(.2, .2, .2, .5)
r[D.BorderShadow] = E(0, 0, 0, 0)
r[D.FrameBg] = E(.26, .37, .98, .54)
r[D.FrameBgHovered] = E(.33, .33, .93, .4)
r[D.FrameBgActive] = E(.44, .44, .99, .67)
r[D.TitleBg] = E(.3, .33, .95, .67)
r[D.TitleBgActive] = E(0, .16, 1, 1)
r[D.TitleBgCollapsed] = E(.22, .19, 1, .67)
r[D.MenuBarBg] = E(.39, .56, 1, 1)
r[D.ScrollbarBg] = E(.02, .02, .02, .53)
r[D.ScrollbarGrab] = E(.31, .31, .31, 1)
r[D.ScrollbarGrabHovered] = E(.41, .41, .41, 1)
r[D.ScrollbarGrabActive] = E(.51, .51, .51, 1)
r[D.ComboBg] = E(.2, .2, .2, .99)
r[D.CheckMark] = E(1, 1, 1, 1)
r[D.SliderGrab] = E(.3, .41, .99, 1)
r[D.SliderGrabActive] = E(.52, .52, .97, 1)
r[D.Button] = E(.11, .13, .93, .65)
r[D.ButtonHovered] = E(.41, .57, 1, .65)
r[D.ButtonActive] = E(.2, .2, .2, .5)
r[D.Header] = E(.15, .19, 1, .54)
r[D.HeaderHovered] = E(.03, .24, .57, .65)
r[D.HeaderActive] = E(.36, .4, .95, 0)
r[D.Separator] = E(.43, .43, .5, .5)
r[D.SeparatorHovered] = E(.2, .42, .98, .54)
r[D.SeparatorActive] = E(.2, .4, .93, .54)
r[D.ResizeGrip] = E(.01, .17, 1, .54)
r[D.ResizeGripHovered] = E(.21, .51, .98, .45)
r[D.ResizeGripActive] = E(.04, .55, .95, .66)
r[D.CloseButton] = E(.41, .41, .41, 1)
r[D.CloseButtonHovered] = E(.1, .21, .98, 1)
r[D.CloseButtonActive] = E(.02, .26, 1, 1)
r[D.PlotLines] = E(.61, .61, .61, 1)
r[D.PlotLinesHovered] = E(.18, .15, 1, 1)
r[D.PlotHistogram] = E(.9, .7, 0, 1)
r[D.PlotHistogramHovered] = E(1, .6, 0, 1)
r[D.TextSelectedBg] = E(.26, .59, .98, .35)
r[D.ModalWindowDarkening] = E(.8, .8, .8, .35)
end
style()
function U.Hint(a, r, D)
if U.IsItemHovered() then
if go_hint == nil then
go_hint = os.clock() + (r and r or 0)
end
local E = (os.clock() - go_hint) * 5
if os.clock() >= go_hint then
U.PushStyleVar(U.StyleVar.WindowPadding, U.ImVec2(10, 10))
U.PushStyleVar(U.StyleVar.Alpha, E <= 1 and E or 1)
U.PushStyleColor(U.Col.PopupBg, U.ImVec4(.11, .11, .11, 1))
U.BeginTooltip()
U.PushTextWrapPos(450)
U.TextColored((U.GetStyle()).Colors[U.Col.ButtonHovered], l(" Подсказка:"))
U.TextUnformatted(a)
if D ~= nil then
U.TextColored((U.GetStyle()).Colors[U.Col.TextDisabled], "\n " .. D)
end
if not U.IsItemVisible() and (U.GetStyle()).Alpha == 1 then
go_hint = nil
end
U.PopTextWrapPos()
U.EndTooltip()
U.PopStyleColor()
U.PopStyleVar(2)
end
end
end
function U.ButtonHex(a, r, D)
local E = bit.band(bit.rshift(r, 16), 255) / 255
local Q = bit.band(bit.rshift(r, 8), 255) / 255
local i = bit.band(r, 255) / 255
U.PushStyleColor(U.Col.Button, U.ImVec4(E, Q, i, .6))
U.PushStyleColor(U.Col.ButtonHovered, U.ImVec4(E, Q, i, .8))
U.PushStyleColor(U.Col.ButtonActive, U.ImVec4(E, Q, i, 1))
local l = U.Button(a, D)
U.PopStyleColor(3)
return l
end
local X = nil
local x = U.ImGlyphRanges({
a.min_range,
a.max_range
})
function U.BeforeDrawFrame()
if X == nil then
local a = U.ImFontConfig()
a.MergeMode = true
X = (U.GetIO()).Fonts:AddFontFromFileTTF("moonloader/resource/fonts/fa-solid-900.ttf", 13, a, x)
end
end
function random(U, a)
kf = math.random(U, a)
math.randomseed(os.time() * kf)
rand = math.random(U, a)
return tonumber(rand)
end