Помогите доделать скрипт.

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

Froggy

Потрачен
Автор темы
54
23
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Версия SA-MP
  1. 0.3.7 (R1)
Решил я оживить одну тему: https://www.blast.hk/threads/62038/
Как туда прикрутить так сказать, активацию по команде и добавить сохранение количество патронов, а то я учусь так сказать по опен-соурсу. Буду понимать как делать команды в таких-вот скриптах, и делать так что-бы скрипт делал файлы с сохранением функций.
Скрипт:
Код:
local memory = require("memory")

local pt = 2 -- число 1, это то число патрон в обойме после которого будет происходить скролл
local worked = {22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 37, 38, 41, 42, 43}

function main()
    while not isSampAvailable() do wait(0) end
    while true do
        wait(0)
        if getAmmoInClip() == pt then
            local gun = getCurrentCharWeapon(PLAYER_PED)
            for key, val in pairs(worked) do
                if val == gun and getAmmoInCharWeapon(PLAYER_PED, gun) ~= pt then
                    setCurrentCharWeapon(PLAYER_PED, 0) -- скроллит на фист
                    sampForceOnfootSync() -- отправляет синхронизацию для того чтобы и для других челов у тебя из рук на несколько мс пропал дигл
                    wait(200) -- сама задержка скролла, она выставляется в миллисекундах, т.е 1000мс = 1с, самое оптимальное значение 200-300 мс
                    setCurrentCharWeapon(PLAYER_PED, gun) -- скроллит обратно на посл. оружие
                end
            end
        end
    end
end

function getAmmoInClip()
    return memory.getuint32(getCharPointer(PLAYER_PED) + 0x5A0 + getWeapontypeSlot(getCurrentCharWeapon(PLAYER_PED)) * 0x1C + 0x8)
end
Напоминаю тема тут, авторство за ними:
 
Решение
Решил я оживить одну тему: https://www.blast.hk/threads/62038/
Как туда прикрутить так сказать, активацию по команде и добавить сохранение количество патронов, а то я учусь так сказать по опен-соурсу. Буду понимать как делать команды в таких-вот скриптах, и делать так что-бы скрипт делал файлы с сохранением функций.
Скрипт:
Код:
local memory = require("memory")

local pt = 2 -- число 1, это то число патрон в обойме после которого будет происходить скролл
local worked = {22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 37, 38, 41, 42, 43}

function main()
    while not isSampAvailable() do wait(0) end
    while true do
        wait(0)
        if getAmmoInClip() == pt then
            local gun = getCurrentCharWeapon(PLAYER_PED)...

Gruzin Gang

Всефорумный Грузин
827
631
Решил я оживить одну тему: https://www.blast.hk/threads/62038/
Как туда прикрутить так сказать, активацию по команде и добавить сохранение количество патронов, а то я учусь так сказать по опен-соурсу. Буду понимать как делать команды в таких-вот скриптах, и делать так что-бы скрипт делал файлы с сохранением функций.
Скрипт:
Код:
local memory = require("memory")

local pt = 2 -- число 1, это то число патрон в обойме после которого будет происходить скролл
local worked = {22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 37, 38, 41, 42, 43}

function main()
    while not isSampAvailable() do wait(0) end
    while true do
        wait(0)
        if getAmmoInClip() == pt then
            local gun = getCurrentCharWeapon(PLAYER_PED)
            for key, val in pairs(worked) do
                if val == gun and getAmmoInCharWeapon(PLAYER_PED, gun) ~= pt then
                    setCurrentCharWeapon(PLAYER_PED, 0) -- скроллит на фист
                    sampForceOnfootSync() -- отправляет синхронизацию для того чтобы и для других челов у тебя из рук на несколько мс пропал дигл
                    wait(200) -- сама задержка скролла, она выставляется в миллисекундах, т.е 1000мс = 1с, самое оптимальное значение 200-300 мс
                    setCurrentCharWeapon(PLAYER_PED, gun) -- скроллит обратно на посл. оружие
                end
            end
        end
    end
end

function getAmmoInClip()
    return memory.getuint32(getCharPointer(PLAYER_PED) + 0x5A0 + getWeapontypeSlot(getCurrentCharWeapon(PLAYER_PED)) * 0x1C + 0x8)
