Трабл с ГТА и ЛУА

ShikamaruRU

Участник
Автор темы
55
1
Версия MoonLoader
.026-beta
Lua:
--Инфа по скрипту.
script_version("19.09.2019")

--Библиотеки
require "lib.moonloader"
local imgui = require 'imgui'
local dlstatus = require('moonloader').download_status
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
local inicfg = require 'inicfg'
local keys = require 'vkeys'

--local directIni = "moonloader\\config\\Medical-Helper.ini"

--local mainIni = inicfg.load(nil, directIni)
--local stateIni = inicfg.save(mainIni, directIni)


--Не помню что тут, но видимо не так важно.
imgui.Process = false

local main_window_state = imgui.ImBool(false)
local text_buffer = imgui.ImBuffer(256)
local sw, sh = getScreenResolution()
local women = imgui.ImBool(false)

--Цвета
local main_color_text = "{FF69B4}"

function main()
    while not isSampAvailable() do wait(100) end

    sampRegisterChatCommand("medh", medh)
    sampRegisterChatCommand("mc", mc)


    while true do wait(0)
        if main_window_state.v == false then
            imgui.Process = false
        end
                mynick = sampGetPlayerNickname(myid)
                _, myid = sampGetPlayerIdByCharHandle(PLAYER_PED)
    end
end

--Выдача мед.карты
function mc()
    lua_thread.create(function ()
    sampSendChat("Здравствуйте, я сотрудник медицинского центра, я так понимаю вам нужна мед.карта. сейчас ее оформим.")
    wait(1000)
    sampSendChat("Не могли бы вы показать свой паспорт,чтобы я смог определить цену.")
        repeat
      if isKeyJustPressed(VK_U) then
        sampAddChatMessage("Прервано", -1)
    return
    end
    until isKeyJustPressed(VK_Y)
            sampAddChatMessage("продолжение", -1)
        --
        sampSendChat("/me правой рукой берет паспорт и просматривает его,после чего кладет на стойку")
    wait(1000)
        sampSendChat("Хорошо, для вас медицинская карта обойдётся в сумма$, оплатите и продолжим.")
    wait(1000)
        sampSendChat("Сейчас скажите ваш рост, вес и немного о своих вредных привычках.")
    wait(1000)
        repeat
        if isKeyJustPressed(VK_U) then
          sampAddChatMessage("Прервано", -1)
    return
    end
    until isKeyJustPressed(VK_Y)
    sampAddChatMessage("продолжение", -1)
        --
        sampSendChat("/do В правом кармане рубашки находится блокнот и ручка.")
    wait(1000)
        sampSendChat("/me правой рукой достает блокнот и ручку, после чего открывает его иделает записи")
    wait(1000)
        sampSendChat("/todo Хорошо, имеются ли у вас аллергические реакции?*смотря на пациента")
    wait(1000)
        sampSendChat("/todo Я вас понял*делая записи в блокнот")
    wait(1000)
        sampSendChat("/do На плече висит небольшая сумка с документацией.")
    wait(1000)
        sampSendChat("/me достает из сумки мед.карту и заполняет содержимое с блокнота и данные паспорта")
    wait(1000)
        sampSendChat("/me заполнив мед.карту ,убирает блокнот и ручку в карман, подбирает паспорт со стола...")
    wait(1000)
        sampSendChat("/me ...и передает человеку напротив.")
    wait(1000)
        sampSendChat("/medcart" .. myid)
    end)
end

function medh(arg)
    main_window_state.v = not main_window_state.v
    imgui.Process = main_window_state.v
end

--Панелька imgui
function imgui.OnDrawFrame()
  imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
  imgui.SetNextWindowSize(imgui.ImVec2(600, 600), imgui.Cond.FirstUseEver)
    imgui.Begin(u8"Настройки скрипта | Medical Hepler", main_window_state, imgui.WindowFlags.NoCollapse)
        if imgui.CollapsingHeader(u8"Основная информация") then
                    imgui.Text(u8"Ваш ник: "..mynick)
                    imgui.Text(u8"Ваш ID: "..myid)
                    imgui.Checkbox(u8"Женские отыгровки", women)
        end
    imgui.End()
end
В общем, при вводе команды /mc скрипт начинает работу, затем игра залагивает и на этом стоп. только ч/з диспетчер задач закрывается