Помощь в изменении скриптов

FYP

Известный
Автор темы
Администратор
1,763
5,911
Здесь вы можете попросить других пользователей внести какие-то небольшие изменения в скрипт, например, изменить активацию.
Для вопросов по программированию и разработке на форуме есть отдельная категория Разработка.

Рекомендации:
  1. Не просите о редактировании .asi, .sf, .luac, .dll, .exe и прочих файлов, не поддающихся простой декомпиляции. Скрипты формата .ahk (AutoHotKey), .lua (Lua/MoonLoader) и .cs (CLEO) легко поддаются изменению.
  2. Сообщения по типу "спасибо, помог" по правилам форума считаются флудом и скорее всего будут удалены. Если вам помогли, вы можете нажать кнопку Мне нравится под ответом - это даст понять, что ответ верный.
  3. За злонамеренное распространение вредоносного ПО - перманентный бан. Имейте это в виду.
Удаление копирайтов является нарушением авторских прав, если автор не дал на это своего разрешения. Правила BlastHack запрещают нарушать авторские права, поэтому если вам нужно их убрать - обращайтесь к автору.
 
Последнее редактирование:

Federal_OnDuty

Новичок
11
0
Поставьте активацию не автоматическую а на кнопку , пожалуйста! Кнопка U
 

Вложения

  • kill_custom_bots_1_hit.lua
    986 байт · Просмотры: 4

Adam05

Участник
49
4
Помогите плез, можно как нибудь сделать так, чтоб менюшку этого скрипта можно было двигать? А то оно статично стоит, и если альт-табнуть то перенесется в угол экрана и будет мешать, заранее спасибо!
 

Вложения

  • Count resources.lua
    10 KB · Просмотры: 2

976h

Активный
198
54
Помогите плез, можно как нибудь сделать так, чтоб менюшку этого скрипта можно было двигать? А то оно статично стоит, и если альт-табнуть то перенесется в угол экрана и будет мешать, заранее спасибо!
Просто убрать "imgui.WindowFlags.NoMove"


Lua:
script_name('Count resources')
script_description('Count resources for mine(/rc). Если во время сбора ресурсов в подземной шахте, скупаете ресурсы в лавке, поставьте галочку"Лавка"')
script_author('bepis')

require("lib.moonloader")
local se = require "lib.samp.events"
local imgui = require('imgui')
local encoding = require("encoding")
encoding.default = 'CP1251'
u8 = encoding.UTF8

local undermineEnabled = false
local underminelavkaEnabled = false
local regularmineEnabled = false
local showResourcesWindow = false
local sw, sh = getScreenResolution()
local stone, metal, bronze, silver, gold, diamond, tkan, splav, materia, azbox = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

local resourcePrices = {
        stone = 26000,
        metal = 110000,
        bronze = 80000,
        silver = 18000,
        gold = 50000,
        diamond = 500000,
        tkan = 18000000,
        splav = 5000000,
        materia = 4000000,
        azbox = 1000000
    }

local configPath = "C:\\Games\\Arizona\\moonloader\\config\\resources_config.txt"

local function loadConfig()
    local file = io.open(configPath, 'r')
    if file then
        for line in file:lines() do
            local resource, count = line:match("(%w+)%s+(%d+)")
            if resource then
                if resource == "stone" then stone = tonumber(count)
                elseif resource == "metal" then metal = tonumber(count)
                elseif resource == "bronze" then bronze = tonumber(count)
                elseif resource == "silver" then silver = tonumber(count)
                elseif resource == "gold" then gold = tonumber(count)
                elseif resource == "diamond" then diamond = tonumber(count)
                elseif resource == "tkan" then tkan = tonumber(count)
                elseif resource == "splav" then splav = tonumber(count)
                elseif resource == "materia" then materia = tonumber(count)
                elseif resource == "azbox" then azbox = tonumber(count)
                end
            end
        end
        file:close()
    end
end