end
Напоминаю тема тут, авторство за ними:
сделал активацию по команде
короче там изменишь под себя
скрипт с низу но вот сам код но сам то открыт

код:
local memory = require("memory")

local pt = 2
local worked = {22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 37, 38, 41, 42, 43}
local enabled = false

function main()
    while not isSampAvailable() do wait(0) end
    sampAddChatMessage("охуеть скрипт запустился",-1)
    sampRegisterChatCommand("activated", act)
    while true do
        wait(0)
        if getAmmoInClip() == pt then
            local gun = getCurrentCharWeapon(PLAYER_PED)
            for key, val in pairs(worked) do
                if val == gun and getAmmoInCharWeapon(PLAYER_PED, gun) ~= pt then
                    setCurrentCharWeapon(PLAYER_PED, 0)
                    sampForceOnfootSync()
                    wait(200)
                    setCurrentCharWeapon(PLAYER_PED, gun)
                end
            end
        end
    end
end

function getAmmoInClip()
    return memory.getuint32(getCharPointer(PLAYER_PED) + 0x5A0 + getWeapontypeSlot(getCurrentCharWeapon(PLAYER_PED)) * 0x1C + 0x8)
end

function act()
    enabled = not enabled
    sampAddChatMessage(enabled and 'шарманка включилась' or 'шарманка потушилась', -1)
end
 

Вложения

  • script idk.lua
    1.1 KB · Просмотры: 3
  • Нравится
Реакции: Froggy

Froggy

Потрачен
Автор темы
54
23
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
сделал активацию по команде
короче там изменишь под себя
скрипт с низу но вот сам код но сам то открыт

код:
local memory = require("memory")

local pt = 2
local worked = {22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 37, 38, 41, 42, 43}
local enabled = false

function main()
    while not isSampAvailable() do wait(0) end
    sampAddChatMessage("охуеть скрипт запустился",-1)
    sampRegisterChatCommand("activated", act)
    while true do
        wait(0)
        if getAmmoInClip() == pt then
            local gun = getCurrentCharWeapon(PLAYER_PED)
            for key, val in pairs(worked) do
                if val == gun and getAmmoInCharWeapon(PLAYER_PED, gun) ~= pt then
                    setCurrentCharWeapon(PLAYER_PED, 0)
                    sampForceOnfootSync()
                    wait(200)
                    setCurrentCharWeapon(PLAYER_PED, gun)
                end
            end
        end
    end
end

function getAmmoInClip()
    return memory.getuint32(getCharPointer(PLAYER_PED) + 0x5A0 + getWeapontypeSlot(getCurrentCharWeapon(PLAYER_PED)) * 0x1C + 0x8)
end

function act()
    enabled = not enabled
    sampAddChatMessage(enabled and 'шарманка включилась' or 'шарманка потушилась', -1)
end
Ооо, круто теперь нужно как-то прикрутить сюда inicfg, по типу скролл настраивать. При каком количестве патронов скролл будет работать.
прям вообще цены не будет
 
Последнее редактирование:

Gruzin Gang

Всефорумный Грузин
827
631
Ооо, круто теперь нужно как-то прикрутить сюда inicfg, по типу скролл настраивать. При каком количестве патронов скролл будет работать.
прям вообще цены не будет
а смысл с пт скрола на указанном пт для фрапсов? там перезарядка будет без анимки прямо будет переставлять пт
 

Froggy

Потрачен
Автор темы
54
23
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
а смысл с пт скрола на указанном пт для фрапсов? там перезарядка будет без анимки прямо будет переставлять пт
Та, не, не вы не так поняли. Я имел в виду что-бы скрипт настраивался с какого количества патронов оно скролило. Ну например там остался 1 патрон оно автоматом проскролилось, а я хочу что-бы можно было настроить на 2 патрона прямо в игре.
Просто при РП стрельбе лутше что-бы скролл стоял на 1, а НРП стрельбе лутше что-бы скролл стоял на 3-2, ну просто настройка для удобства.
Хотя.. Согласен, настройка для этого скрипта можеть быть идея немного бредовая.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.

Similar threads

  1. D
    Ответы
    22
    Просмотры
    5K
    Архив
    deleted-user-60446
    D
  2. D
    Ответы
    6
    Просмотры
    2K