 |
|

10.12.2021, 13:26
|
|
Постоянный
Регистрация: 15.03.2016
Сообщений: 396
Провел на форуме: 145541
Репутация:
98
|
|
Сообщение от SSyntax
Ребят не особо шарю, он будет выполнять квесты?
Если напишешь к нему скрипт который будет выполнять квесты, то да
|
|
|

10.12.2021, 13:33
|
|
Познавший АНТИЧАТ
Регистрация: 11.07.2017
Сообщений: 1,534
Провел на форуме: 372271
Репутация:
183
|
|
Возможность создание дополнительных потоков по аналогии с RakBot клиентом имеется?
|
|
|

10.12.2021, 13:37
|
|
Постоянный
Регистрация: 15.03.2016
Сообщений: 396
Провел на форуме: 145541
Репутация:
98
|
|
Сообщение от Hatiko
Возможность создание дополнительных потоков по аналогии с RakBot клиентом имеется?
Только если отложенный запуск кода, с возможностью повтора. Надо пример?
|
|
|

10.12.2021, 13:39
|
|
Познавший АНТИЧАТ
Регистрация: 11.07.2017
Сообщений: 1,534
Провел на форуме: 372271
Репутация:
183
|
|
Сообщение от serhiyrubin
Только если отложенный запуск кода, с возможностью повтора. Надо пример?
Мне желательно, чтобы устраивать цикл или создавать задержку в выполнении. Смотря на каком методе здесь реализуемо.
|
|
|

10.12.2021, 13:42
|
|
Постоянный
Регистрация: 15.03.2016
Сообщений: 396
Провел на форуме: 145541
Репутация:
98
|
|
Сообщение от Hatiko
Возможность создание дополнительных потоков по аналогии с RakBot клиентом имеется?
Я такое использую
Как отдельный модуль валяется, подключаю через require в основной скрипт
task:
Код:
_G.task = {}
function taskAdd(name, delay, rep, func, ...)
local tab = {...}
if task[name] == nil then
task[name] = {
start = os.clock() * 1000,
delay = delay,
rep = rep,
func = func,
tab = tab
}
end
end
function taskDel(name)
if name ~= nil then
task[name] = nil
return
end
task = {}
end
function taskUpdate()
if task ~= nil then
for name, v in pairs(task) do
if os.clock() * 1000 - v.start > v.delay then
v.func(unpack(v.tab))
if v.rep then
if task[name] ~= nil then
task[name].start = os.clock() * 1000
end
else
task[name] = nil
end
end
end
end
end
Func:
Код:
taskUpdate() - Поместить в беск. цикл onUpdate()
taskAdd("task1", 1000, true, function(number)
print("Пишу вам цифру "..number.." которая была передана в параметры")
end, 100)
taskDel("task1") - Удалить задачу по названию, без названия - всё удаляет
Тупо записывает функцию в таблицу с параметрами её запуска
И удаляет после выполнения если не стоит повтор true
Аххаха вот оно в разделе C/C++ уже Lua добралось
|
|
|

10.12.2021, 13:51
|
|
Познавший АНТИЧАТ
Регистрация: 11.07.2017
Сообщений: 1,534
Провел на форуме: 372271
Репутация:
183
|
|
Сообщение от serhiyrubin
Я такое использую
В принципе, модуль Tasking, который юзается в RB клиенте, по аналогии работает. Только там ещё дополнительно используется модуль coroutine, не знаю на сколько это продуктивнее выполняется и как влияет на загрузку ЦП.
|
|
|

10.12.2021, 14:18
|
|
Познавший АНТИЧАТ
Регистрация: 18.06.2017
Сообщений: 1,632
Провел на форуме: 329392
Репутация:
183
|
|
Сообщение от Hatiko
Возможность создание дополнительных потоков по аналогии с RakBot клиентом имеется?
В ракботе нет многопоточности. Сюда хотел завезти, но пока не разобрался с рандомными крашами и забил
Сообщение от Hatiko
В принципе, модуль Tasking, который юзается в RB клиенте, по аналогии работает. Только там ещё дополнительно используется модуль coroutine, не знаю на сколько это продуктивнее выполняется и как влияет на загрузку ЦП.
Нормально все должно работать, но затратные по времени штуки ( чтение/запись/хттп запросы ) будут все равно блочить основной поток
|
|
|

10.12.2021, 18:31
|
|
Постоянный
Регистрация: 29.04.2018
Сообщений: 788
Провел на форуме: 231674
Репутация:
163
|
|
Сообщение от Rei
Нормально все должно работать, но затратные по времени штуки ( чтение/запись/хттп запросы ) будут все равно блочить основной поток
Добавь многопоточность бро, прошу тебя. Нормальный print, без костылей.
Ещё бы цвет в чат, френдли интерфейс и лаунчер. Я понимаю что до этого дойдёт когда всё основное работать будет, но всё же
|
|
|

10.12.2021, 19:57
|
|
Познавший АНТИЧАТ
Регистрация: 18.06.2017
Сообщений: 1,632
Провел на форуме: 329392
Репутация:
183
|
|
Сообщение от The Spark
Добавь многопоточность бро, прошу тебя. Нормальный print, без костылей.
Ещё бы цвет в чат, френдли интерфейс и лаунчер. Я понимаю что до этого дойдёт когда всё основное работать будет, но всё же
сделаю без крашей - добавлю. над всеми остальными фичами думал, но настолько нужно ли? учитывая, что такие фейк клиенты используют по принципу включил и забыл.
а с принтом-то что не так? кроме того, что нельзя выводить таблицы и прочую хрень
|
|
|

10.12.2021, 20:57
|
|
Постоянный
Регистрация: 29.04.2018
Сообщений: 788
Провел на форуме: 231674
Репутация:
163
|
|
Сообщение от Rei
а с принтом-то что не так? кроме того, что нельзя выводить таблицы и прочую хрень
Принт я люблю юзать как я привык. В ракботе вообще его нет, а у тебя он есть, но без вывода типа и без поддержки множества аргументов.
Поэтому опять юзаем костыли...
Lua:
Код:
local
_print
=
print
function
print
(
...
)
local
str
=
""
local
args
=
table
.
pack
(
...
)
for
i
=
1
,
args
.
n
do
str
=
str
..
tostring
(
args
[
i
]
)
..
" "
end
_print
(
str
)
end
Ещё забыл сказать про сбив скролла в чате при новом сообщении и добавлении вывода последних сообщений в чат на стрелочки.
"думал, но настолько нужно ли?" При разработке скриптов часто нужно что-то, а при обычном использовании согласен, никто это не будет юзать
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|