local function saveConfig()
    local file = io.open(configPath, 'w')
    if file then
        file:write(string.format("stone %d\n", stone))
        file:write(string.format("metal %d\n", metal))
        file:write(string.format("bronze %d\n", bronze))
        file:write(string.format("silver %d\n", silver))
        file:write(string.format("gold %d\n", gold))
        file:write(string.format("diamond %d\n", diamond))
        file:write(string.format("tkan %d\n", tkan))
        file:write(string.format("splav %d\n", splav))
        file:write(string.format("materia %d\n", materia))
        file:write(string.format("azbox %d\n", azbox))
        file:close()
    end
end

local function calculateTotalValue()
    local total = stone * resourcePrices.stone + metal * resourcePrices.metal + bronze * resourcePrices.bronze +
            silver * resourcePrices.silver + gold * resourcePrices.gold + diamond * resourcePrices.diamond +
            tkan * resourcePrices.tkan + splav * resourcePrices.splav + materia * resourcePrices.materia +
            azbox * resourcePrices.azbox
    return total
end

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then
        sampAddChatMessage("{FFFFFF}[rc by bepis]: {FF0000}SAMP or SAMPFUNCS not loaded.", -1)
        return
    end
    while not isSampAvailable() do wait(100) end
    imgui.Process = false
    sampRegisterChatCommand("rc", function()
        showResourcesWindow = not showResourcesWindow
        imgui.Process = showResourcesWindow
    end)
    loadConfig()
    sampAddChatMessage("{FFD700}[rc by bepis] {FFFFFF}Скрипт загружен! Используйте /rc", -1)
    while true do
        wait(0)
    end
end

local undermine = imgui.ImBool(false)
local underminelavka = imgui.ImBool(false)
local regularmine = imgui.ImBool(false)

function imgui.OnDrawFrame()
    if not showResourcesWindow then return end

    imgui.SetNextWindowSize(imgui.ImVec2(280, 330), imgui.Cond.FirstUseEver)
    imgui.SetNextWindowPos(imgui.ImVec2(sw-1730, sh-330), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 1))
    imgui.ShowCursor = false

    imgui.Begin("", nil, imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoResize)

    imgui.SameLine(imgui.GetWindowWidth() - 220); imgui.Text(u8"Счетчик ресурсов by bepis")

    imgui.Separator()
    imgui.Text(u8("Собрано камня: ") .. stone)
    imgui.Text(u8("Собрано металла: ") .. metal)
    imgui.Text(u8("Собрано бронзы: ") .. bronze)
    imgui.Text(u8("Собрано серебра: ") .. silver)
    imgui.Text(u8("Собрано золота: ") .. gold)
    imgui.Text(u8("Собрано алмазов: ") .. diamond)
    imgui.Text(u8("Собрано тканей: ") .. tkan)
    imgui.Text(u8("Собрано сплавов: ") .. splav)
    imgui.Text(u8("Собрано материи: ") .. materia)
    imgui.Text(u8("Собрано сундуков с аз: ") .. azbox)
    imgui.Separator()
    imgui.Text(u8("Общий заработок: ") .. calculateTotalValue())

    imgui.PushStyleColor(imgui.Col.Button, imgui.ImVec4(0.2, 0.6, 0.8, 1))
    if imgui.Button(u8("Очистить")) then
        stone, metal, bronze, silver, gold, diamond, tkan, splav, materia, azbox = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
        saveConfig()
    end
    imgui.PopStyleColor()

    imgui.PushStyleColor(imgui.Col.CheckMark, imgui.ImVec4(0.2, 0.6, 0.8, 1))

    if imgui.Checkbox(u8("Подземная шахта"), undermine) then
        if undermine.v then
            undermineEnabled = true
            regularmine.v = false
            regularmineEnabled = false
        else
            undermineEnabled = false
            underminelavka.v = false
            underminelavkaEnabled = false
        end
    end

    if imgui.Checkbox(u8("Лавка"), underminelavka) then
        if underminelavka.v then
            underminelavkaEnabled = true
            regularmine.v = false
            regularmineEnabled = false
            undermine.v = true
            undermineEnabled = true
        else
            underminelavkaEnabled = false
            if underminelavkaHandler then
                se.onServerMessage = nil
            end
        end
    end

    if imgui.Checkbox(u8("Обычная шахта"), regularmine) then
        if regularmine.v then
            regularmineEnabled = true
            undermine.v = false
            undermineEnabled = false
            underminelavka.v = false
            underminelavkaEnabled = false
        else
            regularmineEnabled = false
        end
    end

    imgui.PopStyleColor()
    imgui.End()
end

function handleItemReceived(text)
    if undermineEnabled and text:find("Вам был добавлен предмет '") then
        local itemName = text:match("Вам был добавлен предмет '([^']+)'")
        if itemName then
            -- Увеличиваем количество ресурса в зависимости от полученного предмета
            if itemName == "Камень" then
                stone = stone + 3
            elseif itemName == "Металл" then
                metal = metal + 3
            elseif itemName == "Бронза" then
                bronze = bronze + 3
            elseif itemName == "Серебро" then
                silver = silver + 2
            elseif itemName == "Золото" then
                gold = gold + 2
            elseif itemName == "Алмазный камень" then
                diamond = diamond + 1
            elseif itemName == "Прочная ткань" then
                tkan = tkan + 1
            elseif itemName == "Шахтерский сплав" then
                splav = splav + 1
            elseif itemName == "Темная материя" then
                materia = materia + 1
            elseif itemName == "Ларец с AZ-Монетами" then
                azbox = azbox + 1
            end
            saveConfig()  -- Сохраняем конфигурацию после обновления значений
        end
    end
end

function handleItemBought(text)
    if underminelavkaEnabled and text:find("Вы купили (.+) %((%d+) шт%.%) у игрока .+ за %$%d+") then
        local itemName = text:match("Вы купили (.+) %((%d+) шт%.%).*")
        if itemName then
            -- Уменьшаем количество ресурса в зависимости от купленного предмета
            if itemName == "Камень" then
                stone = stone - 3
            elseif itemName == "Металл" then
                metal = metal - 3
            elseif itemName == "Бронза" then
                bronze = bronze - 3
            elseif itemName == "Серебро" then
                silver = silver - 3
            elseif itemName == "Золото" then
                gold = gold - 3
            elseif itemName == "Алмазный камень" then
                diamond = diamond - 1
            elseif itemName == "Прочная ткань" then
                tkan = tkan - 1
            elseif itemName == "Шахтерский сплав" then
                splav = splav - 1
            elseif itemName == "Темная материя" then
                materia = materia - 1
            elseif itemName == "Ларец с AZ-Монетами" then
                azbox = azbox - 1
            end
            saveConfig()  -- Сохраняем конфигурацию после обновления значений
        end
    end
end

function se.onDisplayGameText(style, tm, text)
    if regularmineEnabled then
        if text == "metal + 1" then
            metal = metal + 1
        elseif text == "stone + 1" then
            stone = stone + 1
        elseif text == "gold + 1" then
            gold = gold + 1
        elseif text == "bronze + 1" then
            bronze = bronze + 1
        elseif text == "silver + 1" then
            silver = silver + 1
        elseif text == "metal + 2" then
            metal = metal + 2
        elseif text == "stone + 2" then
            stone = stone + 2
        elseif text == "gold + 2" then
            gold = gold + 2
        elseif text == "bronze + 2" then
            bronze = bronze + 2
        elseif text == "silver + 2" then
            silver = silver + 2
        end
        saveConfig()  -- Сохраняем конфигурацию после обновления значений
    end
end

function se.onServerMessage(color, text)
    handleItemReceived(text)
    handleItemBought(text)
end
 

killerson

Участник
36
0
сделать возможность сохранять положение бара после перезахода
 

Вложения

  • wantedbar.lua
    15.4 KB · Просмотры: 0

Ax3L

Режим чтения
144
9
Помогите эту херню пофиксить, она не работает
 

Вложения

  • PidorasFinder.lua
    1.1 KB · Просмотры: 7

Reixo

Новичок
1
0
Версия SA-MP:
  1. 0.3.7 (R1)

У меня есть проблема, и я хочу, чтобы этот клей отправил больше двух значений, например /chatflood 10000 привет мир

