Информация MoonLoader - обсуждение

DolgorukovGTA

Известный
Проверенный
652
345
@FYP,
У меня есть простенький худ, который работает на рендер-функциях, дак вот, при установке 0.27 MoonLoader происходит следующий бред, если я удаляю этот скрипт, либо же откатываюсь до 0.26, то всё встает на свои места. Сделал для худа деактивацию на F10, при которой останавливается рендер, всё становится на свои места.
34619
 

Angr

Известный
291
97
@FYP
Возможно я пропустил, или как-то не так поступаю, но старый ВХ у меня работает только когда я что-то делаю
0.27 кста
Lua:
function nameTagOn()
  local pStSet = sampGetServerSettingsPtr()
  memory.setfloat(pStSet + 39, 1488.0)
  memory.setint8(pStSet + 47, 0)
  memory.setint8(pStSet + 56, 1)
end
 
  • Bug
Реакции: AnWu
D

deleted-user-164854

Гость
Многоуважаемый @FYP, тут походу я обнаружил баг 0.27-2, связанный с decodeJson.
Словил я данный краш скрипта при попытке перенести с 0.26 на 0.27. Вот набросал для проверки:

Lua:
if doesFileExist(getGameDirectory().."\\moonloader\\test.json") then
    local f = io.open(getGameDirectory().."\\moonloader\\test.json", "r")
    if f then
        data = decodeJson(f:read("a*"))
        f:close()
    end
else
    data = {
        [1] = { a = 1, b = 2 }
    }
end

print(data[1].a)

data[1].a = 228

if doesFileExist(getGameDirectory().."\\moonloader\\test.json") then
    os.remove(getGameDirectory().."\\moonloader\\test.json")
end
local f = io.open(getGameDirectory().."\\moonloader\\test.json", "w")
if f then
    f:write(encodeJson(data))
    f:close()
end 

if doesFileExist(getGameDirectory().."\\moonloader\\test.json") then
    local f = io.open(getGameDirectory().."\\moonloader\\test.json", "r")
    if f then
        data = decodeJson(f:read("a*"))
        f:close()
    end
else
    data = {
        [1] = { a = 1, b = 2 }
    }
end

print(data[1].a)

function main()
    wait(-1)
end

Лог 0.26:
Код:
[00:17:26.918474] (script)    TestJson.lua: 1
[00:17:26.920474] (script)    TestJson.lua: 228

Лог 0.27:
Код:
[00:15:17.791075] (error)    TestJson.lua: [json.exception.parse_error.101] parse error at line 1, column 1: syntax error while parsing value - unexpected end of input; expected '[', '{', or a literal
stack traceback:
    [C]: in function 'decodeJson'
    E:\Games\SAMP\Moonloader27\moonloader\TestJson.lua:4: in main chunk

P.S. Поискал по форуму, вроде нигде не нашёл упоминаний о чём то таком.
 

FYP

Известный
Автор темы
Администратор
1,758
5,722
@Infernus странно, у меня нормально 🤨
лог:
[00:38:51.633914] (script)    test-json.lua: 1
[00:38:51.633914] (script)    test-json.lua: 228
[00:38:51.633914] (system)    test-json.lua: Loaded successfully.
содержимое json:
[
  {
    "a": 228,
    "b": 2
  }
]
посмотри что записывается в файл у тебя.
 

RTD

Нестандартное звание
Модератор
391
413
@Infernus странно, у меня нормально 🤨
лог:
[00:38:51.633914] (script)    test-json.lua: 1
[00:38:51.633914] (script)    test-json.lua: 228
[00:38:51.633914] (system)    test-json.lua: Loaded successfully.
содержимое json:
[
  {
    "a": 228,
    "b": 2
  }
]
посмотри что записывается в файл у тебя.
Кодировка json-функций переведена на UTF-8 и крашит скрипт если передается кириллица в CP1251. Это будет фикситься в виде неявного преобразования или нет и нужно будет как сейчас, явно переводить кодировку = encodeJson({u8("Кириллица")}) ? Основная проблема этого - старые скрипты будут крашиться и их нужно переводить под эту особенность
 

DolgorukovGTA

Известный
Проверенный
652
345
@FYP,
У меня есть простенький худ, который работает на рендер-функциях, дак вот, при установке 0.27 MoonLoader происходит следующий бред, если я удаляю этот скрипт, либо же откатываюсь до 0.26, то всё встает на свои места. Сделал для худа деактивацию на F10, при которой останавливается рендер, всё становится на свои места.
Посмотреть вложение 34619
Хотелось бы услышать хоть какую-то информацию, дело абсолютно не в худе.
 

Leatington

Известный
258
71
@FYP , даже если заполненную таблицу пытаться превратить в пустую - будет null. В 0-26 такого не наблюдалось. Пофикси, пожалуйста)
 

SKIC

Известный
64
0
Кто трогал moonloader 0.27 и mimgui? Сырой ли? а то на 1000+ строк и стоит ли переписывать.
 

xISRAPILx

Перепишу свою жизнь на PHP
Проверенный
248
173
Не знаю, говорил кто или нет, но вопрос с inicfg.save не закрыт после фикса.
Код:
moonloader\libstd\inicfg.lua:85: assertion failed!
stack traceback:
    [C]: in function 'assert'
    D:\Games\new\GTA San Andreas\moonloader\libstd\inicfg.lua:85: in function 'save'

Lua:
local config = inicfg.load({
    access_token = ""
})

function onScriptTerminate(script, quitGame)
    inicfg.save(config)
end

Заполнил файл в ручную и вот:
Код:
\libstd\inicfg.lua:52: parameter out of section
stack traceback:
    [C]: in function 'error'
    D:\Games\new\GTA San Andreas\moonloader\libstd\inicfg.lua:52: in function 'load'
INI:
access_token=test_token
 
Последнее редактирование: