Нужна помощь, чтобы сделать функцию, как в МВД Хелпер.

lovandog

Активный
Автор темы
224
98
Версия SA-MP
  1. Любая
В общем, мне нужно сделать так, чтобы когда зажимаешь правую кнопку мыши на игрока и нажимаешь определенную клавишу (когда на нем появляется треугольник), вылазил диалог с взаимодействием с этим игроком. Не знаю, как это делается. Может кто помочь?
 
Решение
Сори, я тупой. Мне нужно сделать вывод диалога при прицеливании и нажатии на клавишу. А куда это все вписываать?
Lua:
require 'lib.moonloader' -- в начало кода
--↓ в беск.цыкл
local valid, ped = getCharPlayerIsTargeting(PLAYER_HANDLE) -- получить хендл персонажа, в которого целится игрок
if valid and doesCharExist(ped) then -- если цель есть и персонаж существует
  local result, id = sampGetPlayerIdByCharHandle(ped) -- получить samp-ид игрока по хендлу персонажа
  if result and isKeyDown(VK_RBUTTON) then
    if wasKeyPressed(VK_J) then -- при прицеливании + нажатии на J ..
        sampAddChatMessage('Вы навелись на '..sampGetPlayerNickname(id), -1) -- напишет сообщение в чат
    end
  end
end

--...

Vespan

Чешский луашер
Проверенный
2,123
1,729
Lua:
local valid, ped = getCharPlayerIsTargeting(PLAYER_HANDLE) -- получить хендл персонажа, в которого целится игрок
if valid and doesCharExist(ped) then -- если цель есть и персонаж существует
  local result, id = sampGetPlayerIdByCharHandle(ped) -- получить samp-ид игрока по хендлу персонажа
  if result then -- проверить, прошло ли получение ида успешно
    -- здесь любые действия с полученным идом игрока
  end
end

-- https://www.blast.hk/threads/13892/
 
  • Нравится
Реакции: lovandog

lovandog

Активный
Автор темы
224
98
Lua:
local valid, ped = getCharPlayerIsTargeting(PLAYER_HANDLE) -- получить хендл персонажа, в которого целится игрок
if valid and doesCharExist(ped) then -- если цель есть и персонаж существует
  local result, id = sampGetPlayerIdByCharHandle(ped) -- получить samp-ид игрока по хендлу персонажа
  if result then -- проверить, прошло ли получение ида успешно
    -- здесь любые действия с полученным идом игрока
  end
end

-- https://www.blast.hk/threads/13892/
Сори, я тупой. Мне нужно сделать вывод диалога при прицеливании и нажатии на клавишу. А куда это все вписываать?
 

Vespan

Чешский луашер
Проверенный
2,123
1,729
Сори, я тупой. Мне нужно сделать вывод диалога при прицеливании и нажатии на клавишу. А куда это все вписываать?
Lua:
require 'lib.moonloader' -- в начало кода
--↓ в беск.цыкл
local valid, ped = getCharPlayerIsTargeting(PLAYER_HANDLE) -- получить хендл персонажа, в которого целится игрок
if valid and doesCharExist(ped) then -- если цель есть и персонаж существует
  local result, id = sampGetPlayerIdByCharHandle(ped) -- получить samp-ид игрока по хендлу персонажа
  if result and isKeyDown(VK_RBUTTON) then
    if wasKeyPressed(VK_J) then -- при прицеливании + нажатии на J ..
        sampAddChatMessage('Вы навелись на '..sampGetPlayerNickname(id), -1) -- напишет сообщение в чат
    end
  end
end

-- https://www.blast.hk/threads/13892/[/CODE=lua]
Давно я сделал Fast Key (для админов),для тебя вторым примером будет
Lua:
    if not sampIsDialogActive() and not sampIsChatInputActive() and not isSampfuncsConsoleActive() then
        local valid, ped = getCharPlayerIsTargeting(PLAYER_HANDLE) -- Fast Key
            if valid and doesCharExist(ped) then
                local result, id_ = sampGetPlayerIdByCharHandle(ped)
                    if result and isKeyDown(VK_RBUTTON) then
                        if isKeyJustPressed(.VK_Z) then
                            sampSendChat('/getstats '..id_)
                        end
                        if isKeyJustPressed(VK_X) then
                            sampSendChat('/setsp '..id_)
                        end
                    end
            end
        end
 
  • Нравится
Реакции: lovandog