В таком состоянии, как сейчас, клио говорит только "привет", но не слышит "мир".
 

Вложения

  • ChatFlood.cs
    18 KB · Просмотры: 4

WiseRetarded

Новичок
1
0
Перепишите что бы флудил alt вместо enter
 

Вложения

  • флудилка.lua
    354 байт · Просмотры: 5

dimon88

Новичок
5
0
в скрипте есть встроенный анти афк но он не работает с ботом
 

Вложения

  • fishbotdrp_v2.lua
    12.7 KB · Просмотры: 4

Leo_Yanev

Новичок
1
0
Сделайте пожалуйста чтоб на кнопку F2, писалась команда /vip и ID игрока который нарушил КД рекламу.
когда я пишу /vip 362, открывается окно где я мышкой выбираю наказание и смотрю на сколько КД или что он писал в /vr чат
 

Вложения

  • VipChat.lua
    417.8 KB · Просмотры: 2
  • 20.09.19.765.jpg
    20.09.19.765.jpg
    134.8 KB · Просмотры: 18

Сокiл

Новичок
1
0
расширьте слоты для триггеров до 20
Держи, /3drend


Lua:
local imgui = require("imgui")
local sampeb = require('lib.samp.events')
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8

local window = imgui.ImBool(false)
local onall = imgui.ImBool(false)
local rendtall = imgui.ImBool(false)

local triggers = {}
for i = 1, 20 do
    triggers[i] = {
        text = imgui.ImBuffer(u8'', 256),
        render = imgui.ImBool(false),
        tracer = imgui.ImBool(false)
    }
end

local font = renderCreateFont("Arial", 10, 14)
local inicfg = require 'inicfg'

function main()
    while not isSampAvailable() do wait(200) end
    sampRegisterChatCommand('3drend', cmd)
    imgui.Process = false
    window.v = false

    while true do
        wait(0)
        for id = 0, 2048 do
            local result = sampIs3dTextDefined(id)
            if result then
                local text, color, posX, posY, posZ, distance, ignoreWalls, playerId, vehicleId = sampGet3dTextInfoById(id)
                
                if onall.v then
                    renderText(text, posX, posY, posZ)
                else
                    for i = 1, 20 do
                        if text:find(u8:decode(triggers[i].text.v)) and triggers[i].render.v then
                            renderText(text, posX, posY, posZ)
                        end
                    end
                end
                
                if rendtall.v then
                    renderTracer(posX, posY, posZ)
                else
                    for i = 1, 20 do
                        if text:find(u8:decode(triggers[i].text.v)) and triggers[i].tracer.v then
                            renderTracer(posX, posY, posZ)
                        end
                    end
                end
            end
        end
        imgui.Process = window.v
    end
end

function renderText(text, posX, posY, posZ)
    local wposX, wposY = convert3DCoordsToScreen(posX, posY, posZ)
    local resX, resY = getScreenResolution()
    if wposX < resX and wposY < resY and isPointOnScreen(posX, posY, posZ, 1) then
        renderFontDrawText(font, text, wposX, wposY, -1)
    end
end

function renderTracer(posX, posY, posZ)
    if isPointOnScreen(posX, posY, posZ, 1) then
        local wposX, wposY = convert3DCoordsToScreen(posX, posY, posZ)
        local x2, y2, z2 = getCharCoordinates(PLAYER_PED)
        local x10, y10 = convert3DCoordsToScreen(x2, y2, z2)
        renderDrawLine(x10, y10, wposX, wposY, 2.0, 0xFFD00000)
    end
end



