Ошибка с ColorEdit4

CaJlaT

Овощ
Автор темы
Модератор
2,806
2,606
Версия MoonLoader
.026-beta
В общем, только на одной сборке работает нормально функция ColorEdit4 в Imgui...
Сначала я столкнулся с этой проблемой в своём скрипте, потом ради теста скачал colorpicker и там тоже не работает....

Log:
[ML] (error) colorpicker: E:\GTA 120K BY DAPO SHOW\moonloader\colorpicker.lua:41: stack index 2, expected userdata, received sol.ImVec4: value at this index does not properly reflect the desired type (bad argument into 'bool(const char*, ImArray<float,4>*, sol::optional<int>)')
stack traceback:
    [C]: in function 'ColorEdit4'
    E:\GTA 120K BY DAPO SHOW\moonloader\colorpicker.lua:41: in function 'OnDrawFrame'
    E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:1378: in function <E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:1367>
[ML] (error) colorpicker: Script died due to an error. (0BD38C44)
[ML] (error) test.lua: E:\GTA 120K BY DAPO SHOW\moonloader\test.lua:128: stack index 2, expected userdata, received sol.ImVec4: value at this index does not properly reflect the desired type (bad argument into 'bool(const char*, ImArray<float,4>*, sol::optional<int>)')
stack traceback:
    [C]: in function 'ColorEdit4'
    E:\GTA 120K BY DAPO SHOW\moonloader\test.lua:128: in function 'OnDrawFrame'
    E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:1378: in function <E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:1367>
[ML] (error) test.lua: Script died due to an error. (0BD38624)
Я уже с той сборки перекидывал мун полностью, не помогает. Переустанавливал мун с установщика, не помогает....
Пожалуйста, помогите
 

Вложения

  • colorpicker.lua
    4.7 KB · Просмотры: 47

CaJlaT

Овощ
Автор темы
Модератор
2,806
2,606
Русским английским же языков написано. Неправильные аргументы. Эта функция принимает не ImVec4, а ImFloat4
Что тогда тут не так? -_-

Log:
[ML] (error) BulletTrack.lua: E:\GTA 120K BY DAPO SHOW\moonloader\BulletTrack.lua:128: stack index 2, expected userdata, received sol.ImVec4: value at this index does not properly reflect the desired type (bad argument into 'bool(const char*, ImArray<float,4>*, sol::optional<int>)')
stack traceback:
    [C]: in function 'ColorEdit4'
    E:\GTA 120K BY DAPO SHOW\moonloader\BulletTrack.lua:128: in function 'OnDrawFrame'
    E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:1378: in function <E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:1367>
[ML] (error) BulletTrack.lua: Script died due to an error. (0BD38624)

Строчка, на которую жалуется:

Код:
local BulletColorPed = imgui.ImColor(0, 0, 0, 255):GetFloat4()

if imgui.ColorEdit4(u8("Цвет поподания по игроку"), BulletColorPed) then
 

AnWu

Guardian of Order
Всефорумный модератор
4,686
5,166
Что тогда тут не так? -_-

Log:
[ML] (error) BulletTrack.lua: E:\GTA 120K BY DAPO SHOW\moonloader\BulletTrack.lua:128: stack index 2, expected userdata, received sol.ImVec4: value at this index does not properly reflect the desired type (bad argument into 'bool(const char*, ImArray<float,4>*, sol::optional<int>)')
stack traceback:
    [C]: in function 'ColorEdit4'
    E:\GTA 120K BY DAPO SHOW\moonloader\BulletTrack.lua:128: in function 'OnDrawFrame'
    E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:1378: in function <E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:1367>
[ML] (error) BulletTrack.lua: Script died due to an error. (0BD38624)

Строчка, на которую жалуется:

Код:
local BulletColorPed = imgui.ImColor(0, 0, 0, 255):GetFloat4()

if imgui.ColorEdit4(u8("Цвет поподания по игроку"), BulletColorPed) then
файл кидай. по двум строчкам не сказать что не так
 

AnWu

Guardian of Order
Всефорумный модератор
4,686
5,166
вроде эта шляпа из за разных версий имгуи, у меня что то подобное было(с редактором цветов, каким именно не помню) на старой версии имгуи работает стабильно, а на новой не хочет
в новой включена проверка типов просто. не успел вчера. в 10 домой ток приехал. сегодня после работы
 

CaJlaT

Овощ
Автор темы
Модератор
2,806
2,606
вроде эта шляпа из за разных версий имгуи, у меня что то подобное было(с редактором цветов, каким именно не помню) на старой версии имгуи работает стабильно, а на новой не хочет
Так я перекидывал либы с той сборки, где работает... Это не помогло
 

AnWu

Guardian of Order
Всефорумный модератор
4,686
5,166
Так я перекидывал либы с той сборки, где работает... Это не помогло
Короче. GetFloat4() возвращает 4 значения, а не ImFloat4. Тебе нужен именно ImFloat4 для работы с ColorEdit.

 
  • Нравится
Реакции: CaJlaT

CaJlaT

Овощ
Автор темы
Модератор
2,806
2,606
Короче. GetFloat4() возвращает 4 значения, а не ImFloat4. Тебе нужен именно ImFloat4 для работы с ColorEdit.

1:
Lua:
local BulletColorPed = imgui.ImFloat4(0, 0, 0, 255)

if imgui.ColorEdit4(u8("Цвет поподания по игроку"), BulletColorPed) then
Log:
[ML] (error) BulletTrack.lua: E:\GTA 120K BY DAPO SHOW\moonloader\BulletTrack.lua:128: stack index 2, expected userdata, received sol.ImVec4: value at this index does not properly reflect the desired type (bad argument into 'bool(const char*, ImArray<float,4>*, sol::optional<int>)')
stack traceback:
    [C]: in function 'ColorEdit4'
    E:\GTA 120K BY DAPO SHOW\moonloader\BulletTrack.lua:128: in function 'OnDrawFrame'
    E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:1378: in function <E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:1367>
