Заказываем lua скрипты

Статус
В этой теме нельзя размещать новые ответы.

imring

Ride the Lightning
Всефорумный модератор
2,355
2,516
Что-то не могу понять как использовать это, в цикле или условиях? И можешь показать это с print(). Тем более не понимаю принцип pairs, в инете не понятно написано.
Lua:
vkeys = require 'vkeys'

function main()
    -- Проверки..
    while true do
        wait(0)
        for w, k in pairs(vkeys) do
            if wasKeyPressed(k) then print(k) end
        end
    end
end
Будет выводить в консоль ID клавиш, которые ты нажал
 
  • Нравится
Реакции: AnWu и Hatiko

kizn

О КУ)))
Всефорумный модератор
2,405
2,054
Надо короче скрипт, если появится в чате строка (от сервера) На обработку объявлений пришло сообщение
То он нажимает на клавишу Alt и если появился диалог, жмет Enter.
 

imring

Ride the Lightning
Всефорумный модератор
2,355
2,516
Надо короче скрипт, если появится в чате строка (от сервера) На обработку объявлений пришло сообщение
То он нажимает на клавишу Alt и если появился диалог, жмет Enter.
Lua:
samp = require 'samp.events'
ad = false

function main()
    while not isSampAvailable() do wait(0) end
    while true do wait(0)
        if ad and sampIsDialogActive() then
            setVirtualKeyDown(0x0D, true)
            setVirtualKeyDown(0x0D, false)
            ad = false
        end
    end
end

function samp.onServerMessage(clr, msg)
    if msg == 'На обработку объявлений пришло сообщение' then
        ad = true
        setVirtualKeyDown(0x12, true)
        setVirtualKeyDown(0x12, false)
    end
end
 

mrdiimax

Известный
566
79
Дизайн в полном коде,примерно такой,что то подобное.
1.png
 

imring

Ride the Lightning
Всефорумный модератор
2,355
2,516
Дизайн в полном коде,примерно такой,что то подобное.
1.png
HS5vlZI.png

Lua:
imgui                            = require 'imgui'
samp                            = require 'samp.events'
encoding                        = require 'encoding'
encoding.default                    = 'CP1251'
u8                            = encoding.UTF8
active_menu                        = imgui.ImBool(false)

