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

  #11  
Старый 06.08.2023, 15:24
sasha__1
Новичок
Регистрация: 09.06.2016
Сообщений: 27
С нами: 5224343

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

Цитата:
Сообщение от Жоский поцик  

Скажите плиз как можно сделать что бы бот зажимал W на несколько секунд?
Lua:





Код:
local
hook
=
require
(
"samp.events"
)
require
(
"addon"
)
function
pressKey
(
keyId
,
pressTime
)
print
(
'Pressed key:'
,
keyId
)
key
=
keyId
    press
=
true
newTask
(
function
(
)
press
=
nil
key
=
nil
end
,
pressTime
)
end
function
hook
.
onSendPlayerSync
(
data
)
if
pressKey
then
data
.
upDownKeys
=
key
end
end
function
onRunCommand
(
cmd
)
if
cmd
:
find
(
"^!pkey %d+ %d+$"
)
then
local
_k
,
_t
=
cmd
:
match
(
"^!pkey (%d+) (%d+)$"
)
pressKey
(
tonumber
(
_k
)
,
tonumber
(
_t
)
)
return
false
end
end
function
hook
.
onSendPlayerSync
(
data
)
if
press
then
data
.
upDownKeys
=
key
end
end


Вводишь в консоль "!pkey 65408 2000", и бот на две секунды зажмёт клавишу "W".

(Если введёшь 128 вместо 65408, то зажмёт клавишу "S")

Можно еще просто в коде:

Lua:





Код:
pressKey
(
65408
,
2000
)


Со стороны будет выглядеть так, будто ты идёшь на месте. Если тебе нужно прямо пройтись, а не зажать кнопку, то придётся писать более объёмный скрипт.

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

при вызове runCommand('!reloadlua') - крашит раксамп
есть рабочее решение?
Смотря для какой цели. Если для разработки, то можно просто перезапускать RakSamp. Да, ошибка присутствует. Краша пока что не избежать, насколько мне известно. Если ты пишешь бота и хочешь быстро очистить все переменные во время реконнект и/или дисконнекта, то сохраняй все данные в таблицу, а потом пересоздай эту таблицу.

Пример:

Lua:





Код:
local
hook
=
require
(
"samp.events"
)
bot
=
{
}
function
onLoad
(
)
bot
.
nickname
=
"Nick_Name"
bot
.
password
=
"123123"
end
function
hook
.
onSetPlayerPos
(
pos
)
bot
.
position
=
pos
end
-- Очищаем во время дисконнекта
function
onDisconnect
(
)
bot
=
{
}
end
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT ™ © 2001- Antichat Kft.