HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #41  
Старый 10.12.2021, 13:26
serhiyrubin
Постоянный
Регистрация: 15.03.2016
Сообщений: 396
Провел на форуме:
145541

Репутация: 98
По умолчанию

Цитата:
Сообщение от SSyntax  

Ребят не особо шарю, он будет выполнять квесты?
Если напишешь к нему скрипт который будет выполнять квесты, то да
 
Ответить с цитированием

  #42  
Старый 10.12.2021, 13:33
Hatiko
Познавший АНТИЧАТ
Регистрация: 11.07.2017
Сообщений: 1,534
Провел на форуме:
372271

Репутация: 183


По умолчанию

Возможность создание дополнительных потоков по аналогии с RakBot клиентом имеется?
 
Ответить с цитированием

  #43  
Старый 10.12.2021, 13:37
serhiyrubin
Постоянный
Регистрация: 15.03.2016
Сообщений: 396
Провел на форуме:
145541

Репутация: 98
По умолчанию

Цитата:
Сообщение от Hatiko  

Возможность создание дополнительных потоков по аналогии с RakBot клиентом имеется?
Только если отложенный запуск кода, с возможностью повтора. Надо пример?
 
Ответить с цитированием

  #44  
Старый 10.12.2021, 13:39
Hatiko
Познавший АНТИЧАТ
Регистрация: 11.07.2017
Сообщений: 1,534
Провел на форуме:
372271

Репутация: 183


По умолчанию

Цитата:
Сообщение от serhiyrubin  

Только если отложенный запуск кода, с возможностью повтора. Надо пример?
Мне желательно, чтобы устраивать цикл или создавать задержку в выполнении. Смотря на каком методе здесь реализуемо.
 
Ответить с цитированием

  #45  
Старый 10.12.2021, 13:42
serhiyrubin
Постоянный
Регистрация: 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 добралось
 
Ответить с цитированием

  #46  
Старый 10.12.2021, 13:51
Hatiko
Познавший АНТИЧАТ
Регистрация: 11.07.2017
Сообщений: 1,534
Провел на форуме:
372271

Репутация: 183


По умолчанию

Цитата:
Сообщение от serhiyrubin  

Я такое использую
В принципе, модуль Tasking, который юзается в RB клиенте, по аналогии работает. Только там ещё дополнительно используется модуль coroutine, не знаю на сколько это продуктивнее выполняется и как влияет на загрузку ЦП.
 
Ответить с цитированием

  #47  
Старый 10.12.2021, 14:18
Rei
Познавший АНТИЧАТ
Регистрация: 18.06.2017
Сообщений: 1,632
Провел на форуме:
329392

Репутация: 183


По умолчанию

Цитата:
Сообщение от Hatiko  

Возможность создание дополнительных потоков по аналогии с RakBot клиентом имеется?
В ракботе нет многопоточности. Сюда хотел завезти, но пока не разобрался с рандомными крашами и забил

Цитата:
Сообщение от Hatiko  

В принципе, модуль Tasking, который юзается в RB клиенте, по аналогии работает. Только там ещё дополнительно используется модуль coroutine, не знаю на сколько это продуктивнее выполняется и как влияет на загрузку ЦП.
Нормально все должно работать, но затратные по времени штуки ( чтение/запись/хттп запросы ) будут все равно блочить основной поток
 
Ответить с цитированием

  #48  
Старый 10.12.2021, 18:31
The Spark
Постоянный
Регистрация: 29.04.2018
Сообщений: 788
Провел на форуме:
231674

Репутация: 163


По умолчанию

Цитата:
Сообщение от Rei  

Нормально все должно работать, но затратные по времени штуки ( чтение/запись/хттп запросы ) будут все равно блочить основной поток
Добавь многопоточность бро, прошу тебя. Нормальный print, без костылей.

Ещё бы цвет в чат, френдли интерфейс и лаунчер. Я понимаю что до этого дойдёт когда всё основное работать будет, но всё же
 
Ответить с цитированием

  #49  
Старый 10.12.2021, 19:57
Rei
Познавший АНТИЧАТ
Регистрация: 18.06.2017
Сообщений: 1,632
Провел на форуме:
329392

Репутация: 183


По умолчанию

Цитата:
Сообщение от The Spark  

Добавь многопоточность бро, прошу тебя. Нормальный print, без костылей.
Ещё бы цвет в чат, френдли интерфейс и лаунчер. Я понимаю что до этого дойдёт когда всё основное работать будет, но всё же
сделаю без крашей - добавлю. над всеми остальными фичами думал, но настолько нужно ли? учитывая, что такие фейк клиенты используют по принципу включил и забыл.

а с принтом-то что не так? кроме того, что нельзя выводить таблицы и прочую хрень
 
Ответить с цитированием

  #50  
Старый 10.12.2021, 20:57
The Spark
Постоянный
Регистрация: 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)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.