function apply_custom_style()
    imgui.SwitchContext()
    local style = imgui.GetStyle()
    local colors = style.Colors
    local clr = imgui.Col
    local ImVec4 = imgui.ImVec4

    style.WindowRounding = 2.0
    style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84)
    style.ChildWindowRounding = 2.0
    style.FrameRounding = 2.0
    style.ItemSpacing = imgui.ImVec2(5.0, 4.0)
    style.ScrollbarSize = 13.0
    style.ScrollbarRounding = 0
    style.GrabMinSize = 8.0
    style.GrabRounding = 1.0
    colors[clr.Text]            = ImVec4(1.00, 1.00, 1.00, 1.00)
    colors[clr.TextDisabled]        = ImVec4(0.50, 0.50, 0.50, 1.00)
    colors[clr.WindowBg]            = ImVec4(0.06, 0.06, 0.06, 0.94)
    colors[clr.ChildWindowBg]        = ImVec4(1.00, 1.00, 1.00, 0.00)
    colors[clr.PopupBg]            = ImVec4(0.08, 0.08, 0.08, 0.94)
    colors[clr.ComboBg]            = colors[clr.PopupBg]
    colors[clr.Border]            = ImVec4(0.43, 0.43, 0.50, 0.50)
    colors[clr.BorderShadow]        = ImVec4(0.00, 0.00, 0.00, 0.00)
    colors[clr.FrameBg]            = ImVec4(0.16, 0.29, 0.48, 0.54)
    colors[clr.FrameBgHovered]        = ImVec4(0.26, 0.59, 0.98, 0.40)
    colors[clr.FrameBgActive]        = ImVec4(0.26, 0.59, 0.98, 0.67)
    colors[clr.TitleBg]            = ImVec4(0.04, 0.04, 0.04, 1.00)
    colors[clr.TitleBgActive]        = ImVec4(0.16, 0.29, 0.48, 1.00)
    colors[clr.TitleBgCollapsed]        = ImVec4(0.00, 0.00, 0.00, 0.51)
    colors[clr.MenuBarBg]            = ImVec4(0.14, 0.14, 0.14, 1.00)
    colors[clr.ScrollbarBg]        = ImVec4(0.02, 0.02, 0.02, 0.53)
    colors[clr.ScrollbarGrab]        = ImVec4(0.31, 0.31, 0.31, 1.00)
    colors[clr.ScrollbarGrabHovered]    = ImVec4(0.41, 0.41, 0.41, 1.00)
    colors[clr.ScrollbarGrabActive]    = ImVec4(0.51, 0.51, 0.51, 1.00)
    colors[clr.CheckMark]            = ImVec4(0.26, 0.59, 0.98, 1.00)
    colors[clr.SliderGrab]            = ImVec4(0.24, 0.52, 0.88, 1.00)
    colors[clr.SliderGrabActive]        = ImVec4(0.26, 0.59, 0.98, 1.00)
    colors[clr.Button]            = ImVec4(0.26, 0.59, 0.98, 0.40)
    colors[clr.ButtonHovered]        = ImVec4(0.26, 0.59, 0.98, 1.00)
    colors[clr.ButtonActive]        = ImVec4(0.06, 0.53, 0.98, 1.00)
    colors[clr.Header]            = ImVec4(0.26, 0.59, 0.98, 0.31)
    colors[clr.HeaderHovered]        = ImVec4(0.26, 0.59, 0.98, 0.80)
    colors[clr.HeaderActive]        = ImVec4(0.26, 0.59, 0.98, 1.00)
    colors[clr.Separator]            = colors[clr.Border]
    colors[clr.SeparatorHovered]        = ImVec4(0.26, 0.59, 0.98, 0.78)
    colors[clr.SeparatorActive]        = ImVec4(0.26, 0.59, 0.98, 1.00)
    colors[clr.ResizeGrip]            = ImVec4(0.26, 0.59, 0.98, 0.25)
    colors[clr.ResizeGripHovered]    = ImVec4(0.26, 0.59, 0.98, 0.67)
    colors[clr.ResizeGripActive]        = ImVec4(0.26, 0.59, 0.98, 0.95)
    colors[clr.CloseButton]        = ImVec4(0.41, 0.41, 0.41, 0.50)
    colors[clr.CloseButtonHovered]    = ImVec4(0.98, 0.39, 0.36, 1.00)
    colors[clr.CloseButtonActive]        = ImVec4(0.98, 0.39, 0.36, 1.00)
    colors[clr.PlotLines]            = ImVec4(0.61, 0.61, 0.61, 1.00)
    colors[clr.PlotLinesHovered]        = ImVec4(1.00, 0.43, 0.35, 1.00)
    colors[clr.PlotHistogram]        = ImVec4(0.90, 0.70, 0.00, 1.00)
    colors[clr.PlotHistogramHovered]    = ImVec4(1.00, 0.60, 0.00, 1.00)
    colors[clr.TextSelectedBg]        = ImVec4(0.26, 0.59, 0.98, 0.35)
    colors[clr.ModalWindowDarkening]    = ImVec4(0.80, 0.80, 0.80, 0.35)

end

apply_custom_style()

function imgui.OnDrawFrame()
    local x, y = getScreenResolution()
    if active_menu.v then
        imgui.LockPlayer = true
        imgui.SetNextWindowPos(imgui.ImVec2(x/2, y/2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(900, 500), imgui.Cond.FirstUseEver)
        imgui.Begin(u8('Настройи'), active_menu)
        imgui.BeginChild('left pane', imgui.ImVec2(150, 0), true)
        if not selected then selected = 1 end
        if imgui.Selectable(u8('Основное'), false) then selected = 1 end
        if imgui.Selectable(u8('Клавиши'), false) then selected = 2 end
        if imgui.Selectable(u8('Модификации'), false) then selected = 3 end
        if imgui.Selectable(u8('Доп. команды'), false) then selected = 4 end
        if imgui.Selectable(u8('Биндер'), false) then selected = 5 end
        imgui.EndChild()
        imgui.SameLine()
        imgui.BeginGroup()
        if selected == 1 then --[[код]] end
        -- ...
        imgui.EndGroup()
        imgui.End()
    end
end

function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('opmenu', function() active_menu.v = not active_menu.v end)
    while true do wait(0) imgui.Process = active_menu.v end
end
 
  • Нравится
Реакции: mrdiimax

kizn

О КУ)))
Всефорумный модератор
2,405
2,054
Lua:
samp = require 'samp.events'
ad = false

function main()
    while not isSampAvailable() do wait(0) end
    while true do wait(0)
        if ad and sampIsDialogActive() then
            setVirtualKeyDown(0x0D, true)
            setVirtualKeyDown(0x0D, false)
            ad = false
        end
    end
end

