- 260
- 45
скрипт крашит, либа плачет
код:
Код:
[13:37:44.896434] (error) minjuhelper.lua: D:\SAMP\moonloader\lib\carbJsonConfig.lua:224: 'ctype' cannot be indexed with 'number'
stack traceback:
D:\SAMP\moonloader\lib\carbJsonConfig.lua: in function 'preptable2json'
D:\SAMP\moonloader\lib\carbJsonConfig.lua:185: in function 'preptable2json'
D:\SAMP\moonloader\lib\carbJsonConfig.lua:185: in function 'preptable2json'
D:\SAMP\moonloader\lib\carbJsonConfig.lua:246: in function 'load'
D:\SAMP\moonloader\minjuhelper.lua:164: in function <D:\SAMP\moonloader\minjuhelper.lua:162>
[13:37:44.897462] (error) minjuhelper.lua: Script died due to an error. (16B8894C)
код:
Lua:
require('lib.moonloader')
local imgui = require('mimgui')
local addons = require("ADDONS")
local pie = require('imgui_piemenu')
local toast_ok, toast = pcall(import, 'lib\\mimtoasts.lua')
local ffi = require('ffi')
local jam = require('jamicons')
local font = {}
local vkeys = require('vkeys')
local cef = require('CEF Events')
local sampev = require('lib.samp.events')
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
local cjc = require('carbJsonConfig')
local settings = {
onoffscript = imgui.new.bool(),
krygmenu = imgui.new.bool(),
infomenu = imgui.new.bool(),
bindksiva = imgui.new.bool(),
inputnickname = imgui.new.char[256](),
inputsurname = imgui.new.char[256](),
inputorganithation = imgui.new.char[256],
inputonebindksiva = imgui.new.char[256](),
}
local new = imgui.new
local flags = imgui.WindowFlags
local win = new.bool()
local bindksiva = new.bool()
local infomenu = new.bool()
local piemenu = new.bool()
local page = 1
function sampev.onSendSpawn()
local str = 'window.executeEvent(\'cef.modals.showModal\', \'["interactionSidebar",{"title": "пїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ?","description":"пїЅпїЅпїЅпїЅпїЅ пїЅпїЅ пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅ","timer":3,"buttons":[{"title": "пїЅпїЅпїЅпїЅпїЅпїЅпїЅ","keyTitle": "ALT + F4","buttonColor": "#ffffff","backgroundColor": "rgba(171, 171, 171, 0.15)"}]}]\');'
cef.visualCEF(str)
end
imgui.OnFrame(function() return piemenu[0] end, function(player)
local cursorPosX, cursorPosY = getCursorPos()
imgui.SetNextWindowPos(imgui.ImVec2(cursorPosX, cursorPosY), imgui.Cond.Always, imgui.ImVec2(0.5, 0.5))
imgui.OpenPopup('PieMenu')
if pie.BeginPiePopup('PieMenu', 1) then
if pie.BeginPieMenu('Sub') then
if pie.BeginPieMenu('Sub sub\nmenu') then
if pie.PieMenuItem('SubSub') then end
if pie.PieMenuItem('SubSub2') then end
pie.EndPieMenu()
end
if pie.PieMenuItem('TestSub') then end
if pie.PieMenuItem('TestSub2') then end
pie.EndPieMenu()
end
pie.EndPiePopup()
end
imgui.EndPopup()
end)
imgui.OnFrame(function() return infomenu[0] end, function(player)
imgui.Begin('##Window', infomenu, flags.NoResize + flags.AlwaysAutoResize + flags.NoTitleBar)
imgui.Text(u8'Ваше имя: '..ffi.string(settings.inputnickname))
imgui.Text(u8'Ваша фамилия: '..ffi.string(settings.inputsurname))
imgui.End()
end).HideCursor = true
imgui.OnFrame(function() return bindksiva[0] end, function(player)
imgui.SetNextWindowPos(imgui.ImVec2(690,400), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.Begin(u8'Редактирование бинда на удостоверение', bindksiva, flags.NoResize + flags.AlwaysAutoResize + flags.NoTitleBar)
imgui.Text(u8'Редактирование бинда на удостоверение')
imgui.SameLine()
addons.CloseButton('MainClose', bindksiva, 20)
if imgui.InputText('##1', settings.inputonebindksiva, 256) then
settings()
end
imgui.SameLine()
imgui.PushFont(font['jam'])
if imgui.Button(jam.PLUS) then
sampAddChatMessage('ты даун', ffffff)
end
imgui.PopFont()
imgui.End()
end)
imgui.OnFrame(function() return win[0] end, function(player)
imgui.SetNextWindowPos(imgui.ImVec2(690,400), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.Begin('MinJu helper', win, flags.NoResize + flags.AlwaysAutoResize)
if addons.HeaderButton(page == 1, 'First') then
page = 1
end
imgui.SameLine()
if addons.HeaderButton(page == 2, u8'Settings') then
page = 2
end
imgui.SameLine()
if addons.HeaderButton(page == 3, 'Binder') then
page = 3
end
imgui.SameLine()
if addons.HeaderButton(page == 4, u8'About') then
page = 4
end
if page == 1 then
if addons.ToggleButton(u8'Включить скрипт', settings.onoffscript) then
settings()
toast.Show(u8'Скрипт включен!', toast.TYPE.INFO, 5)
end
elseif page == 2 then
if imgui.InputText(u8'Введите ваше имя на английском', settings.inputnickname, 256) then
settings()
end
if imgui.InputText(u8'Введите вашу фамилию на английском', settings.inputsurname, 256) then
settings()
end
if imgui.InputText(u8'Введите тег вашей организации', settings.inputorganithation, 256) then
settings()
end
imgui.Text(u8'Строчки выше обязательно заполнить!')
if addons.ToggleButton(u8'Включить круговое меню', settings.krygmenu) then
settings()
end
if addons.ToggleButton(u8'Включить информационное меню', settings.infomenu) then
settings()
infomenu[0] = not infomenu[0]
end
elseif page == 3 then
imgui.Text(u8'Показать удостоверение')
imgui.SameLine()
if addons.ToggleButton(u8' ', settings.bindksiva) then
settings()
end
imgui.SameLine()
imgui.PushFont(font['jam'])
if addons.StateButton(settings.bindksiva[0], jam.PENCIL) then
bindksiva[0] = not bindksiva[0]
end
imgui.PopFont()
elseif page == 4 then
imgui.TextWrapped(u8'Скрипт написан для упрощения работы в МЮ на таком проекте как Arizona RolePlay')
imgui.Text(u8'Связь со мной: TG - @holosdev')
imgui.Text('DS - @holosdev')
imgui.Text('Github - @wholos')
end
imgui.TextDisabled('by holos')
imgui.End()
end)
imgui.OnInitialize(function()
imgui.GetIO().IniFilename = nil
local font_config = imgui.ImFontConfig()
font_config.SizePixels = 20;
local iconRanges = new.ImWchar[3](jam.min_range, jam.max_range, 0)
font['jam'] = imgui.GetIO().Fonts:AddFontFromMemoryCompressedBase85TTF(jam.get_font_data_base85(), 24, font_config, iconRanges)
end)
function main()
while not isSampAvailable() do wait(0) end
cjc.load(getWorkingDirectory().."\\config\\mjhelper.json",settings)
settings()
sampRegisterChatCommand('mj', function() win[0] = not win[0] end)
if toast_ok then
toast.Show(u8'MinJu Helper загружен!', toast.TYPE.OK, 5)
else
sampAddChatMessage('MinJu Helper загружен! У вас не установлена библиотека mimtoasts.lua', -1)
end
while true do wait(0)
if wasKeyPressed(0x04) then
piemenu[0] = not piemenu[0]
end
if wasKeyPressed(0x72) then
win[0] = not win[0]
end
end
end