script_name("Hospital Tools by Bruskin")
script_author("Mark Bruskin")
script_description("Hospital Tools for Arizona RP")
require "lib.moonloader"
local imgui = require 'imgui'
local encoding = require 'encoding'
local themes = import 'resource/imgui_themes.lua'
local keys = require 'vkeys'
local inicfg = require 'inicfg'
local directIni = 'hospitaltools.ini'
local mainIni = inicfg.load({
config = {
med7 = "",
med14 = "",
med30 = "",
med60 = "",
},
}, directIni)
inicfg.save(mainIni, directIni)
encoding.default = 'CP1251'
u8 = encoding.UTF8
local main_window_state = imgui.ImBool(false)
local mskip_window_state = imgui.ImBool(false)
local id_text_buffer = imgui.ImBuffer(13)
local healcure_window_state = imgui.ImBool(false)
local heal_text_buffer = imgui.ImBuffer(13)
local medcard_window_state = imgui.ImBool(false)
local settings_window_state = imgui.ImBool(false)
local med7_text_buffer = imgui.ImBuffer(mainIni.config.med7, 56)
local med14_text_buffer = imgui.ImBuffer(mainIni.config.med14, 56)
local med30_text_buffer = imgui.ImBuffer(mainIni.config.med30, 56)
local med60_text_buffer = imgui.ImBuffer(mainIni.config.med60, 56)
function imgui.OnDrawFrame()
if main_window_state.v then
local scrX, scrY = getScreenResolution()
imgui.SetNextWindowPos(imgui.ImVec2(scrX / 2, scrY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5));
imgui.SetNextWindowSize(imgui.ImVec2(600,400), imgui.Cond.FirstUseEver)
imgui.Begin(u8'Команды скрипта', main_window_state)
imgui.Text(u8'/svc - объявить о пропуске скорой помощи на сервере ВС')
imgui.Text(u8'/sjf - объявить о пропуске скорой помощи JFMC')
imgui.Text(u8'/sls - объявить о пропуске скорой помощи LSMC')
imgui.Text(u8'/ssf - объявить о пропуске скорой помощи SFMC')
imgui.Text(u8'/slv - объявить о пропуске скорой помощи LVMC')
imgui.Text(u8'/mskip - объявить о пропуске скорой помощи')
imgui.Text(u8'/hheal - меню где можно поднять или вылечить')
imgui.Text(u8'/hil - вылечить (РАБОТАЕТ ТОЛЬКО НА VICE CITY')
imgui.Text(u8'/cur - поднять на ноги')
imgui.End()
end
if mskip_window_state.v then
local scrX, scrY = getScreenResolution()
imgui.SetNextWindowPos(imgui.ImVec2(scrX / 2, scrY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5));
imgui.SetNextWindowSize(imgui.ImVec2(600,400), imgui.Cond.FirstUseEver)
imgui.Begin(u8'Меню пропуска', mskip_window_state)
imgui.Text(u8'Выберите организацию, чтоб объявить о пропуске скорой помощи при помощи мегафона (/m)')
if imgui.Button('Vice City') then
sampSendChat('/m Медицинский Центр Vice City! Немедленно пропустите карету скорой помощи!')
end
if imgui.Button('Los Santos') then
sampSendChat('/m Медицинский Центр Los Santos! Немедленно пропустите машину скорой помощи!')
end
if imgui.Button('Jefferson') then
sampSendChat('/m Медицинский Центр Jefferson! Немедленно пропустите машину скорой помощи!')
end
if imgui.Button('San Fierro') then
sampSendChat('/m Медицинский Центр San Fierro! Немедленно пропустите машину скорой помощи!')
end
if imgui.Button('Las Venturas') then
sampSendChat('/m Медицинский Центр Las Venturas! Немедленно пропустите машину скорой помощи!')
end
imgui.End()
end
if healcure_window_state.v then
local scrX, scrY = getScreenResolution()
imgui.SetNextWindowPos(imgui.ImVec2(scrX / 2, scrY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5));
imgui.SetNextWindowSize(imgui.ImVec2(600,400), imgui.Cond.FirstUseEver)
imgui.Begin(u8'Вылечить & поднять на ноги', healcure_window_state)
if imgui.InputText(u8'id', id_text_buffer) and isKeyJustPressed(VK_RETURN) then
end
if imgui.InputText(u8'Цена', heal_text_buffer) and isKeyJustPressed(VK_RETURN) then
end
imgui.Text(u8'Примечание: Для сервера VC цена должна быть в районе от 50 до 200')
imgui.Text(u8'Для основных серверов цена должна быть в районе от 5000 до 5000')
if imgui.Button(u8'Вылечить') then
lua_thread.create(function()
sampSendChat('/do Таблетка в мед сумке')
wait(1500)
sampSendChat("/me достал таблетку и передал их человеку напротив")
wait(1500)
sampSendChat('/heal '..id_text_buffer.v.. ' '..heal_text_buffer.v)
end)
end
if imgui.Button(u8'Поднять') then
lua_thread.create(function()
sampSendChat('/do Укол адреналина в сумке.')
wait(1500)
sampSendChat('/me открыл сумку, после чего достал укол адреналина')
wait(1500)
sampSendChat('/do Укол в руке.')
wait(1500)
sampSendChat('/me сделал укол пострадавшему')
wait(1500)
sampSendChat('/cure '..id_text_buffer.v)
end)
end
imgui.End()
end
if medcard_window_state.v then
local scrX, scrY = getScreenResolution()
imgui.SetNextWindowPos(imgui.ImVec2(scrX / 2, scrY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5));
imgui.SetNextWindowSize(imgui.ImVec2(600,400), imgui.Cond.FirstUseEver)
imgui.Begin(u8'Выдать мед. карту', medcard_window_state)
if imgui.InputText(u8'id', id_text_buffer) and isKeyJustPressed(VK_RETURN) then
end
if imgui.InputText(u8'Цена', heal_text_buffer) and isKeyJustPressed(VK_RETURN) then
end
imgui.Text(u8'ВАЖНО: Если не хотите получить выговор / наказание от администрации - узнайте сначала паспорт, после выдайте мед. карту')
if imgui.Button(u8'Узнать паспорт') then
lua_thread.create(function()
sampSendChat('Здравствуйте, покажите свой паспорт.')
wait(1500)
sampSendChat('/b /showpass id')
sampAddChatMessage('Чтобы продолжить нажмите ENTER', 0xFFFF00)
end)
end
imgui.Text(u8'Так же рекомендуем узнать срок мед. карты')
if imgui.Button(u8'Узнать срок мед. карты') then
sampSendChat('Такс.. На какой срок планируете брать мед. карту?')
end
imgui.Text(u8'Сроки мед. карты:')
if imgui.Button(u8'7 дней') then
lua_thread.create(function()
sampSendChat('/do Бланк в кармане.')
wait(1500)
sampSendChat('/me достал бланк, после чего начал его заполнять')
wait(1500)
sampSendChat('/do Бланк заполнен.')
wait(1500)
sampSendChat('/me передал бланк человеку')
wait(1500)
sampSendChat('/medcard '..id_text_buffer.v..' 3 0 '..heal_text_buffer.v)
end)
end
if imgui.Button(u8'14 дней') then
lua_thread.create(function()
sampSendChat('/do Бланк в кармане.')
wait(1500)
sampSendChat('/me достал бланк, после чего начал его заполнять')
wait(1500)
sampSendChat('/do Бланк заполнен.')
wait(1500)
sampSendChat('/me передал бланк человеку')
wait(1500)
sampSendChat('/medcard '..id_text_buffer.v..' 3 1 '..heal_text_buffer.v)
end)
end
if imgui.Button(u8'30 дней') then
lua_thread.create(function()
sampSendChat('/do Бланк в кармане.')
wait(1500)
sampSendChat('/me достал бланк, после чего начал его заполнять')
wait(1500)
sampSendChat('/do Бланк заполнен.')
wait(1500)
sampSendChat('/me передал бланк человеку')
wait(1500)
sampSendChat('/medcard '..id_text_buffer.v..' 3 2 '..heal_text_buffer.v)
end)
end
if imgui.Button(u8'60 дней') then
lua_thread.create(function()
sampSendChat('/do Бланк в кармане.')
wait(1500)
sampSendChat('/me достал бланк, после чего начал его заполнять')
wait(1500)
sampSendChat('/do Бланк заполнен.')
wait(1500)
sampSendChat('/me передал бланк человеку')
wait(1500)
sampSendChat('/medcard '..id_text_buffer.v..' 3 3 '..heal_text_buffer.v)
end)
end
imgui.End()
end
if settings_window_state.v then
local scrX, scrY = getScreenResolution()
imgui.SetNextWindowPos(imgui.ImVec2(scrX / 2, scrY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5));
imgui.SetNextWindowSize(imgui.ImVec2(600,400), imgui.Cond.FirstUseEver)
imgui.Begin(u8'Меню настроек', settings_window_state)
imgui.Text(u8'Цен на мед. карты')
imgui.InputText(u8'7 дней', med7_text_buffer)
imgui.InputText(u8'14 дней', med14_text_buffer)
imgui.InputText(u8'30 дней', med30_text_buffer)
imgui.InputText(u8'60 дней', med60_text_buffer)
if imgui.Button(u8'Сохранить') then
mainIni.config.med7 = med7_text_buffer.v
mainIni.config.med14 = med14_text_buffer.v
mainIni.config.med30 = med30_text_buffer.v
mainIni.config.med60 = med60_text_buffer.v
inicfg.save(mainIni, directIni)
sampAddChatMessage('Успешно', 0xFFFF00)
end
imgui.End()
end
end
function main()
while not isSampAvailable() do wait(0) end
sampAddChatMessage("[Hospital Tools] Скрипт успешно загружен.", 0x00FF00)
sampAddChatMessage("[Hospital Tools] Автор: Mark Bruskin", 0xFFFF00)
sampAddChatMessage("[Hospital Tools] Версия: v. 1.0.0", 0xFFFF00)
sampRegisterChatCommand("svc", svccb)
sampRegisterChatCommand("sls", slscb)
sampRegisterChatCommand("ssf", ssfcb)
sampRegisterChatCommand("slv", slvcb)
sampRegisterChatCommand("hilvc", hilvccb)
sampRegisterChatCommand("cur", curcb)
sampRegisterChatCommand("mhelp", function() main_window_state.v = not main_window_state.v end)
sampRegisterChatCommand('mskip', function() mskip_window_state.v = not main_window_state.v end)
sampRegisterChatCommand('sjf', sjfcb)
sampRegisterChatCommand('hheal', function() healcure_window_state.v = not healcure_window_state.v end)
sampRegisterChatCommand('givemc', function() medcard_window_state.v = not medcard_window_state.v end)
sampRegisterChatCommand('msettings', function() settings_window_state.v = not settings_window_state.v end)
while true do wait(0)
imgui.Process = main_window_state.v or mskip_window_state.v or healcure_window_state.v or medcard_window_state.v or settings_window_state.v
imgui.SwitchContext()
themes.SwitchColorTheme(2)
end
end
function svccb()
sampSendChat("/m Медицинский Центр Vice City! Немедленно пропустите карету скорой помощи!")
end
function slscb()
sampSendChat("/m Медицинский Центр Los Santos! Немедленно пропустите машину скорой помощи!")
end
function ssfcb()
sampSendChat("/m Медицинский Центр San Fierro! Немедленно пропустите машину скорой помощи!")
end
function slvcb()
sampSendChat("/m Медицинский Центр Las Venturas! Немедленно пропустите машину скорой помощи!")
end
function hilvccb(arg)
if tonumber(arg) then
lua_thread.create(function()
sampSendChat("/do Мед. сумка на поясе.")
wait(1500)
sampSendChat("/me открыл мед. сумку, после достал необходимые таблетки")
wait(1500)
sampSendChat("/do Таблетки в руках.")
wait(1500)
sampSendChat("/me передал таблетки человеку")
wait(1500)
sampSendChat("/heal "..arg.." 50")
end)
end
end
function curcb(arg)
if tonumber(arg) then
lua_thread.create(function()
sampSendChat("/do Мед. сумка на поясе.")
wait(1500)
sampSendChat("/me открыл мед. сумку, после чего достал от туда укол адреналина")
wait(1500)
sampSendChat("/do Укол адреналина в руках.")
wait(1500)
sampSendChat("/me сделал укол в проблемное место")
wait(1500)
sampSendChat("/cure "..arg)
end)
end
end
function sjfcb()
sampSendChat('/m Медицинский Центр Jefferson! Немедленно пропустите машину скорой помощи!')
end