function imgui.OnDrawFrame()
    if window.v then
        imgui.SetNextWindowPos(imgui.ImVec2(430.0, 250.0), imgui.Cond.FirstUseEver)
        imgui.SetNextWindowSize(imgui.ImVec2(280.0, 300.0), imgui.Cond.FirstUseEver)
        imgui.Begin(u8'Рендер на 3д тексты', window)
        if imgui.Button(u8'Триггеры') then
            tab1 = true
            tab2 = false
            tab3 = false
        end
        imgui.SameLine(96, 0)
        if imgui.Button(u8'Трейсеры') then
            tab2 = true
            tab1 = false
            tab3 = false
        end
        imgui.Separator()

        if tab1 then
            if imgui.Checkbox(u8'Срабатывать на все', onall) then end
            if not onall.v then
                for i = 1, 20 do
                    imgui.NewInputText('##' .. i, triggers[i].text, 210, u8'Вводите триггер сюда', 2)
                    imgui.SameLine(232, 0)
                    imgui.Checkbox('##' .. i .. 'chck', triggers[i].render)
                end
            end
        end

        if tab2 then
            imgui.Checkbox(u8'Трейсер на всё', rendtall)
            for i = 1, 20 do
                local triggerText = triggers[i].text.v == '' and u8('Трейсер на триггер ' .. i) or (u8'Трейсер на ' .. triggers[i].text.v)
                imgui.Checkbox(triggerText, triggers[i].tracer)
            end
        end

        imgui.End()
    end
end

function cmd()
    window.v = not window.v
end

function imgui.NewInputText(label, val, width, hint, hintpos)
    local hint = hint or ''
    local hintpos = tonumber(hintpos) or 1
    local cPos = imgui.GetCursorPos()
    imgui.PushItemWidth(width)
    local result = imgui.InputText(label, val)
    if #val.v == 0 then
        local hintSize = imgui.CalcTextSize(hint)
        if hintpos == 2 then
            imgui.SameLine(cPos.x + (width - hintSize.x) / 2)
        elseif hintpos == 3 then
            imgui.SameLine(cPos.x + (width - hintSize.x - 5))
        else
            imgui.SameLine(cPos.x + 5)
        end
        imgui.TextColored(imgui.ImVec4(1.00, 1.00, 1.00, 0.40), tostring(hint))
    end
    imgui.PopItemWidth()
    return result
end


































function cmd()
    window.v = not window.v
end

function imgui.NewInputText(lable, val, width, hint, hintpos)
    local hint = hint and hint or ''
    local hintpos = tonumber(hintpos) and tonumber(hintpos) or 1
    local cPos = imgui.GetCursorPos()
    imgui.PushItemWidth(width)
    local result = imgui.InputText(lable, val)
    if #val.v == 0 then
        local hintSize = imgui.CalcTextSize(hint)
        if hintpos == 2 then imgui.SameLine(cPos.x + (width - hintSize.x) / 2)
        elseif hintpos == 3 then imgui.SameLine(cPos.x + (width - hintSize.x - 5))
        else imgui.SameLine(cPos.x + 5) end
        imgui.TextColored(imgui.ImVec4(1.00, 1.00, 1.00, 0.40), tostring(hint))
    end
    imgui.PopItemWidth()
    return result
