- 9
- 0
Нужна помощь с кодом, хочу сделать что бы после появления окна репорта на аризоне рп ориг авто ловля вырубалась, скину пример где он есть а где надо сделать выключение ловли
тут надо:
require 'lib.moonloader'
local sampev = require 'lib.samp.events'
local vkeys = require 'vkeys'
local active = false
function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(100) end
while true do
wait(0)
if isKeyJustPressed(0x58) and not isSampfuncsConsoleActive() and not sampIsChatInputActive() and not sampIsDialogActive() and not isPauseMenuActive() then
active = not active
printString('AutoReport: '..(active and '~g~activated' or '~r~disabled'), 1500)
end
end
end
function sampev.onServerMessage(color, text)
if text:find('%[(%W+)%] от (%w+_%w+)%[(%d+)%]:') and active then
sampSendChat('/ot')
end
end
а тут пример кода где есть оно:
local sampev = require('samp.events')
local lthreads = require("lthreads")
local spec = false
local wm = require('lib.windows.message')
local state = false
local ffi = require("ffi")
ffi.cdef[[
typedef struct {int x; int y;} POINT;
typedef struct {int cbSize; int flags; int hCursor; POINT ptScreenPos;} CURSORINFO, *PCURSORINFO;
int GetCursorInfo(PCURSORINFO pci);
]]
function isCursorActive()
local pci = ffi.new("CURSORINFO")
pci.cbSize = ffi.sizeof("CURSORINFO")
ffi.C.GetCursorInfo(pci)
return (pci.flags == 1)
end
function main()
if not isSampfuncsLoaded() or not isSampLoaded() then return end
while not isSampAvailable() do wait(100) end
sampRegisterChatCommand('fr', function()
state = not state
sms('Ловля репорта успешно ' .. (state and '{mc}включена{FFFFFF}!' or '{mc}выключена{FFFFFF}!'))
end)
lthreads.func(function (wait)
while true do
if state then
wait(100)
sampSendChat("/ot "..math.random(1000000, 9999999))
end
if state and isCursorActive() and not sampIsChatInputActive() then
sms('Репорт успешно {mc}словлен{FFFFFF}!')
state = not state
end
wait(0)
end
end)
while true do
wait(0)
lthreads.checkThreads()
end
end
function sms(text)
local text = text:gsub('{mc}', '{3487ff}')
sampAddChatMessage('[REPORT] {FFFFFF}' .. tostring(text), 0x3487ff)
end
-- function sampev.onServerMessage(color, text)
-- local text = text:gsub('{......}', '')
-- print(text)
-- if text:find('%[A%]') then
-- print(text)
-- end
-- local name = sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)))
-- if text:match('^%[A%] ' .. name .. '%[%d+%] » ([%a%d_]+)%[%d+%]:') then
-- print('op')
-- end
-- end