- 1
- 0
Короче, как вы знаете есть такой lua скрипт как tr, который прячет оружие перед смертью на TrinityRP. Так вот мне нужна помощь, потому что я часто забываю его включить и теряю своё оружие, а по 200 раз его покупать не охота. Впрочем, мне нужна автоматическая активация этого скрипта, вот код:
Lua:
require "lib.sampfuncs"
require "lib.moonloader"
local inicfg = require 'inicfg'
local sampev = require 'lib.samp.events'
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
-- Конфиг --
local config_direct = "TR/tr_by_P0M61K_v1.02" --Диреетория конфига
local iniconfig = inicfg.load(nil, config_direct)
if iniconfig == nil then -- Если нет создаем
ini = {
main = {
deagle=false,
m4=false,
rpg=false,
shotgun=false,
rifle=false,
ak47=false,
hp=50
}
}
inicfg.save(ini, config_direct) -- сохраняем то что внесли
iniconfig = inicfg.load(nil, config_direct) -- подключаем
end
-- Вносим значение с конфига в чекбоксы --
local deagle_state = imgui.ImBool(iniconfig["main"]["deagle"])
local m4_state = imgui.ImBool(iniconfig["main"]["m4"])
local rpg_state = imgui.ImBool(iniconfig["main"]["rpg"])
local shotgun_state = imgui.ImBool(iniconfig["main"]["shotgun"])
local rifle_state = imgui.ImBool(iniconfig["main"]["rifle"])
local ak47_state = imgui.ImBool(iniconfig["main"]["ak47"])
local slider_hp = imgui.ImInt(iniconfig["main"]["hp"])
-- Основное меню
local main_window_state = imgui.ImBool(false)
local doHide = true
local working = false
imgui.Process = false
-- Стили окна имгуи --
imgui.SwitchContext()
local style = imgui.GetStyle()
local colors = style.Colors
local clr = imgui.Col
local ImVec4 = imgui.ImVec4
colors[clr.Text] = ImVec4(0.00, 0.00, 0.00, 0.51)
colors[clr.TextDisabled] = ImVec4(0.24, 0.24, 0.24, 1.00)
colors[clr.WindowBg] = ImVec4(1.00, 1.00, 1.00, 1.00)
colors[clr.ChildWindowBg] = ImVec4(0.96, 0.96, 0.96, 1.00)
colors[clr.PopupBg] = ImVec4(0.92, 0.92, 0.92, 1.00)
colors[clr.Border] = ImVec4(0.86, 0.86, 0.86, 1.00)
colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00)
colors[clr.FrameBg] = ImVec4(0.88, 0.88, 0.88, 1.00)
colors[clr.FrameBgHovered] = ImVec4(0.82, 0.82, 0.82, 1.00)
colors[clr.FrameBgActive] = ImVec4(0.76, 0.76, 0.76, 1.00)
colors[clr.TitleBg] = ImVec4(0.00, 0.45, 1.00, 0.82)
colors[clr.TitleBgCollapsed] = ImVec4(0.00, 0.45, 1.00, 0.82)
colors[clr.TitleBgActive] = ImVec4(0.00, 0.45, 1.00, 0.82)
colors[clr.MenuBarBg] = ImVec4(0.00, 0.37, 0.78, 1.00)
colors[clr.ScrollbarBg] = ImVec4(0.00, 0.00, 0.00, 0.00)
colors[clr.ScrollbarGrab] = ImVec4(0.00, 0.35, 1.00, 0.78)
colors[clr.ScrollbarGrabHovered] = ImVec4(0.00, 0.33, 1.00, 0.84)
colors[clr.ScrollbarGrabActive] = ImVec4(0.00, 0.31, 1.00, 0.88)
colors[clr.ComboBg] = ImVec4(0.92, 0.92, 0.92, 1.00)
colors[clr.CheckMark] = ImVec4(0.00, 0.49, 1.00, 0.59)
colors[clr.SliderGrab] = ImVec4(0.00, 0.49, 1.00, 0.59)
colors[clr.SliderGrabActive] = ImVec4(0.00, 0.39, 1.00, 0.71)
colors[clr.Button] = ImVec4(0.00, 0.49, 1.00, 0.59)
colors[clr.ButtonHovered] = ImVec4(0.00, 0.49, 1.00, 0.71)
colors[clr.ButtonActive] = ImVec4(0.00, 0.49, 1.00, 0.78)
colors[clr.Header] = ImVec4(0.00, 0.49, 1.00, 0.78)
colors[clr.HeaderHovered] = ImVec4(0.00, 0.49, 1.00, 0.71)
colors[clr.HeaderActive] = ImVec4(0.00, 0.49, 1.00, 0.78)
colors[clr.ResizeGrip] = ImVec4(0.00, 0.39, 1.00, 0.59)
colors[clr.ResizeGripHovered] = ImVec4(0.00, 0.27, 1.00, 0.59)
colors[clr.ResizeGripActive] = ImVec4(0.00, 0.25, 1.00, 0.63)
colors[clr.CloseButton] = ImVec4(0.00, 0.35, 0.96, 0.71)
colors[clr.CloseButtonHovered] = ImVec4(0.00, 0.31, 0.88, 0.69)
colors[clr.CloseButtonActive] = ImVec4(0.00, 0.25, 0.88, 0.67)
colors[clr.PlotLines] = ImVec4(0.00, 0.39, 1.00, 0.75)
colors[clr.PlotLinesHovered] = ImVec4(0.00, 0.39, 1.00, 0.75)
colors[clr.PlotHistogram] = ImVec4(0.00, 0.39, 1.00, 0.75)
colors[clr.PlotHistogramHovered] = ImVec4(0.00, 0.35, 0.92, 0.78)
colors[clr.TextSelectedBg] = ImVec4(0.00, 0.47, 1.00, 0.59)
colors[clr.ModalWindowDarkening] = ImVec4(0.20, 0.20, 0.20, 0.35)
-- Основной код --
function cmd_imgui(arg)
main_window_state.v = not main_window_state.v
imgui.Process = main_window_state.v
end
function imgui.OnDrawFrame()
imgui.SetNextWindowSize(imgui.ImVec2(200, 225), imgui.Cond.FirstUseEver)
imgui.Begin(u8"TR - Настройки" , main_window_state, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoScrollbar)
imgui.Text(u8"Выбор оружия")
if imgui.Checkbox("Deagle", deagle_state) then
iniconfig["main"]["deagle"] = deagle_state.v
inicfg.save(iniconfig, config_direct)
end
imgui.SetCursorPos(imgui.ImVec2(80, 47))
if imgui.Checkbox("M4", m4_state) then
iniconfig["main"]["m4"] = m4_state.v
inicfg.save(iniconfig, config_direct)
end
if imgui.Checkbox("Ak47", ak47_state) then
iniconfig["main"]["ak47"] = ak47_state.v
inicfg.save(iniconfig, config_direct)
end
imgui.SetCursorPos(imgui.ImVec2(80, 72))
if imgui.Checkbox("Shotgun", shotgun_state) then
iniconfig["main"]["shotgun"] = shotgun_state.v
inicfg.save(iniconfig, config_direct)
end
if imgui.Checkbox("Rpg", rpg_state) then
iniconfig["main"]["rpg"] = rpg_state.v
inicfg.save(iniconfig, config_direct)
end
imgui.SetCursorPos(imgui.ImVec2(80, 97))
if imgui.Checkbox("Rifle", rifle_state) then
iniconfig["main"]["rifle"] = rifle_state.v
inicfg.save(iniconfig, config_direct)
end
imgui.Text(u8" ")
imgui.Text(u8"Выбор хп")
if imgui.SliderInt(" ", slider_hp, 5, 100) then
iniconfig["main"]["hp"] = slider_hp.v
inicfg.save(iniconfig, config_direct)
end
if slider_hp.v < 40 then
imgui.Text(u8"Скрипт не прячет на ноль хп.")
imgui.Text(u8"Рекомендованое значение - 50!")
end
imgui.End()
end
function main()
while not isSampAvailable() do wait(0) end
main_window_stat = false
sampAddChatMessage("СУКА БЛЯТЬ НАХУЙ, АКТИВИРУЙ ЭТОТ ЕБАНЫЙ СКРИПТ! НЕ ЗАБЫВАЙ БЛЯДИНА. ТЫ ПООООООООООООООООООООООООООООНЯЛ?. Активация - /tr. Меню скрипта - /trmenu", -1)
sampRegisterChatCommand("tr", function()
active = not active
if active then
whielka = 1
sampAddChatMessage("tr by P0M61K - ON", -1)
else
whielka = 0
sampAddChatMessage("tr by P0M61K - OFF", -1)
end
end)
sampRegisterChatCommand("trmenu", cmd_imgui)
function sampev.onSendSpawn()
doHide = true
end
while true do wait(0)
if main_window_state.v == false then
imgui.Process = false
end
if whielka == 1 then
if doHide == false and getCharHealth(PLAYER_PED) > slider_hp.v then
doHide = true
end
if doHide and getCharHealth(PLAYER_PED) < slider_hp.v then
if deagle_state.v then
sampSendChat("/hide eag")
end
if m4_state.v then
sampSendChat("/hide m4")
end
if shotgun_state.v then
sampSendChat("/hide shotgun")
end
if rpg_state.v then
sampSendChat("/hide rpg")
end
if rifle_state.v then
sampSendChat("/hide rifle")
end
if ak47_state.v then
sampSendChat("/hide ak47")
end
doHide = false
end
end
end
end