end

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

    style.WindowPadding = ImVec2(15, 15)
    style.WindowRounding = 5.0
    style.FramePadding = ImVec2(5, 5)
    style.FrameRounding = 4.0
    style.ItemSpacing = ImVec2(12, 8)
    style.ItemInnerSpacing = ImVec2(8, 6)
    style.IndentSpacing = 25.0
    style.ScrollbarSize = 15.0
    style.ScrollbarRounding = 9.0
    style.GrabMinSize = 5.0
    style.GrabRounding = 3.0

    colors[clr.Text] = ImVec4(0.80, 0.80, 0.83, 1.00)
    colors[clr.TextDisabled] = ImVec4(0.24, 0.23, 0.29, 1.00)
    colors[clr.WindowBg] = ImVec4(0.06, 0.05, 0.07, 1.00)
    colors[clr.ChildWindowBg] = ImVec4(0.07, 0.07, 0.09, 1.00)
    colors[clr.PopupBg] = ImVec4(0.07, 0.07, 0.09, 1.00)
    colors[clr.Border] = ImVec4(0.80, 0.80, 0.83, 0.88)
    colors[clr.BorderShadow] = ImVec4(0.92, 0.91, 0.88, 0.00)
    colors[clr.FrameBg] = ImVec4(0.10, 0.09, 0.12, 1.00)
    colors[clr.FrameBgHovered] = ImVec4(0.24, 0.23, 0.29, 1.00)
    colors[clr.FrameBgActive] = ImVec4(0.56, 0.56, 0.58, 1.00)
    colors[clr.TitleBg] = ImVec4(0.10, 0.09, 0.12, 1.00)
    colors[clr.TitleBgCollapsed] = ImVec4(1.00, 0.98, 0.95, 0.75)
    colors[clr.TitleBgActive] = ImVec4(0.07, 0.07, 0.09, 1.00)
    colors[clr.MenuBarBg] = ImVec4(0.10, 0.09, 0.12, 1.00)
    colors[clr.ScrollbarBg] = ImVec4(0.10, 0.09, 0.12, 1.00)
    colors[clr.ScrollbarGrab] = ImVec4(0.80, 0.80, 0.83, 0.31)
    colors[clr.ScrollbarGrabHovered] = ImVec4(0.56, 0.56, 0.58, 1.00)
    colors[clr.ScrollbarGrabActive] = ImVec4(0.06, 0.05, 0.07, 1.00)
    colors[clr.ComboBg] = ImVec4(0.19, 0.18, 0.21, 1.00)
    colors[clr.CheckMark] = ImVec4(0.80, 0.80, 0.83, 0.31)
    colors[clr.SliderGrab] = ImVec4(0.80, 0.80, 0.83, 0.31)
    colors[clr.SliderGrabActive] = ImVec4(0.06, 0.05, 0.07, 1.00)
    colors[clr.Button] = ImVec4(0.10, 0.09, 0.12, 1.00)
    colors[clr.ButtonHovered] = ImVec4(0.24, 0.23, 0.29, 1.00)
    colors[clr.ButtonActive] = ImVec4(0.56, 0.56, 0.58, 1.00)
    colors[clr.Header] = ImVec4(0.10, 0.09, 0.12, 1.00)
    colors[clr.HeaderHovered] = ImVec4(0.56, 0.56, 0.58, 1.00)
    colors[clr.HeaderActive] = ImVec4(0.06, 0.05, 0.07, 1.00)
    colors[clr.ResizeGrip] = ImVec4(0.00, 0.00, 0.00, 0.00)
    colors[clr.ResizeGripHovered] = ImVec4(0.56, 0.56, 0.58, 1.00)
    colors[clr.ResizeGripActive] = ImVec4(0.06, 0.05, 0.07, 1.00)
    colors[clr.CloseButton] = ImVec4(0.40, 0.39, 0.38, 0.16)
    colors[clr.CloseButtonHovered] = ImVec4(0.40, 0.39, 0.38, 0.39)
    colors[clr.CloseButtonActive] = ImVec4(0.40, 0.39, 0.38, 1.00)
    colors[clr.PlotLines] = ImVec4(0.40, 0.39, 0.38, 0.63)
    colors[clr.PlotLinesHovered] = ImVec4(0.25, 1.00, 0.00, 1.00)
    colors[clr.PlotHistogram] = ImVec4(0.40, 0.39, 0.38, 0.63)
    colors[clr.PlotHistogramHovered] = ImVec4(0.25, 1.00, 0.00, 1.00)
    colors[clr.TextSelectedBg] = ImVec4(0.25, 1.00, 0.00, 0.43)
    colors[clr.ModalWindowDarkening] = ImVec4(1.00, 0.98, 0.95, 0.73)
end
apply_custom_style()
 

Naito

Активный
117
26
Вы можете добавить активацию и деактивацию, пожалуйста, друг, с помощью команды /oni
 

Вложения

  • pls.lua
    418 байт · Просмотры: 6

Almighty$

Новичок
2
0
Кто заставляет его работать на Andr
BiXZPgJxQj5QS6Kzdl58SOQGSbE-Y_71Vc55BhHThAuAI-NSS2x9ACGCTe26NDSq1cJVDXGlpMm6g8Y_HTvopXnN.jpg
oid?
 

Вложения

  • morph.zip
    201.2 KB · Просмотры: 2