script_name('ADM-Helper')
require 'lib.sampfuncs'
require 'lib.moonloader'
local inicfg = require 'inicfg'
local q = require 'lib.samp.events'
local encoding = require 'encoding'
local requests = require 'requests'
local lanes = require('lanes').configure()
local key = require 'vkeys'
function main()
if not isSampfuncsLoaded() or not isSampLoaded() then return end
while not isSampAvailable() do wait(100) end
sampAddChatMessage("{CECECE}[{FF6600}ADM-Helper{CECECE}] Скрипт успешно загружен. Разработчик: RoffDaniel", 0xCECECE)
while true do
wait(0)
if not sampIsChatInputActive() then
if wasKeyPressed(key.VK_MULTIPLY) then
sampSetChatInputText("/a ")
sampSetChatInputEnabled(true)
end
if isKeyDown(key.VK_MENU) and isKeyJustPressed(key.VK_MULTIPLY) then
sampSetChatInputText("/g ")
sampSetChatInputEnabled(true)
end
if isKeyDown(key.VK_CONTROL) and isKeyJustPressed(key.VK_MULTIPLY) then
sampSetChatInputText("/ps ")
sampSetChatInputEnabled(true)
end
if wasKeyPressed(key.VK_F2) then
sampSetChatInputText("/ans ")
sampSetChatInputEnabled(true)
end
if not sampIsDialogActive() then
if wasKeyPressed(key.VK_F3) then
sampShowDialog(1004, "{ffcc00}Введи ID получателя сообщения", "{FFFFFF}/ans [ID] Игрок на нарушает/Игрок наказан.", "Не наруш.", "Наказан", 1)
end
result, button, list, input = sampHasDialogRespond(1004)
if result then
if button == 1 then
sampSendChat(string.format("/ans %s Не наблюдаю нарушений от игрока. Приятной игры!)", input))
else
sampSendChat(string.format("/ans %s Игрок наказан. Приятной игры на нашем сервере!)", input))
end
end
if isKeyDown(key.VK_MENU) and isKeyJustPressed(key.VK_1) then
sampShowDialog(1000, "{ffcc00}Введи ID получателя сообщения", "{FFFFFF}/ans [ID] Читайте всю информацию на форуме проекта, в разделе Orange Server: forum.advance-rp.ru/forums/orange-server.157/", "Отправить", "Отмена", 1)
end
result, button, list, input = sampHasDialogRespond(1000)
if result then
if button == 1 then
sampSendChat(string.format("/ans %s Читайте всю информацию на форуме проекта, в разделе Orange Server: forum.advance-rp.ru/forums/orange-server.157/", input))
end
end
if isKeyDown(key.VK_MENU) and isKeyJustPressed(key.VK_2) then
sampShowDialog(1001, "{ffcc00}Введи ID получателя сообщения", "{FFFFFF}/ans [ID] Пишите жалобу на форум в раздел Orange Servera (forum.advance-rp.ru/forums/zhaloby.375/) с доказательствами.", "Отправить", "Отмена", 1)
end
result, button, list, input = sampHasDialogRespond(1001)
if result then
if button == 1 then
sampSendChat(string.format("/ans %s Пишите жалобу на форум в раздел Orange Servera (forum.advance-rp.ru/forums/zhaloby.375/) с доказательствами.", input))
end
end
if isKeyDown(key.VK_MENU) and isKeyJustPressed(key.VK_3) then
sampShowDialog(1002, "{ffcc00}Введи ID получателя сообщения", "{FFFFFF}/ans [ID] Ваш ник можно сменить только за деньги(/mn > Дополнительно(донат) > Просмотр > Имезниеть имя(8 руб.)", "Отправить", "Отмена", 1)
end
result, button, list, input = sampHasDialogRespond(1002)
if result then
if button == 1 then
sampSendChat(string.format("/ans %s Ваш ник можно сменить только за деньги(/mn > Дополнительно(донат) > Просмотр > Имезниеть имя(8 руб.)", input))
end
end
if wasKeyPressed(key.VK_NUMPAD0) then
sampShowDialog(1003, "{ffcc00}Введи ID получателя сообщения", "{FFFFFF}/ans [ID] MEETEN желает Вам приятной игры на нашей сервер!", "Отправить", "Отмена", 1)
end
result, button, list, input = sampHasDialogRespond(1003)
if result then
if button == 1 then
sampSendChat(string.format("/ans %s MEETEN желает Вам приятной игры на нашей сервер!", input))
end
end
if isKeyDown(key.VK_MENU) and isKeyJustPressed(key.VK_4) then
sampShowDialog(1005, "{ffcc00}Введи ID получателя сообщения", "{FFFFFF}/ans [ID] Промокод можно ввести только на 1 уровне по пути (/mn > 10). Для получания 50.000$ Вы должны достичь 3 уровня и активно играть.", "Отправить", "Отмена", 1)
end
result, button, list, input = sampHasDialogRespond(1005)
if result then
if button == 1 then
sampSendChat(string.format("/ans %s Промокод можно ввести только на 1 уровне по пути (/mn > 10). Для получания 50.000$ Вы должны достичь 3 уровня и активно играть.", input))
end
end
if isKeyDown(key.VK_MENU) and isKeyJustPressed(key.VK_5) then
sampShowDialog(1006, "{ffcc00}Введи ID получателя сообщения", "{FFFFFF}/ans [ID] Промокоды на нашем сервере: «MEETENTAWITARP» и «UraganOrange»", "Отправить", "Отмена", 1)
end
result, button, list, input = sampHasDialogRespond(1006)
if result then
if button == 1 then
sampSendChat(string.format("/ans %s Промокоды на нашем сервере: «MEETENTAWITARP» и «UraganOrange»", input))
end
end
end
-- if wasKeyPressed(key.VK_F11) then
-- sampSendChat("/c 60")
-- end
-- if wasKeyPressed(key.VK_F12) then
-- sampSendChat("/lock 1")
-- end
if wasKeyPressed(key.VK_DIVIDE) then
sampSetChatInputText("/st ")
sampSetChatInputEnabled(true)
end
if isKeyDown(key.VK_MENU) and wasKeyPressed(key.VK_DIVIDE) then
sampSetChatInputText("/offst ")
sampSetChatInputEnabled(true)
end
if wasKeyPressed(key.VK_DECIMAL) then
sampSetChatInputText("/sp ")
sampSetChatInputEnabled(true)
end
if wasKeyPressed(109) then
sampSetChatInputText("/goto ")
sampSetChatInputEnabled(true)
end
if wasKeyPressed(107) then
sampSetChatInputText("/gethere ")
sampSetChatInputEnabled(true)
end
if wasKeyPressed(key.VK_NUMPAD1) then
sampSetChatInputText("/kick ")
sampSetChatInputEnabled(true)
end
if wasKeyPressed(key.VK_NUMPAD3) then
sampSetChatInputText("/mute ")
sampSetChatInputEnabled(true)
end
if isKeyDown(key.VK_MENU) and wasKeyPressed(key.VK_NUMPAD3) then
sampSetChatInputText("/offmute ")
sampSetChatInputEnabled(true)
end
if isKeyDown(key.VK_CONTROL) and wasKeyPressed(key.VK_NUMPAD3) then
sampSetChatInputText("/unmute ")
sampSetChatInputEnabled(true)
end
if wasKeyPressed(key.VK_NUMPAD5) then
sampSetChatInputText("/jail ")
sampSetChatInputEnabled(true)
end
if isKeyDown(key.VK_MENU) and wasKeyPressed(key.VK_NUMPAD5) then
sampSetChatInputText("/offjail ")
sampSetChatInputEnabled(true)
end
if isKeyDown(key.VK_CONTROL) and wasKeyPressed(key.VK_NUMPAD5) then
sampSetChatInputText("/unjail ")
sampSetChatInputEnabled(true)
end
if wasKeyPressed(key.VK_NUMPAD7) then
sampSetChatInputText("/warn ")
sampSetChatInputEnabled(true)
end
if isKeyDown(key.VK_MENU) and wasKeyPressed(key.VK_NUMPAD7) then
sampSetChatInputText("/offwarn ")
sampSetChatInputEnabled(true)
end
if isKeyDown(key.VK_CONTROL) and wasKeyPressed(key.VK_NUMPAD7) then
sampSetChatInputText("/unwarn ")
sampSetChatInputEnabled(true)
end
if wasKeyPressed(key.VK_NUMPAD9) then
sampSetChatInputText("/ban ")
sampSetChatInputEnabled(true)
end
if isKeyDown(key.VK_MENU) and wasKeyPressed(key.VK_NUMPAD9) then
sampSetChatInputText("/offban ")
sampSetChatInputEnabled(true)
end
if isKeyDown(key.VK_CONTROL) and wasKeyPressed(key.VK_NUMPAD9) then
sampSetChatInputText("/unban ")
sampSetChatInputEnabled(true)
end
if isKeyDown(key.VK_MENU) and isKeyJustPressed(90) then
ClearTime = true
sampSendChat('/c 060')
end
end
end
end
function q.onShowDialog(dialogId, style, title, button1, button2, text)
if title:find('Точное время') and ClearTime then
local splitted = split(text, '\n')
for _, w in pairs(splitted) do
if w:find('Время в игре сегодня') then hrs, scn = w:match('{FFFFFF}Время в игре сегодня:%s+{ffcc00}(%d+) ч (%d+) мин') timeClear1 = (hrs * 60) + scn end
if w:find('AFK за сегодня') then hrs, scn = w:match('{FFFFFF}AFK за сегодня:%s+{FF7000}(%d+) ч (%d+) мин') timeClear1 = timeClear1 - ((hrs * 60) + scn) end
if w:find('Время в игре вчера') then hrs, scn = w:match('{FFFFFF}Время в игре вчера:%s+{ffcc00}(%d+) ч (%d+) мин') timeClear2 = (hrs * 60) + scn end
if w:find('AFK за вчера') then hrs, scn = w:match('{FFFFFF}AFK за вчера:%s+{FF7000}(%d+) ч (%d+) мин') timeClear2 = timeClear2 - ((hrs * 60) + scn) end
end
sampAddChatMessage(times1(timeClear1 * 60), 0xCECECE)
sampAddChatMessage(times2(timeClear2 * 60), 0xCECECE)
return false
end
end
function q.onServerMessage(clr, str)
if str:find('Вы позвонили в службу точного времени') and ClearTime then
ClearTime = false
return false
end
end
function q.onApplyPlayerAnimation(plid, animLib, animName)
if plid == LocalID and ClearTime and animName == 'Coplook_watch' then
return false
end
end
function times1(sec)
h = math.floor(sec / 3600)
s = sec - (h * 3600)
m = math.floor(s / 60)
s = s - (m * 60)
return '{CECECE}[{FF6600}ADM-Helper{CECECE}] Чистый онлайн за сегодня - '..h..' ч. '..m..' мин.'
end
function times2(sec)
h = math.floor(sec / 3600)
s = sec - (h * 3600)
m = math.floor(s / 60)
s = s - (m * 60)
return '{CECECE}[{FF6600}ADM-Helper{CECECE}] Чистый онлайн за вчера - '..h..' ч. '..m..' мин.'
end
function split(s, delimiter)
local result = {}
for match in (s..delimiter):gmatch("(.-)"..delimiter) do
table.insert(result, match)
end
return result
end