function samp.onServerMessage(clr, msg)
    if msg == 'На обработку объявлений пришло сообщение' then
        ad = true
        setVirtualKeyDown(0x12, true)
        setVirtualKeyDown(0x12, false)
    end
end
Спасибо большое, как сюда впихнуть активацию командой /activate ?
 
1,417
1,028
@iTzKisn
Lua:
samp = require 'samp.events'
ad = false

function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('activate', function() active = not active end)
    while true do wait(0)
        if ad and sampIsDialogActive() then
            setVirtualKeyDown(0x0D, true)
            setVirtualKeyDown(0x0D, false)
            ad = false
        end
    end
end

function samp.onServerMessage(clr, msg)
    if msg == 'На обработку объявлений пришло сообщение' and active then
        ad = true
        setVirtualKeyDown(0x12, true)
        setVirtualKeyDown(0x12, false)
    end
end
 
  • Нравится
Реакции: kizn

imring

Ride the Lightning
Всефорумный модератор
2,355
2,516
@iTzKisn
Lua:
samp = require 'samp.events'
ad = false

function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('activate', function() active = not active end)
    while true do wait(0)
        if ad and sampIsDialogActive() then
            setVirtualKeyDown(0x0D, true)
            setVirtualKeyDown(0x0D, false)
            ad = false
        end
    end
end

function samp.onServerMessage(clr, msg)
    if msg == 'На обработку объявлений пришло сообщение' and active then
        ad = true
        setVirtualKeyDown(0x12, true)
        setVirtualKeyDown(0x12, false)
    end
end
ты забыл вначале кода написать active = false
 
  • Нравится
Реакции: kizn

Malkas

Новичок
17
1
получения id диалога, считывание и вывод инфы с текстдравов
 
1,417
1,028
получения id диалога, считывание и вывод инфы с текстдравов
Lua:
local q = require 'lib.samp.events'
DialogInfo = 'ID: NULL\nTitle:NULL\nButton1:NULL\nButton2:NULL\n'
TextDrawInfo = 'TextDraw ID: NULL\nFlags:NULL\nColor:NULL\nText:NULL'

function main()
    repeat wait(0) until isSampAvailable()
    font = renderCreateFont('Arial', 8, 5)
    X, Y = convertGameScreenCoordsToWindowScreenCoords(250.0, 220.0)
    while true do wait(0)
        renderFontDrawText(font, DialogInfo..'\n'..TextDrawInfo, X, Y, -1)
    end
end

function q.onShowDialog(dialogId, style, title, button1, button2)
    DialogInfo = string.format('Dialog ID: %d\nTitle:%s\nStyle:%d\nButton1:%s\nButton2:%s\n', dialogId, title, style, button1, button2)
end
function q.onShowTextDraw(textdrawId, data)
    TextDrawInfo = string.format('TextDraw ID: %d\nFlags:%d\nColor:%X\nText:%s', textdrawId, data.flags, data.color, data.text)
end
--[[
data.flags = read.int8(bs)
    data.letterWidth = read.float(bs)
    data.letterHeight = read.float(bs)
    data.letterColor = read.int32(bs)
    data.lineWidth = read.float(bs)
    data.lineHeight = read.float(bs)
    data.boxColor = read.int32(bs)
    data.shadow = read.int8(bs)
    data.outline = read.int8(bs)
    data.backgroundColor = read.int32(bs)
    data.style = read.int8(bs)
    data.selectable = read.int8(bs)
    data.position = read.vector2d(bs)
    data.modelId = read.int16(bs)
    data.rotation = read.vector3d(bs)
    data.zoom = read.float(bs)
    data.color = read.int32(bs)
    data.text = read.string16(bs)
]]
 

Mihan

Новичок
2
0
Lua bot дальнобойщика Diamond RP. Или подкинь инфу как его разработать
 

AnWu

Guardian of Order
Всефорумный модератор
4,686
5,155
Lua bot дальнобойщика Diamond RP. Или подкинь инфу как его разработать
Две руки, голова и желание что-то сделать. Поставить задачу, разбить на пункты, сделав что-то - ставить галочку у пункта. Придумать как он будет работать и какие средства для этого нужны.
 
  • Нравится
Реакции: deddosouru и user116675

Malkas

Новичок
17
1
гм кар/обычный гм, без всяких обходов, просто игнорированием BulletSyncData
 

Immunity

Активный
210
44
Универсальный нарко-таймер с изменение время таймера/кнопки активации нарко/Команда для активации наркотиков
пажаласта))
 
Статус
В этой теме нельзя размещать новые ответы.