Скрипт

BybLik

Участник
Автор темы
51
4
Приветствую парни/дамы!
Мне нужен скрипт срочно,а именно.
Есть серверная команда продажи гана в гетто /sellgun id игрока; номер пушки, количество; цена.
Мне нужно,чтобы я в скрипте настроил кнопку, допустим Х,и скрипт сам при нажатии кнопки X,в автоматическом режиме сделал команду,и самое главное чтобы он в реальном времени распозновал id ближайшего игрока и вставлял его в команду.
Приведу пример.
На сервере есть команда /sfire id игрока( это команда чтобы бросить снежок в человека).
Мне нужно,чтобы я подошёл к рандому,прожал настроенную мною кнопку и команда сработала.
 
D

deleted-user-222200

Гость
Приветствую парни/дамы!
Мне нужен скрипт срочно,а именно.
Есть серверная команда продажи гана в гетто /sellgun id игрока; номер пушки, количество; цена.
Мне нужно,чтобы я в скрипте настроил кнопку, допустим Х,и скрипт сам при нажатии кнопки X,в автоматическом режиме сделал команду,и самое главное чтобы он в реальном времени распозновал id ближайшего игрока и вставлял его в команду.
Приведу пример.
На сервере есть команда /sfire id игрока( это команда чтобы бросить снежок в человека).
Мне нужно,чтобы я подошёл к рандому,прожал настроенную мною кнопку и команда сработала.
lua:
require("moonloader")
function main()
    if not isSampLoaded() then return end
    while not isSampAvailable() do wait(0) end
    while true do wait(100)
        if not sampIsChatInputActive() and isKeyDown(0x58) then -- X
            sampSendChat("/sellgun "..getNearestID().." 24 100 1337")
        end
    end
end

function getNearestID()
    local chars = getAllChars()
    local mx, my, mz = getCharCoordinates(PLAYER_PED)
    local nearId, dist = nil, 10000
    for i,v in ipairs(chars) do
        if doesCharExist(v) and v ~= PLAYER_PED then
            local vx, vy, vz = getCharCoordinates(v)
            local cDist = getDistanceBetweenCoords3d(mx, my, mz, vx, vy, vz)
            local r, id = sampGetPlayerIdByCharHandle(v)
            if r and cDist < dist then
                dist = cDist
                nearId = id
            end
        end
    end
    return nearId
end
 

BybLik

Участник
Автор темы
51
4
lua:
require("moonloader")
function main()
    if not isSampLoaded() then return end
    while not isSampAvailable() do wait(0) end
    while true do wait(100)
        if not sampIsChatInputActive() and isKeyDown(0x58) then -- X
            sampSendChat("/sellgun "..getNearestID().." 24 100 1337")
        end
    end
end

function getNearestID()
    local chars = getAllChars()
    local mx, my, mz = getCharCoordinates(PLAYER_PED)
    local nearId, dist = nil, 10000
    for i,v in ipairs(chars) do
        if doesCharExist(v) and v ~= PLAYER_PED then
            local vx, vy, vz = getCharCoordinates(v)
            local cDist = getDistanceBetweenCoords3d(mx, my, mz, vx, vy, vz)
            local r, id = sampGetPlayerIdByCharHandle(v)
            if r and cDist < dist then
                dist = cDist
                nearId = id
            end
        end
    end
    return nearId
end
И шо,и как это юзать дружище
 
D

deleted-user-222200

Гость
И шо,и как это юзать дружище
Создать файл в папке moonloader с форматом .lua, открыть новосозданный файл и вставить туда код, затем сохранить и играть.
Поскольку в ТЗ не указано условие о конкретном ЯП, мною был выбран луа, так как скожие решения уже имеются на просторах бластхака
Базовые действия по поиску аналогичных скриптов все еще актуальны
Если мунлоадер отсутствует, дайте знать.

upd: прикрепил ниже готовые варианты
 

Вложения

  • {X}SellGun.cs
    427 байт · Просмотры: 3
  • {X}SellGun.lua
    885 байт · Просмотры: 2
Последнее редактирование модератором:

BybLik

Участник
Автор темы
51
4
Создать файл в папке moonloader с форматом .lua, открыть новосозданный файл и вставить туда код, затем сохранить и играть.
Поскольку в ТЗ не указано условие о конкретном ЯП, мною был выбран луа, так как скожие решения уже имеются на просторах бластхака
Базовые действия по поиску аналогичных скриптов все еще актуальны
Если мунлоадер отсутствует, дайте знать.

upd: прикрепил ниже готовые варианты
Можешь пожалуйста для команды /sfire id сделать)