Medved Опубликовано 3 сентября, 2021 Поделиться Опубликовано 3 сентября, 2021 Доброго времени, есть такой код (он отвечает за погоду в игре) function Name_CEComboBox1Select(sender) if item == Current then writeInteger ('[game.exe+546]+8',0) end if item == Bright then writeInteger ('[game.exe+546]+8',1) end if item == Raining then writeInteger ('[game.exe+546]+8',2) end end Проблема заключается в том что какое я бы значение не выбирал в "выпадающем списке" он ставит всегда последнее, так вот можете ли подсказать в чём проблема Ссылка на комментарий Поделиться на другие сайты Поделиться
youneuoy Опубликовано 3 сентября, 2021 Поделиться Опубликовано 3 сентября, 2021 (изменено) 1 час назад, Medved сказал: Проблема заключается в том что какое я бы значение не выбирал в "выпадающем списке" он ставит всегда последнее, так вот можете ли подсказать в чём проблема структура кода верна, но не понятно что это за "item" и почему ты выполняешь такое странное сравнение. Почитай вот это, наверное: https://wiki.cheatengine.org/index.php?title=Lua:Class:ComboBox И в дальнейшем описывай всё более подробно? Изменено 3 сентября, 2021 пользователем youneuoy Ссылка на комментарий Поделиться на другие сайты Поделиться
Medved Опубликовано 3 сентября, 2021 Автор Поделиться Опубликовано 3 сентября, 2021 22 минуты назад, youneuoy сказал: структура кода верна, но не понятно что это за "item" и почему ты выполняешь такое странное сравнение. Почитай вот это, наверное: https://wiki.cheatengine.org/index.php?title=Lua:Class:ComboBox Сравнение делаю к выбранному пункту в списке Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 4 сентября, 2021 Поделиться Опубликовано 4 сентября, 2021 7 часов назад, Medved сказал: Сравнение делаю к выбранному пункту в списке Откуда у тебя взялась переменная item? По идее, тебе нужно sender привести к типу ComboBox, и у него взять поле SelectedIndex (вроде как). И можно даже без проверок сразу писать этот индекс в нужную тебе память, потому что значения будут совпадать (если ты их в правильном порядке в комбобокс добавишь, разумеется). Ссылка на комментарий Поделиться на другие сайты Поделиться
Medved Опубликовано 6 сентября, 2021 Автор Поделиться Опубликовано 6 сентября, 2021 В 04.09.2021 в 12:55, Xipho сказал: Откуда у тебя взялась переменная item? По идее, тебе нужно sender привести к типу ComboBox, и у него взять поле SelectedIndex (вроде как). И можно даже без проверок сразу писать этот индекс в нужную тебе память, потому что значения будут совпадать (если ты их в правильном порядке в комбобокс добавишь, разумеется). Сделал так function Name_CEComboBox1Select(sender) Name_CEComboBox1.onChange = (writeInteger ('[game.exe+546]+8', Name_CEComboBox1.ItemIndex == 0 )) Name_CEComboBox1.onChange = (writeInteger ('[game.exe+546]+8', Name_CEComboBox1.ItemIndex == 1 )) Name_CEComboBox1.onChange = (writeInteger ('[game.exe+546]+8', Name_CEComboBox1.ItemIndex == 2 )) end он начал менять постоянно на 0 и без разницы что я выбираю в списке Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 6 сентября, 2021 Поделиться Опубликовано 6 сентября, 2021 Попробуй так Спойлер local processName = "game.exe" local address = '[game.exe+546]+8' local table_keys = {} table_keys[0] = 0 table_keys[1] = 1 table_keys[2] = 2 local form = createForm() local example_box = createComboBox(form) example_box.items.add("Current") example_box.items.add("Bright") example_box.items.add("Raining") example_box.onChange = function(sender) if getOpenedProcessID() ~= 0 then print('write '..table_keys[sender.ItemIndex]..' to '..address) writeInteger (address, table_keys[sender.ItemIndex]) end end openProcess(processName) Ссылка на комментарий Поделиться на другие сайты Поделиться
Medved Опубликовано 6 сентября, 2021 Автор Поделиться Опубликовано 6 сентября, 2021 Сработало, спасибо Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 7 сентября, 2021 Поделиться Опубликовано 7 сентября, 2021 12 часов назад, Medved сказал: он начал менять постоянно на 0 и без разницы что я выбираю в списке Потому что ты зачем-то сравнение записываешь в своем коде, а тебе нужно сам индекс писать. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения