Razi Опубликовано 3 июля, 2017 Поделиться Опубликовано 3 июля, 2017 Как в Lua написать если первое значение = 72 или 8, и если второе значение = 1, и если третье значение = 115, тогда к первому значению прибавить +16, потом подождать 1 секунду и отнять от первого значения -16 ? Писал вот так, но не работает: Скрытый текст [ENABLE] {$LUA} timer = createTimer(true) timer:setInterval(50) timer.OnTimer = function() value1 = readBytes('00A444E8',1) --which row value2 = readBytes('00A443DF',1) -- which beast value3 = readBytes('009B583F',1) value4 = readBytes('009B59E7',1) value5 = readBytes('800F38B2',1) -- In-Battle Action if value1 == 72 or value1 == 8 then if value2 == 1 then if value5 == 115 then value1 =+16 sleep (1000) value1 =-16 Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 3 июля, 2017 Поделиться Опубликовано 3 июля, 2017 (изменено) if value1 == 72 or value1 == 8 and value2 == 1 and value3 == 115 then value1 = value1 + 16 Sleep(1000) value1 = value1 - 16 end на счет value += 16 не работает, загуглил. Изменено 3 июля, 2017 пользователем partoftheworlD 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Razi Опубликовано 3 июля, 2017 Автор Поделиться Опубликовано 3 июля, 2017 (изменено) 47 минут назад, partoftheworlD сказал: value1 = value1 + 16 Sleep(1000) value1 = value1 - 16 Попробовал вот так, но работать не хочет: (То есть код: value1 = value1 - 16, получается не работает) Скрытый текст [ENABLE] {$LUA} timer = createTimer(true) timer:setInterval(50) timer.OnTimer = function() value1 = readBytes('00A444E8',1) if (value1 == 88) then value1 = value1 - 16 else if (value1 == 24) then value1 = value1 - 16 end end end {$ASM} [DISABLE] {$LUA} timer:setEnabled(false) Может можно как-то от значения в адресе прибавлять или отнимать? Изменено 3 июля, 2017 пользователем Razi Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 3 июля, 2017 Поделиться Опубликовано 3 июля, 2017 (изменено) А разве после расчетов не надо обратно в адрес записывать значение? типа прибавил значение к value1 после какой-нибудь метод типа writeBytes по адресу с этим значением, Sleep(1000) и дальше value - 16 и снова пишешь в адрес. Изменено 3 июля, 2017 пользователем partoftheworlD Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 3 июля, 2017 Поделиться Опубликовано 3 июля, 2017 30 минут назад, Razi сказал: Попробовал вот так А теперь логически подумай. 1. Ты прочитал значение из адреса в свою переменную. 2. Ты изменил значение своей переменной, когда нужно и на что нужно. 3. А кто же будет это (новое значение) записывать назад в адрес? Ссылка на комментарий Поделиться на другие сайты Поделиться
Razi Опубликовано 3 июля, 2017 Автор Поделиться Опубликовано 3 июля, 2017 (изменено) 52 минуты назад, partoftheworlD сказал: А разве после расчетов не надо обратно в адрес записывать значение? 51 минуту назад, Garik66 сказал: кто же будет это (новое значение) записывать назад в адрес? Думал, что код: value1 = value1 - 16 и делает сразу запись в адрес. Вот теперь код работает: Скрытый текст [ENABLE] {$LUA} timer = createTimer(true) timer:setInterval(50) timer.OnTimer = function() value1 = readBytes('00A444E8',1) if (value1 == 88) then value1 = value1 - 16 --writeBytes('00A444E8',72) writeBytes('00A444E8',value1) else if (value1 == 24) then value1 = value1 - 16 --writeBytes('00A444E8',8) writeBytes('00A444E8',value1) end end end {$ASM} [DISABLE] {$LUA} timer:setEnabled(false) А можно вместо переменной value1, сразу отнимать -16 от значения в адресе 00A444E8 ? И на какой язык, похож язык Lua, по синтаксису? Изменено 3 июля, 2017 пользователем Razi Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 3 июля, 2017 Поделиться Опубликовано 3 июля, 2017 9 минут назад, Razi сказал: А можно вместо переменной value1, сразу отнимать -16 от значения в адресе 00A444E8 ? А зачем вообще отнимать? Разве не будет проще так: Скрытый текст [ENABLE] {$LUA} timer = createTimer(true) timer:setInterval(50) timer.OnTimer = function() value1 = readBytes('00A444E8',1) if (value1 == 88) then writeBytes('00A444E8',72) else if (value1 == 24) then writeBytes('00A444E8',8) end end end {$ASM} [DISABLE] {$LUA} timer:setEnabled(false) Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 3 июля, 2017 Поделиться Опубликовано 3 июля, 2017 (изменено) 17 минут назад, Razi сказал: И на какой язык, похож язык Lua, по синтаксису? pascal, python, c, go Изменено 3 июля, 2017 пользователем partoftheworlD 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Razi Опубликовано 3 июля, 2017 Автор Поделиться Опубликовано 3 июля, 2017 (изменено) 23 минуты назад, Garik66 сказал: А зачем вообще отнимать? Разве не будет проще так: Да, так проще. Но, держу сразу дополнительную цель, как расширение знаний и изучение языка сразу на практике. Можно ведь обоими способами попробовать сделать и выбрать тот, который будет более удобен. Вот почему мне нравится программирование, потому что есть не один способ решения задачи . Есть также другой код и код будет немного проще, если сделать, чтоб от значения в адресе отнималось или прибавлялось 16. Изменено 3 июля, 2017 пользователем Razi Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 3 июля, 2017 Поделиться Опубликовано 3 июля, 2017 (изменено) 23 минуты назад, Razi сказал: А можно вместо переменной value1, сразу отнимать -16 от значения в адресе 00A444E8 ? Возможно, можешь попробовать так, по идее writebytes может принимать функцию как аргумент. writeBytes('00A444E8', readBytes('00A444E8',1) - 16) Ведь можно считывать значения указывая вместо адреса, функцию которая динамически получала бы адрес.на какое-либо значение. Изменено 3 июля, 2017 пользователем partoftheworlD 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Razi Опубликовано 3 июля, 2017 Автор Поделиться Опубликовано 3 июля, 2017 7 минут назад, partoftheworlD сказал: writeBytes('00A444E8', readBytes('00A444E8',1) - 16) Проверил, работает, спасибо. Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 4 июля, 2017 Поделиться Опубликовано 4 июля, 2017 Закрываю. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения