- 328
- 19
- Версия MoonLoader
- .026-beta
Как сделать так что бы в строке №103 (wasKeyPressed())значение клавиши бралось из ActiveClockMenu
Вот так: wasKeyPressed(ActiveClockMenu.v) уже пробывал - выдает ошибку и крашит
Код:
Вот так: wasKeyPressed(ActiveClockMenu.v) уже пробывал - выдает ошибку и крашит
Код:
Lua:
script_name('Nagra.zden') -- название скрипта
script_author('William_Adomson SAMP RP 02') -- автор скрипта
script_description('command') -- описание скрипта
--========================================================--
require 'moonloader'
local events = require 'lib.samp.events'
local inicfg = require 'inicfg'
local font = renderCreateFont('Century Gothic', 14, 5)
local keys = require "vkeys"
local imgui = require "imgui" --библиотека imgui
imgui.ToggleButton = require('imgui_addons').ToggleButton
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
--=====================================================--
local tag = "[Nagra.zden]:"
local blue = '{00BFFF}' -- синий
local blue_color = 0x00BFFF -- синий цвет
local white = '{FFFFFF}' -- белый
local white_color = 0xFFFFFF -- белый цвет
local red = '{FF0000}' -- красный
local red_color = 0xFF0000 -- красный цвет
local orange = '{FFA500}' -- ораньжевый
local orange_color = 0xFFA500 -- ораньжевый цвет
local green = '{008000}' -- зеленый
local green_color = 0x008000 -- зеленый цвет
local banan = '{FFE4B5}' -- отдельенный банановый
local banan_color = 0xFFE4B5 -- отдаленный банановый цвет
local Violet = 0x8A2BE2 --фиолетовый
local Violet = '{8A2BE2}' --фиолетовый
local red = '{FF0000}'-- красный
local color_red = 0xFF0000 -- красный
local ber = '{00FFFF}' -- берюзовый
local ber_color = 0x00FFFF -- берюзовый цвет
local laim = '{00FF00}' --лаймовый
local laim_color = 0x00FF00 -- лаймовый цвет
local yellow = '{FFFF00}' --желтый
local yellow_color = 0xFFFF00 -- желтый цвет
local nastroiki = imgui.ImBool(false)
local rkeys = require 'rkeys'
imgui.HotKey = require('imgui_addons').HotKey
local tLastKeys = {}
function sampGetPlayerIdByNickname(nick)
nick = tostring(nick)
local _, id = sampGetPlayerIdByCharHandle(PLAYER_PED)
score = sampGetPlayerScore(id)
ping = sampGetPlayerPing(id)
if nick == sampGetPlayerNickname(id) then return myid end
for i = 0, 1003 do
if sampIsPlayerConnected(i) and sampGetPlayerNickname(i) == nick then
return i
end
end
end
--=====================================================--
local directIniiiiii = 'Nagra.zden'
local ini = inicfg.load(inicfg.load({
active = {
show = false,
bindClock = "[18]",
bindPass = "[18]",
},
}, directIniiiiii))
inicfg.save(ini, directIniiiiii)
local show = imgui.ImBool(ini.active.show)
local ActiveClockMenu = {
v = decodeJson(ini.active.bindClock)
}
--=====================================================--
local editingPos = false
function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(100) end
sampAddChatMessage(tag.. " {FFFFFF} Скрипт успешно загружен. | by {008000}W1ll04eison", 0x00FFFF)
sampAddChatMessage(tag.. " {FFFFFF} Version 1.1.0. | Что бы открыть окно настроек, напишите: {FFE4B5}/keyset", 0x00FFFF)
local _, myid = sampGetPlayerIdByCharHandle(PLAYER_PED)
sampRegisterChatCommand("set", function()
nastroiki.v = not nastroiki.v
end)
bindClock = rkeys.registerHotKey(ActiveClockMenu.v, true, clockFunc)
while true do
wait(0)
inicfg.save(ini, directIniiiiii)
ini.active.show = show.v
local result, handle = getCharPlayerIsTargeting(playerHandle)
if result then
if wasKeyPressed(ActiveClockMenu) then
_, playeridd = sampGetPlayerIdByCharHandle(handle)
nastroiki.v = not nastroiki.v
end
end
imgui.Process = nastroiki.v
end
end
function getLocalPlayerId()
local _, id = sampGetPlayerIdByCharHandle(playerPed)
return id
end
--=================ЗАКРЫТИЕ ДИАЛОГОВОГО ОКНА IMGUI НА ESC========================
function onWindowMessage(msg, wparam, lparam)
if msg == 0x100 or msg == 0x101 then
if (wparam == keys.VK_ESCAPE and (nastroiki.v)) and not isPauseMenuActive() then
consumeWindowMessage(true, false)
if msg == 0x101 then
if nastroiki.v then
nastroiki.v = false;
else nastroiki.v = false end
end
end
end
end
function imgui.OnDrawFrame()
if nastroiki.v then
local sw, sh = getScreenResolution()
imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.SetNextWindowSize(imgui.ImVec2(368, 100), imgui.Cond.FirstUseEver)
imgui.Begin(u8" KeyRender | Версия: 1.1.0", nastroiki, imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoResize)
imgui.Text(u8'Включение / Отключение текстдрайвера')
imgui.SameLine()
if imgui.ToggleButton(u8'##1110', show) then
end
imgui.Text(u8'Выдача розыска игроку '..sampGetPlayerNickname(playeridd).. ' ['..playeridd..']')
if imgui.HotKey('##012321', ActiveClockMenu, tLastKeys, 100) then
rkeys.changeHotKey(bindClock, ActiveClockMenu.v)
ini.active.bindClock = encodeJson(ActiveClockMenu.v)
inicfg.save(ini, directIniiiiii)
end
imgui.End()
end
end
function save()
inicfg.save(ini, directIniiiiii)
end
function sampGetPlayerIdByTarget()
local result, ped = getCharPlayerIsTargeting(playerHandle)
if result then
local iresult, id = sampGetPlayerIdByCharHandle(ped)
if iresult then return id, ped end
end
return false
end