set name server & bump version

master
rubin 2 weeks ago
parent e6cbc24f05
commit dcdf071e1f
  1. 124
      mafia-tools.lua
  2. 2
      version

@ -1,6 +1,6 @@
script_name('mafia-tools') script_name('mafia-tools')
script_author("Serhiy_Rubin") script_author("Serhiy_Rubin")
script_version("20.07.2023") script_version("14.06.2025")
sampev = require 'samp.events' sampev = require 'samp.events'
inicfg = require "inicfg" inicfg = require "inicfg"
@ -195,7 +195,7 @@ menu.update = function()
config.save(config.data) config.save(config.data)
menu.show = { true, "main" } menu.show = { true, "main" }
end end
}, },
{ -->> Клавиша отправки таймингов { -->> Клавиша отправки таймингов
title = "{"..config.data.font.color1.."}"..">{ffffff} Отправить тайминги в рацию\t"..convertKeysToText(config.data.chat_timing.key), title = "{"..config.data.font.color1.."}"..">{ffffff} Отправить тайминги в рацию\t"..convertKeysToText(config.data.chat_timing.key),
click = function(button, list, input , outs) click = function(button, list, input , outs)
@ -204,7 +204,7 @@ menu.update = function()
config.save(config.data) config.save(config.data)
menu.show = { true, "main" } menu.show = { true, "main" }
end end
}, },
{ -->> Отправлять тайминги при получении { -->> Отправлять тайминги при получении
title = "{"..config.data.font.color1.."}"..">{ffffff} Отправлять тайминги в рацию при проверке\t"..(config.data.chat_timing.auto and "вкл" or "выкл"), title = "{"..config.data.font.color1.."}"..">{ffffff} Отправлять тайминги в рацию при проверке\t"..(config.data.chat_timing.auto and "вкл" or "выкл"),
click = function(button, list, input , outs) click = function(button, list, input , outs)
@ -272,14 +272,14 @@ menu.update = function()
ammo_timer.setpos = true ammo_timer.setpos = true
menu.show = { true, "main" } menu.show = { true, "main" }
end end
}, },
{ -->> Разделитель { -->> Разделитель
title = " \t ", title = " \t ",
click = function(button, list, input , outs) click = function(button, list, input , outs)
if button ~= 1 then return end if button ~= 1 then return end
menu.show = { true, "main" } menu.show = { true, "main" }
end end
}, },
{ -->> Mafia Checker { -->> Mafia Checker
title = "{"..config.data.font.color1.."}".."Счетчик мафий на сервере и в стриме\t", title = "{"..config.data.font.color1.."}".."Счетчик мафий на сервере и в стриме\t",
click = function(button, list, input , outs) click = function(button, list, input , outs)
@ -305,21 +305,21 @@ menu.update = function()
mafia_checker.setpos = true mafia_checker.setpos = true
menu.show = { true, "main" } menu.show = { true, "main" }
end end
}, },
{ -->> Разделитель { -->> Разделитель
title = " \t ", title = " \t ",
click = function(button, list, input , outs) click = function(button, list, input , outs)
if button ~= 1 then return end if button ~= 1 then return end
menu.show = { true, "main" } menu.show = { true, "main" }
end end
}, },
{ -->> Invite Helper { -->> Invite Helper
title = "{"..config.data.font.color1.."}".."Инвайт хелпер\t", title = "{"..config.data.font.color1.."}".."Инвайт хелпер\t",
click = function(button, list, input , outs) click = function(button, list, input , outs)
if button ~= 1 then return end if button ~= 1 then return end
menu.show = { true, "main" } menu.show = { true, "main" }
end end
}, },
{ -->> Минимальный лвл { -->> Минимальный лвл
title = "{"..config.data.font.color1.."}"..">{ffffff} Минимальный уровень\t"..config.data.invite_helper.lvl, title = "{"..config.data.font.color1.."}"..">{ffffff} Минимальный уровень\t"..config.data.invite_helper.lvl,
click = function(button, list, input , outs) click = function(button, list, input , outs)
@ -334,7 +334,7 @@ menu.update = function()
menu.show = { true, "main" } menu.show = { true, "main" }
end, config.data.invite_helper.lvl, "Введите минимальный уровень для инвайта!"} end, config.data.invite_helper.lvl, "Введите минимальный уровень для инвайта!"}
end end
}, },
{ -->> Авто ранг вкл выкл { -->> Авто ранг вкл выкл
title = "{"..config.data.font.color1.."}"..">{ffffff} Устанавливать ранг автоматически\t"..(config.data.invite_helper.auto_rank and "вкл" or "выкл"), title = "{"..config.data.font.color1.."}"..">{ffffff} Устанавливать ранг автоматически\t"..(config.data.invite_helper.auto_rank and "вкл" or "выкл"),
click = function(button, list, input , outs) click = function(button, list, input , outs)
@ -343,7 +343,7 @@ menu.update = function()
config.save(config.data) config.save(config.data)
menu.show = { true, "main" } menu.show = { true, "main" }
end end
}, },
{ -->> Ранг по умолчанию { -->> Ранг по умолчанию
title = "{"..config.data.font.color1.."}"..">{ffffff} Установить ранг\t"..config.data.invite_helper.rank, title = "{"..config.data.font.color1.."}"..">{ffffff} Установить ранг\t"..config.data.invite_helper.rank,
click = function(button, list, input , outs) click = function(button, list, input , outs)
@ -358,7 +358,7 @@ menu.update = function()
menu.show = { true, "main" } menu.show = { true, "main" }
end, config.data.invite_helper.rank, "Введите какой ранг давать после инвайта!"} end, config.data.invite_helper.rank, "Введите какой ранг давать после инвайта!"}
end end
}, },
{ -->> Сообщение в чат после инвайта { -->> Сообщение в чат после инвайта
title = "{"..config.data.font.color1.."}"..">{ffffff} Сообщение в рацию\t"..config.data.invite_helper.message, title = "{"..config.data.font.color1.."}"..">{ffffff} Сообщение в рацию\t"..config.data.invite_helper.message,
click = function(button, list, input , outs) click = function(button, list, input , outs)
@ -371,7 +371,7 @@ menu.update = function()
menu.show = { true, "main" } menu.show = { true, "main" }
end, config.data.invite_helper.message, "{name} - Заменится на никнейм игрока которого приняли\nЧтобы не отправлять сообщение оставьте поле пустым!"} end, config.data.invite_helper.message, "{name} - Заменится на никнейм игрока которого приняли\nЧтобы не отправлять сообщение оставьте поле пустым!"}
end end
}, },
{ -->> Клавиша инвайта { -->> Клавиша инвайта
title = "{"..config.data.font.color1.."}"..">{ffffff} Инвайт по кнопке\tПрицел + "..convertKeysToText(config.data.invite_helper.key), title = "{"..config.data.font.color1.."}"..">{ffffff} Инвайт по кнопке\tПрицел + "..convertKeysToText(config.data.invite_helper.key),
click = function(button, list, input , outs) click = function(button, list, input , outs)
@ -387,14 +387,14 @@ menu.update = function()
if button ~= 1 then return end if button ~= 1 then return end
menu.show = { true, "main" } menu.show = { true, "main" }
end end
}, },
{ -->> Склад { -->> Склад
title = "{"..config.data.font.color1.."}".."Склад\t", title = "{"..config.data.font.color1.."}".."Склад\t",
click = function(button, list, input , outs) click = function(button, list, input , outs)
if button ~= 1 then return end if button ~= 1 then return end
menu.show = { true, "main" } menu.show = { true, "main" }
end end
}, },
{ -->> Открывать склад по запросу в рацию { -->> Открывать склад по запросу в рацию
title = "{"..config.data.font.color1.."}"..">{ffffff} Открывать склад по запросу\t"..(config.data.get_guns.warelock_auto and "вкл" or "выкл"), title = "{"..config.data.font.color1.."}"..">{ffffff} Открывать склад по запросу\t"..(config.data.get_guns.warelock_auto and "вкл" or "выкл"),
click = function(button, list, input , outs) click = function(button, list, input , outs)
@ -420,7 +420,7 @@ menu.update = function()
menu.show = { true, "main" } menu.show = { true, "main" }
end, config.data.get_guns.warelock_time, "Введите сколько секунд склад держать открытым"} end, config.data.get_guns.warelock_time, "Введите сколько секунд склад держать открытым"}
end end
}, },
{ -->> Брать оружие сразу как откроют склад { -->> Брать оружие сразу как откроют склад
title = "{"..config.data.font.color1.."}"..">{ffffff} Брать оружие сразу как откроют склад\t"..(config.data.get_guns.auto_get_guns and "вкл" or "выкл"), title = "{"..config.data.font.color1.."}"..">{ffffff} Брать оружие сразу как откроют склад\t"..(config.data.get_guns.auto_get_guns and "вкл" or "выкл"),
click = function(button, list, input , outs) click = function(button, list, input , outs)
@ -452,14 +452,14 @@ menu.update = function()
if button ~= 1 then return end if button ~= 1 then return end
menu.show = { true, "main" } menu.show = { true, "main" }
end end
}, },
{ -->> Mafiawar { -->> Mafiawar
title = "{"..config.data.font.color1.."}".."Забив\t", title = "{"..config.data.font.color1.."}".."Забив\t",
click = function(button, list, input , outs) click = function(button, list, input , outs)
if button ~= 1 then return end if button ~= 1 then return end
menu.show = { true, "main" } menu.show = { true, "main" }
end end
}, },
{ -->> Mafiawar auto { -->> Mafiawar auto
title = "{"..config.data.font.color1.."}"..">{ffffff} Флудер\t"..(config.data.mafiawar.auto and "вкл" or "выкл"), title = "{"..config.data.font.color1.."}"..">{ffffff} Флудер\t"..(config.data.mafiawar.auto and "вкл" or "выкл"),
click = function(button, list, input , outs) click = function(button, list, input , outs)
@ -509,14 +509,14 @@ menu.update = function()
if button ~= 1 then return end if button ~= 1 then return end
menu.show = { true, "main" } menu.show = { true, "main" }
end end
}, },
{ -->> Mhcars { -->> Mhcars
title = "{"..config.data.font.color1.."}".."Перегон\t", title = "{"..config.data.font.color1.."}".."Перегон\t",
click = function(button, list, input , outs) click = function(button, list, input , outs)
if button ~= 1 then return end if button ~= 1 then return end
menu.show = { true, "main" } menu.show = { true, "main" }
end end
}, },
{ -->> Mhcars auto { -->> Mhcars auto
title = "{"..config.data.font.color1.."}"..">{ffffff} Флудер перегона\t"..(config.data.mhcars.auto and "вкл" or "выкл"), title = "{"..config.data.font.color1.."}"..">{ffffff} Флудер перегона\t"..(config.data.mhcars.auto and "вкл" or "выкл"),
click = function(button, list, input , outs) click = function(button, list, input , outs)
@ -584,7 +584,7 @@ menu.update = function()
if button ~= 1 then return end if button ~= 1 then return end
menu.show = { true, "main" } menu.show = { true, "main" }
end end
}, },
{ -->> Отправить по команде { -->> Отправить по команде
title = "{"..config.data.font.color1.."}"..">{ffffff} Отправить по команде\t/"..config.data.stream_checker, title = "{"..config.data.font.color1.."}"..">{ffffff} Отправить по команде\t/"..config.data.stream_checker,
click = function(button, list, input , outs) click = function(button, list, input , outs)
@ -622,17 +622,17 @@ menu.update = function()
if button ~= 1 then return end if button ~= 1 then return end
menu.show = { true, "main" } menu.show = { true, "main" }
end end
}, },
{ -->> Авто healme { -->> Авто healme
title = "{"..config.data.font.color1.."}"..">{ffffff} Использовать аптечку\t"..(config.data.healme and "вкл" or "выкл"), title = "{"..config.data.font.color1.."}"..">{ffffff} Использовать аптечку\t"..(config.data.healme and "вкл" or "выкл"),
click = function(button, list, input , outs) click = function(button, list, input , outs)
if button ~= 1 then return end if button ~= 1 then return end
config.data.healme = not config.data.healme config.data.healme = not config.data.healme
config.save(config.data) config.save(config.data)
end end
}, },
{ -->> armoff { -->> armoff
title = "{"..config.data.font.color1.."}"..">{ffffff} armoff на ID стрел\t"..armoff_list, title = "{"..config.data.font.color1.."}"..">{ffffff} armoff на ID стрел\t"..armoff_list,
click = function(button, list, input , outs) click = function(button, list, input , outs)
if button ~= 1 then return end if button ~= 1 then return end
menu.show = { true, "edit", function(button, list, input, outs) menu.show = { true, "edit", function(button, list, input, outs)
@ -650,16 +650,16 @@ menu.update = function()
menu.show = { true, "main" } menu.show = { true, "main" }
end, armoff_list, "Введите ID стрел на которых нужно оффать броню\nВведите ID через пробел\nПример: 0 1 3"} end, armoff_list, "Введите ID стрел на которых нужно оффать броню\nВведите ID через пробел\nПример: 0 1 3"}
end end
}, },
{ -->> clistoff { -->> clistoff
title = "{"..config.data.font.color1.."}"..">{ffffff} clist off при спавне/после стрелы\t"..(config.data.clistoff and "вкл" or "выкл"), title = "{"..config.data.font.color1.."}"..">{ffffff} clist off при спавне/после стрелы\t"..(config.data.clistoff and "вкл" or "выкл"),
click = function(button, list, input , outs) click = function(button, list, input , outs)
if button ~= 1 then return end if button ~= 1 then return end
config.data.clistoff = not config.data.clistoff config.data.clistoff = not config.data.clistoff
config.save(config.data) config.save(config.data)
menu.show = { true, "main" } menu.show = { true, "main" }
end end
}, },
} }
}, },
["edit"] = { ["edit"] = {
@ -698,93 +698,93 @@ menu.update = function()
{ -->> Desert Eagle { -->> Desert Eagle
title = "Desert Eagle\t"..config.data.get_guns.list[1][2], title = "Desert Eagle\t"..config.data.get_guns.list[1][2],
click = function(button, list, input, outs) click = function(button, list, input, outs)
if button ~= 1 then if button ~= 1 then
menu.show = { true, "main" } menu.show = { true, "main" }
return return
end end
config.data.get_guns.list[1][2] = config.data.get_guns.list[1][2] + 1 config.data.get_guns.list[1][2] = config.data.get_guns.list[1][2] + 1
config.save(config.data) config.save(config.data)
menu.show[1] = true menu.show[1] = true
end end
}, },
{ -->> Shotgun { -->> Shotgun
title = "Shotgun\t"..config.data.get_guns.list[2][2], title = "Shotgun\t"..config.data.get_guns.list[2][2],
click = function(button, list, input, outs) click = function(button, list, input, outs)
if button ~= 1 then if button ~= 1 then
menu.show = { true, "main" } menu.show = { true, "main" }
return return
end end
config.data.get_guns.list[2][2] = config.data.get_guns.list[2][2] + 1 config.data.get_guns.list[2][2] = config.data.get_guns.list[2][2] + 1
config.save(config.data) config.save(config.data)
menu.show[1] = true menu.show[1] = true
end end
}, },
{ -->> SMG { -->> SMG
title = "SMG\t"..config.data.get_guns.list[3][2], title = "SMG\t"..config.data.get_guns.list[3][2],
click = function(button, list, input, outs) click = function(button, list, input, outs)
if button ~= 1 then if button ~= 1 then
menu.show = { true, "main" } menu.show = { true, "main" }
return return
end end
config.data.get_guns.list[3][2] = config.data.get_guns.list[3][2] + 1 config.data.get_guns.list[3][2] = config.data.get_guns.list[3][2] + 1
config.save(config.data) config.save(config.data)
menu.show[1] = true menu.show[1] = true
end end
}, },
{ -->> AK47 { -->> AK47
title = "AK47\t"..config.data.get_guns.list[4][2], title = "AK47\t"..config.data.get_guns.list[4][2],
click = function(button, list, input, outs) click = function(button, list, input, outs)
if button ~= 1 then if button ~= 1 then
menu.show = { true, "main" } menu.show = { true, "main" }
return return
end end
config.data.get_guns.list[4][2] = config.data.get_guns.list[4][2] + 1 config.data.get_guns.list[4][2] = config.data.get_guns.list[4][2] + 1
config.save(config.data) config.save(config.data)
menu.show[1] = true menu.show[1] = true
end end
}, },
{ -->> M4A1 { -->> M4A1
title = "M4A1\t"..config.data.get_guns.list[5][2], title = "M4A1\t"..config.data.get_guns.list[5][2],
click = function(button, list, input, outs) click = function(button, list, input, outs)
if button ~= 1 then if button ~= 1 then
menu.show = { true, "main" } menu.show = { true, "main" }
return return
end end
config.data.get_guns.list[5][2] = config.data.get_guns.list[5][2] + 1 config.data.get_guns.list[5][2] = config.data.get_guns.list[5][2] + 1
config.save(config.data) config.save(config.data)
menu.show[1] = true menu.show[1] = true
end end
}, },
{ -->> Rifle { -->> Rifle
title = "Rifle\t"..config.data.get_guns.list[6][2], title = "Rifle\t"..config.data.get_guns.list[6][2],
click = function(button, list, input, outs) click = function(button, list, input, outs)
if button ~= 1 then if button ~= 1 then
menu.show = { true, "main" } menu.show = { true, "main" }
return return
end end
config.data.get_guns.list[6][2] = config.data.get_guns.list[6][2] + 1 config.data.get_guns.list[6][2] = config.data.get_guns.list[6][2] + 1
config.save(config.data) config.save(config.data)
menu.show[1] = true menu.show[1] = true
end end
}, },
{ -->> Броня { -->> Броня
title = "Броня\t"..config.data.get_guns.list[7][2], title = "Броня\t"..config.data.get_guns.list[7][2],
click = function(button, list, input, outs) click = function(button, list, input, outs)
if button ~= 1 then if button ~= 1 then
menu.show = { true, "main" } menu.show = { true, "main" }
return return
end end
config.data.get_guns.list[7][2] = config.data.get_guns.list[7][2] + 1 config.data.get_guns.list[7][2] = config.data.get_guns.list[7][2] + 1
config.save(config.data) config.save(config.data)
menu.show[1] = true menu.show[1] = true
end end
}, },
{ -->> Сброс { -->> Сброс
title = "Сброс\t", title = "Сброс\t",
click = function(button, list, input, outs) click = function(button, list, input, outs)
if button ~= 1 then if button ~= 1 then
menu.show = { true, "main" } menu.show = { true, "main" }
return return
end end
for i = 1, #config.data.get_guns.list do for i = 1, #config.data.get_guns.list do
config.data.get_guns.list[i][2] = 0 config.data.get_guns.list[i][2] = 0
@ -792,7 +792,7 @@ menu.update = function()
config.save(config.data) config.save(config.data)
menu.show[1] = true menu.show[1] = true
end end
}, },
} }
}, },
} }
@ -835,7 +835,7 @@ stream_checker = {}
stream_checker.hide = 0 stream_checker.hide = 0
stream_checker.members = {} stream_checker.members = {}
stream_checker.sender = {} stream_checker.sender = {}
stream_checker.textfuncs = { stream_checker.textfuncs = {
['%[ID%]Имя {C0C0C0}Ранг%[Номер%] {6495ED}%[AFK секунд%] {C0C0C0}Бан чата'] = function(message) ['%[ID%]Имя {C0C0C0}Ранг%[Номер%] {6495ED}%[AFK секунд%] {C0C0C0}Бан чата'] = function(message)
stream_checker.members = {} stream_checker.members = {}
return true return true
@ -1016,8 +1016,8 @@ end
healme.onSetPlayerPos = function(position) healme.onSetPlayerPos = function(position)
local coords = { local coords = {
{ 246.2885, -0.1631, 1501.0837 }, { 246.2885, -0.1631, 1501.0837 },
{ -189.5952, -69.3178, 1497.3289 }, { -189.5952, -69.3178, 1497.3289 },
{ 1389.1643, -22.6256, 1000.9240 } { 1389.1643, -22.6256, 1000.9240 }
} }
local result = false local result = false
@ -1078,7 +1078,7 @@ end
mhcars = {} mhcars = {}
mhcars.time = 0 mhcars.time = 0
mhcars.onServerMessage = function(color, message) mhcars.onServerMessage = function(color, message)
if message == " Вы не являетесь лидером/замом мафии" or if message == " Вы не являетесь лидером/замом мафии" or
message == " Ожидайте принятия задания" or message == " Ожидайте принятия задания" or
message == " Задание уже начато" then message == " Задание уже начато" then
mhcars.time = os.time() + 1800 mhcars.time = os.time() + 1800
@ -1150,7 +1150,7 @@ mafiawar.onServerMessage = function(color, message)
msg.add("Если не каптит - нужно отойти от 3D текста бизнеса и подойти снова") msg.add("Если не каптит - нужно отойти от 3D текста бизнеса и подойти снова")
end end
end end
if message:find("^ Война за бизнес %{6AB1FF%}.+ %{FFFFFF%}пройдет в %{6AB1FF%}.+ %{FFFFFF%}| ID: {6AB1FF}%d+$") or if message:find("^ Война за бизнес %{6AB1FF%}.+ %{FFFFFF%}пройдет в %{6AB1FF%}.+ %{FFFFFF%}| ID: {6AB1FF}%d+$") or
message == " Ваша мафия уже участвует в войне" or message == " Ваша мафия уже участвует в войне" or
message == " Эта мафия уже начала войну за бизнес" or message == " Эта мафия уже начала войну за бизнес" or
message == " Этот бизнес под контролем вашей мафии" or message == " Этот бизнес под контролем вашей мафии" or
@ -1167,7 +1167,7 @@ mafiawar.set_time = function(hour)
if tonumber(hour) < tonumber(os.date("%H")) then if tonumber(hour) < tonumber(os.date("%H")) then
time = time + 10000 time = time + 10000
end end
datetime = { datetime = {
year = tonumber(os.date("%Y", time)), year = tonumber(os.date("%Y", time)),
month = tonumber(os.date("%m", time)), month = tonumber(os.date("%m", time)),
day = tonumber(os.date("%d", time)), day = tonumber(os.date("%d", time)),
@ -1178,7 +1178,7 @@ mafiawar.set_time = function(hour)
mafiawar.time = os.time(datetime) mafiawar.time = os.time(datetime)
end end
mafiawar.onCreate3DText = function(id, color, position, distance, testLOS, attachedPlayerId, attachedVehicleId, text) mafiawar.onCreate3DText = function(id, color, position, distance, testLOS, attachedPlayerId, attachedVehicleId, text)
-- msg.add(string.format("%d", color)) -- msg.add(string.format("%d", color))
-- msg.add(string.format("%s", text)) -- msg.add(string.format("%s", text))
if color == 10289407 and text:find("Владелец") then if color == 10289407 and text:find("Владелец") then
@ -1322,11 +1322,11 @@ get_guns.onShowDialog = function(id, style, title, button1, button2, text)
get_guns.check_stats = true get_guns.check_stats = true
get_guns.antiflood = os.time() - 28 get_guns.antiflood = os.time() - 28
return false return false
end end
end end
if title == "Склад оружия" then if title == "Склад оружия" then
if get_guns.getgun then if get_guns.getgun then
if #get_guns.list > 0 then if #get_guns.list > 0 then
sampSendDialogResponse(id,1,get_guns.list[1],"") sampSendDialogResponse(id,1,get_guns.list[1],"")
table.remove(get_guns.list, 1) table.remove(get_guns.list, 1)
else else
@ -2111,7 +2111,7 @@ end
function getSampRpServerName() function getSampRpServerName()
local result = "" local result = ""
local server = sampGetCurrentServerName():gsub("|", "") local server = sampGetCurrentServerName():gsub("|", "")
local server_find = { "02", "Two", "Revo", "Legacy", "Classic", "Under" } local server_find = { "02", "Two", "Revo", "Legacy", "Classic", "Renaissance" }
for i = 1, #server_find do for i = 1, #server_find do
if server:find(server_find[i]) then if server:find(server_find[i]) then
result = server_find[i] result = server_find[i]
@ -2222,7 +2222,7 @@ function isKeyCanBePressed()
if sampIsDialogActive() or sampIsChatInputActive() or sampIsCursorActive() or isSampfuncsConsoleActive() then if sampIsDialogActive() or sampIsChatInputActive() or sampIsCursorActive() or isSampfuncsConsoleActive() then
return false return false
end end
return true return true
end end
function split(str, delim, plain) function split(str, delim, plain)
local tokens, pos, plain = {}, 1, not (plain == false) --[[ delimiter is plain text by default ]] local tokens, pos, plain = {}, 1, not (plain == false) --[[ delimiter is plain text by default ]]

@ -1 +1 @@
20.07.2023 14.06.2025
Loading…
Cancel
Save