- 90
- 6
- Версия MoonLoader
- .026-beta
Это показывается нормально:
А вот с другими проблема: (ОНИ ДОЛЖНЫ БЫТЬ ПО СЕРЕДИТЕ!) (C offwarn такая же проблема, только когда я ее активирую она по середине, но теперь то меню на скрине сверху тоже по середине)
А вот с другими проблема: (ОНИ ДОЛЖНЫ БЫТЬ ПО СЕРЕДИТЕ!) (C offwarn такая же проблема, только когда я ее активирую она по середине, но теперь то меню на скрине сверху тоже по середине)
Lua:
function imgui.OnDrawFrame()
if remenu.v then
if isKeyJustPressed(key.VK_RBUTTON) and not sampIsChatInputActive() and not sampIsDialogActive() then
imgui.ShowCursor = not imgui.ShowCursor
end
local sw, sh = getScreenResolution()
imgui.SetNextWindowPos(imgui.ImVec2(sw / 8.3, sh / 1.45), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.SetNextWindowSize(imgui.ImVec2(269, 394), imgui.Cond.FirstUseEver)
imgui.Begin(u8' ', remenu, imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoResize + imgui.WindowFlags.NoMove + imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.MenuBar)
imgui.BeginMenuBar()
if imgui.MenuItem(u8'Основное') then
tag = 0
remenu.v = true
end
if imgui.MenuItem(u8'Наказание') then
tag = 1
remenu.v = true
end
imgui.EndMenuBar()
if tag == 0 then
if imgui.Button(u8'GOTOSP', imgui.ImVec2(80, 80)) then
sampSendChat('/gotosp '..spec_id)
end
imgui.SameLine(94)
if imgui.Button(u8'GMTEST', imgui.ImVec2(80, 80)) then
sampSendChat('/gm '..spec_id)
end
imgui.SameLine(180)
if imgui.Button(u8'STATS', imgui.ImVec2(80, 80)) then
sampSendChat('/getstats '..spec_id)
end
if imgui.Button(u8'GETIP', imgui.ImVec2(80, 80)) then
sampSendChat('/getip '..spec_id)
end
imgui.SameLine(94)
if imgui.Button(u8'DM', imgui.ImVec2(80, 80)) then
sampSendChat('/prison '..spec_id..' 30 ДМ')
end
imgui.SameLine(180)
if imgui.Button(u8'DB', imgui.ImVec2(80, 80)) then
sampSendChat('/prison '..spec_id..' 30 ДБ')
end
if imgui.Button(u8'SBIV', imgui.ImVec2(80, 80)) then
sampSendChat('/prison '..spec_id..' 10 Сбив (Чат)')
end
imgui.SameLine(94)
if imgui.Button(u8'Человек из\nЧС проекта', imgui.ImVec2(80, 80)) then
sampSendChat('/iban '..spec_id..' ЧС сервера')
end
imgui.SameLine(180)
if imgui.Button(u8'SLAP', imgui.ImVec2(80, 80)) then
sampSendChat('/slap '..spec_id..' ЧС сервера')
end
if imgui.Button(u8'REOFF', imgui.ImVec2(253, 25)) then
sampSendChat('/re')
remenu.v = false
end
if imgui.Checkbox(u8'Включить меню управлением игроком', infmen) then
remen.v = not remen.v
end
end
if tag == 1 then
imgui.TextColoredRGB('Причина кика:')
imgui.InputText(u8'##1', kick)
if imgui.Button(u8'Кикнуть') then
sampSendChat(u8:decode('/kick '..spec_id..' '..kick.v))
end
imgui.TextColoredRGB('————————————————————————————————')
imgui.TextColoredRGB('Забанить за читы')
if imgui.Button(u8'На 7 дней') then
sampSendChat('/ban '..spec_id..' 7 Читы')
end
imgui.SameLine(77)
if imgui.Button(u8'На 14 дней') then
sampSendChat('/ban '..spec_id..' 14 Читы')
end
imgui.SameLine(152)
if imgui.Button(u8'На 30 дней') then
sampSendChat('/ban '..spec_id..' 30 Читы')
end
if imgui.Button(u8'По IP адресу') then
sampSendChat('/iban '..spec_id..' Читы')
end
imgui.TextColoredRGB('————————————————————————————————')
imgui.TextColoredRGB('Введите время в 1 поле!\nВведите причину во 2 поле!')
imgui.PushItemWidth(50)
imgui.InputText(u8'##3', ban)
imgui.PopItemWidth()
imgui.SameLine(83)
imgui.PushItemWidth(130)
imgui.InputText(u8'##2', ban2)
imgui.PopItemWidth()
if imgui.Button(u8'Забанить') then
sampSendChat(u8:decode('/ban '..spec_id..' '..ban.v..' '..ban2.v))
end
imgui.TextColoredRGB('————————————————————————————————')
if imgui.Button(u8'TK') then
sampSendChat('/warn '..spec_id..' TK')
end
imgui.SameLine(33)
if imgui.Button(u8'СК') then
sampSendChat('/warn '..spec_id..' СК')
end
imgui.SameLine(58)
if imgui.Button(u8'ПГ') then
sampSendChat('/warn '..spec_id..' ПГ')
end
imgui.SameLine(82)
if imgui.Button(u8'РК') then
sampSendChat('/warn '..spec_id..' РК')
end
if imgui.Button(u8'Неадекват') then
sampSendChat('/warn '..spec_id..' Неадекват')
end
if imgui.Button(u8'ДМ в ЗЗ') then
sampSendChat('/warn '..spec_id..' ДМ в ЗЗ')
end
if imgui.Button(u8'Обсуждение действий адм.') then
sampSendChat('/warn '..spec_id..' Обсуждение действий адм.')
end
end
imgui.End()
end
if remen.v then
local resX, resY = getScreenResolution()
local sizeX, sizeY = 500, 100 -- WINDOW SIZE
imgui.SetNextWindowPos(imgui.ImVec2(resX / 2 - sizeX / 3, resY / 1.15 - sizeY / 3), imgui.Cond.FirstUseEver)
imgui.SetNextWindowSize(imgui.ImVec2(sizeX, sizeY), imgui.Cond.FirstUseEver)
imgui.Begin('2', remen, imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoResize + imgui.WindowFlags.NoMove + imgui.WindowFlags.NoTitleBar)
imgui.TextColoredRGB('Поставить игроку ХП:')
imgui.SameLine()
imgui.TextColoredRGB('| Поставить игроку скин:')
imgui.PushItemWidth(50)
imgui.InputText('##1', sethp)
imgui.PopItemWidth()
imgui.SameLine(150)
imgui.PushItemWidth(50)
imgui.InputText('##2', setskin)
imgui.PopItemWidth()
if imgui.Button(u8'Поставить') then
sampSendChat('/sethp '..spec_id..' '..sethp.v)
end
imgui.SameLine(150)
if imgui.Button(u8'Поставить') then
sampSendChat('/setskin '..spec_id..' '..setskin.v)
end
imgui.End()
end
if remenu.v then
local resX, resY = getScreenResolution()
local sizeX, sizeY = 150, 250 -- WINDOW SIZE
imgui.SetNextWindowPos(imgui.ImVec2(resX / 1.1 - sizeX / 3, resY / 2 - sizeY / 3), imgui.Cond.FirstUseEver)
imgui.SetNextWindowSize(imgui.ImVec2(sizeX, sizeY), imgui.Cond.FirstUseEver)
imgui.Begin('1', remenu, imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoResize + imgui.WindowFlags.NoMove + imgui.WindowFlags.NoTitleBar)
imgui.TextColoredRGB('ID игрока: '.. spec_id)
imgui.TextColoredRGB('Ник: '..sampGetPlayerNickname(spec_id))
imgui.TextColoredRGB('Жизни: '..sampGetPlayerHealth(spec_id))
imgui.TextColoredRGB('Армор: '..sampGetPlayerArmor(spec_id))
imgui.TextColoredRGB('Уровень: '..sampGetPlayerScore(spec_id))
imgui.TextColoredRGB('Пинг: '..sampGetPlayerPing(spec_id))
imgui.End()
end
if remenu2.v then
local sw, sh = getScreenResolution()
imgui.SetNextWindowPos(imgui.ImVec2(sw / 2.6, sh / 2.6), imgui.ImVec2(0.5, 0.5))
imgui.SetNextWindowSize(imgui.ImVec2(300, 200))
imgui.Begin(u8' ', remenu2, imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoResize + imgui.WindowFlags.NoMove + imgui.WindowFlags.NoTitleBar)
imgui.SetCursorPos(imgui.ImVec2(51, 1))
imgui.TextColoredRGB('{FF0000} Выдать варн игроку в оффлайне')
imgui.InputText(u8'Имя игрока##1', warnoff)
imgui.InputText(u8'Причина##1', warnoff2)
imgui.SetCursorPos(imgui.ImVec2(4, 170))
if imgui.Button(u8'Закрыть', imgui.ImVec2(150, 25)) then
imgui.Process = not remenu2.v
remenu2.v = false
end
imgui.SetCursorPos(imgui.ImVec2(158, 170))
if imgui.Button(u8'Выдать варн', imgui.ImVec2(138, 25)) then
sampSendChat(u8:decode('offwarn '..warnoff.v..' '..warnoff2.v))
imgui.Process = not remenu2.v
remenu2.v = false
end
imgui.End()
end
if remenu3.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(300, 200), imgui.Cond.FirstUseEver)
imgui.Begin(u8' ', offban, imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoResize + imgui.WindowFlags.NoMove + imgui.WindowFlags.NoTitleBar)
imgui.SetCursorPos(imgui.ImVec2(51, 1))
imgui.TextColoredRGB('{FF0000} Выдать бан игроку в оффлайне')
imgui.InputText(u8'Имя игрока##1', banoff)
imgui.InputText(u8'Время##1', banoff1)
imgui.InputText(u8'Причина##1', banoff2)
imgui.SetCursorPos(imgui.ImVec2(4, 170))
if imgui.Button(u8'Закрыть', imgui.ImVec2(150, 25)) then
imgui.Process = not remenu3.v
remenu3.v = false
end
imgui.SetCursorPos(imgui.ImVec2(158, 170))
if imgui.Button(u8'Выдать бан', imgui.ImVec2(138, 25)) then
sampSendChat(u8:decode('offban '..banoff.v..' '..banoff1.v..' '..banoff2.v))
imgui.Process = not remenu3.v
remenu3.v = false
end
imgui.End()
end
if givweapon.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(250, 400), imgui.Cond.FirstUseEver)
imgui.Begin(u8'Выдача оружия', цуфзщт, imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoResize + imgui.WindowFlags.NoMove)
imgui.End()
end
end
function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(100) end
theme()
sampRegisterChatCommand('offwarn', offwarn)
sampRegisterChatCommand('offban', offban)
sampRegisterChatCommand('re', test)
while true do
wait(0)
end
end
function test(param)
local id = string.match(param, "(%d+)")
if id == nil then
sampSendChat("/re")
imgui.Process = not remenu.v
remenu.v = false
else
lua_thread.create(function()
sampSendChat("/re "..id)
sampAddChatMessage('Чтобы поворачивать камерой нажмите на ЛКМ! Чтобы показать курсор так же нажмите на ЛКМ!', -1)
remenu.v = true
imgui.Process = remenu.v
end)
end
end
function offwarn()
remenu2.v = true
imgui.Process = remenu2.v
end
function offban()
remenu3.v = true
imgui.Process = remenu3.v
end
function weapon()
givweapon.v = true
end