
13.04.2025, 13:28
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2017
Сообщений: 1,397
С нами:
4837380
Репутация:
168
|
|
@Rei, короче такая проблема
если создать 2 потока, первый поток создается по необходимости, то есть должно сохранить os.clock(), в таск ставится задержка на 1000 мс. второй поток постоянный с wait(300) с проверкой на секунда os.time(). дальше ставим print перед wait и после wait. как и видим, что тикается не так как должно быть.
почему? объясняю, что если я создал поток в 0.5 секунд, то таск с задержкой должно постоянно тикаться в разном времени, но не должно тикать ровно секунда
например:
Java:
[CODE]
[
19
:
36
:
14.035
]
[
LUA
]
Ticked
!
[
19
:
36
:
14.038
]
[
LUA
]
COR
-
WAITING
.
.
.
[
19
:
36
:
15.091
]
[
LUA
]
COR
-
WAITED
!
[
19
:
36
:
15.095
]
[
LUA
]
Ticked
!
[
19
:
36
:
15.097
]
[
LUA
]
COR
-
WAITING
.
.
.
[
19
:
36
:
16.150
]
[
LUA
]
COR
-
WAITED
!
[
19
:
36
:
16.154
]
[
LUA
]
Ticked
!
[
19
:
36
:
16.155
]
[
LUA
]
COR
-
WAITING
.
.
.
!
test
[
19
:
36
:
16.814
]
[
LUA
]
CHAT
:
Sended
chat
.
.
.
(
#
1
test flood
!
1
)
[
19
:
36
:
16.819
]
[
LUA
]
CHAT
:
Waiting
>>
(
1000
)
[
19
:
36
:
16.821
]
[
LUA
]
COR
-
WAITING
.
.
.
[
19
:
36
:
17.208
]
[
LUA
]
COR
-
WAITED
!
[
19
:
36
:
17.211
]
[
LUA
]
Ticked
!
[
19
:
36
:
17.213
]
[
LUA
]
COR
-
WAITING
.
.
.
[
19
:
36
:
18.267
]
[
LUA
]
COR
-
WAITED
!
[
19
:
36
:
18.270
]
[
LUA
]
Ticked
!
[
19
:
36
:
18.272
]
[
LUA
]
COR
-
WAITING
.
.
.
[
19
:
36
:
18.274
]
[
LUA
]
COR
-
WAITED
!
[
19
:
36
:
18.276
]
[
LUA
]
CHAT
:
>
(
1000
)
[
19
:
36
:
18.286
]
[
LUA
]
COR
-
WAITING
.
.
.
[
19
:
36
:
19.338
]
[
LUA
]
COR
-
WAITED
!
[
19
:
36
:
19.340
]
[
LUA
]
Ticked
!
[
19
:
36
:
19.343
]
[
LUA
]
COR
-
WAITING
.
.
.
[
19
:
36
:
19.345
]
[
LUA
]
COR
-
WAITED
!
[
19
:
36
:
19.348
]
[
LUA
]
CHAT
:
>
(
1000
)
[
19
:
36
:
19.360
]
[
LUA
]
COR
-
WAITING
.
.
.
[
19
:
36
:
20.416
]
[
LUA
]
COR
-
WAITED
!
[
19
:
36
:
20.419
]
[
LUA
]
Ticked
!
[
19
:
36
:
20.421
]
[
LUA
]
COR
-
WAITING
.
.
.
[
19
:
36
:
20.423
]
[
LUA
]
COR
-
WAITED
!
[
19
:
36
:
20.426
]
[
LUA
]
CHAT
:
Примеры, но не буду скидывать полностью:
Lua:
[CODE]
---@class Chat
---@field data string[]
---@field task function|nil
---@field rate integer
local
Chat
=
{
data
=
{
}
,
task
=
nil
,
rate
=
1000
,
-- 1000 = 1 sec
}
Chat
.
__index
=
Chat
function
Chat
:
isUpdated
(
)
return
#
self
.
data
~=
0
end
function
Chat
:
getDataAndRemove
(
)
local
data
=
self
.
data
self
.
data
=
{
}
return
data
end
function
Chat
:
start
(
)
if
self
.
task
then
return
end
self
.
task
=
newTask
(
function
(
)
repeat
local
data
=
Chat
:
getDataAndRemove
(
)
for
_
,
str
in
ipairs
(
data
)
do
printf
(
'CHAT: Sended chat... (%s)'
,
str
)
sendInput
(
str
)
printf
(
'CHAT: Waiting >> (%d)'
,
self
.
rate
)
wait
(
self
.
rate
)
print
(
'CHAT:
|
|
|