[ML] (error) BulletTrack.lua: Script died due to an error. (0BD4B644)
2:

Lua:
local BulletColorPed = imgui.ImColor(imgui.ImFloat4(0, 0, 0, 255))

if imgui.ColorEdit4(u8("Цвет поподания по игроку"), BulletColorPed) then
Log:
[ML] (error) BulletTrack.lua: E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:346: sol: no matching function call takes this number of arguments and the specified types
stack traceback:
    [C]: in function 'ImVec4'
    E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:346: in function 'ImColor'
    E:\GTA 120K BY DAPO SHOW\moonloader\BulletTrack.lua:21: in main chunk
[ML] (error) BulletTrack.lua: Script died due to an error. (0BD4B644)
 

AnWu

Guardian of Order
Всефорумный модератор
4,686
5,166
1:
Lua:
local BulletColorPed = imgui.ImFloat4(0, 0, 0, 255)

if imgui.ColorEdit4(u8("Цвет поподания по игроку"), BulletColorPed) then
Log:
[ML] (error) BulletTrack.lua: E:\GTA 120K BY DAPO SHOW\moonloader\BulletTrack.lua:128: stack index 2, expected userdata, received sol.ImVec4: value at this index does not properly reflect the desired type (bad argument into 'bool(const char*, ImArray<float,4>*, sol::optional<int>)')
stack traceback:
    [C]: in function 'ColorEdit4'
    E:\GTA 120K BY DAPO SHOW\moonloader\BulletTrack.lua:128: in function 'OnDrawFrame'
    E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:1378: in function <E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:1367>
[ML] (error) BulletTrack.lua: Script died due to an error. (0BD4B644)
2:

Lua:
local BulletColorPed = imgui.ImColor(imgui.ImFloat4(0, 0, 0, 255))

if imgui.ColorEdit4(u8("Цвет поподания по игроку"), BulletColorPed) then
Log:
[ML] (error) BulletTrack.lua: E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:346: sol: no matching function call takes this number of arguments and the specified types
stack traceback:
    [C]: in function 'ImVec4'
    E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:346: in function 'ImColor'
    E:\GTA 120K BY DAPO SHOW\moonloader\BulletTrack.lua:21: in main chunk
[ML] (error) BulletTrack.lua: Script died due to an error. (0BD4B644)
первый верный, у тебя при чтении из файла переназначение идет. смотри код
 

CaJlaT

Овощ
Автор темы
Модератор
2,806
2,606
первый верный, у тебя при чтении из файла переназначение идет. смотри код
Таааак, теперь гуи показывает, но когда меняю цвет - скрип крашится

Log:
[ML] (error) BulletTrack.lua: E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:346: sol: no matching function call takes this number of arguments and the specified types
stack traceback:
    [C]: in function 'ImVec4'
    E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:346: in function 'ImColor'
    E:\GTA 120K BY DAPO SHOW\moonloader\BulletTrack.lua:143: in function 'OnDrawFrame'
    E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:1378: in function <E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:1367>
[ML] (error) BulletTrack.lua: Script died due to an error. (0C3BE144)
А ещё значения в гуи становятся дикими...
1584516525501.png
 

Вложения

  • BulletTrack.lua
    13.4 KB · Просмотры: 46

AnWu

Guardian of Order
Всефорумный модератор
4,686
5,166
Таааак, теперь гуи показывает, но когда меняю цвет - скрип крашится

Log:
[ML] (error) BulletTrack.lua: E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:346: sol: no matching function call takes this number of arguments and the specified types
stack traceback:
    [C]: in function 'ImVec4'
    E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:346: in function 'ImColor'
    E:\GTA 120K BY DAPO SHOW\moonloader\BulletTrack.lua:143: in function 'OnDrawFrame'
    E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:1378: in function <E:\GTA 120K BY DAPO SHOW\moonloader\lib\imgui.lua:1367>
[ML] (error) BulletTrack.lua: Script died due to an error. (0C3BE144)
А ещё значения в гуи становятся дикими...
Посмотреть вложение 51383
Lua:
if imgui.ColorEdit4(u8("Цвет поподания по игроку"), BulletColorPed) then
    rgba = imgui.ImColor(BulletColorPed.v[1], BulletColorPed.v[2], BulletColorPed.v[3], BulletColorPed.v[4])
    r, g, b, a = rgba:GetRGBA()
    mainIni.Other.ColorPed = join_argb(a, r, g, b)
    Color[2] = mainIni.Other.ColorPed
end
 
  • Нравится
Реакции: CaJlaT

CaJlaT

Овощ
Автор темы
Модератор
2,806
2,606
Lua:
if imgui.ColorEdit4(u8("Цвет поподания по игроку"), BulletColorPed) then
    rgba = imgui.ImColor(BulletColorPed.v[1], BulletColorPed.v[2], BulletColorPed.v[3], BulletColorPed.v[4])
    r, g, b, a = rgba:GetRGBA()
    mainIni.Other.ColorPed = join_argb(a, r, g, b)
    Color[2] = mainIni.Other.ColorPed
end
Спасибо, но как пофиксить показатели в гуи? Если их подёргать, то всё норм.... Но глаза режет, когда первый раз запускаешь скрипт...
1584544491245.png

Настроил альфу на попадания в объект... сохранилось, да, но не отображает линий... перезапустил скрипт, отображает 255, когда на остальных 6502
1584544922015.png
 
Последнее редактирование: