SA:MP Lua [ARZ] FIX одевания наручников по зажатию ПКМ

альтушка

Активный
Автор темы
360
34
Версия SA-MP
  1. Другая
На досуге сделал скрипт, который позволяет как до обновы кафать людей через ПКМ + N, что сейчас на серверном уровне не является возможным.
Так же, были добавлены некоторые кнопки для быстрого взаимодействия с человеком в наручниках:
  • Повести за собой
  • Перестать вести за собой
  • Снять наручники

Активация автоматическая, не нужно ничего писать, чтобы можно было пользоваться командами.
Имеется диалог со списком комбинаций клавиш, где описано, за что они отвечают: /crv.

1778017482719.png



Lua:
script_author("rvnmph")
script_description("Cuff-fix for Arizona RP by rvnmph")

require "lib.moonloader"

local samepv = require "lib.samp.events"
local sf = string.format

    ------- Settings -------
    key_gtm = VK_G
    key_ungtm = VK_X
    key_cuff = VK_N
    key_uncuff = VK_LMENU
    ------- Settings -------

function cuffs()
    while true do wait(0)

        local result, target = getCharPlayerIsTargeting(playerHandle)

        if result and isKeyJustPressed(key_cuff) then
            _, id = sampGetPlayerIdByCharHandle(target)
            if sampIsPlayerConnected(id) then
                name = sampGetPlayerScore(id), sampGetPlayerNickname(id)
                sampSendChat(sf("/cuff %d", id))
            end
        end

        if result and isKeyJustPressed(key_uncuff) then
            _, id = sampGetPlayerIdByCharHandle(target)
            if sampIsPlayerConnected(id) then
                name = sampGetPlayerScore(id), sampGetPlayerNickname(id)
                sampSendChat(sf("/uncuff %d", id))
            end
        end

        if result and isKeyJustPressed(key_gtm) then
            _, id = sampGetPlayerIdByCharHandle(target)
            if sampIsPlayerConnected(id) then
                name = sampGetPlayerScore(id), sampGetPlayerNickname(id)
                sampSendChat(sf("/gotome %d", id))
            end
        end

        if result and isKeyJustPressed(key_ungtm) then
            _, id = sampGetPlayerIdByCharHandle(target)
            if sampIsPlayerConnected(id) then
                name = sampGetPlayerScore(id), sampGetPlayerNickname(id)
                sampSendChat(sf("/ungotome %d", id))
            end
        end
    end
end

function dialog()
    local did = math.random(1000, 9999)
    sampShowDialog(did, "Cuff-fix by rvnmph", "{ffffff}[ПКМ + N] = /cuff\n[ПКМ + L. Alt] = /uncuff [id]\n[ПКМ + G] = /gotome [id]\n[ПКМ + X] = /ungotome [id]", "Close")
end

function main()
    while not isSampAvailable() do wait(0) end
    sampAddChatMessage('Cuff-fix by rvnmph loaded. Commands: /crv', -1)
    sampRegisterChatCommand("crv", dialog)
    cuffeds = {}
    cuffs()
end

function isPlayercuffsd(cuffsd)
    for k, v in pairs(cuffeds) do
        if v == cuffsd then return true end
    end return false
end
 

Вложения

  • Arizona Cuff-FIX.lua
    2.2 KB · Просмотры: 1
Последнее редактирование: