Помогите с командами

Antonidze

Новичок
Автор темы
11
1
Как сделать так, что при вводе системной команды, например /cuff (надеть наручники) сначала писалось в чат напримет: Привет, а потом сама команда? Тип как в Police Assistant пишешь /cuff идёт отыгровка /me текст потом системная команда /cuff. Помогите пожалуйста.
 
Решение
Работает только один раз, при повторном вводе команды не работает. Так же не работает задержка, выдаёт ошибку. Что делать?
не знаю нужна ли тебе помощь все еще или нет, но вот...
Lua:
require "lib.moonloader"

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
   
    sampRegisterChatCommand("cuff", cuff)
   
    while true do
    wait(0)
   
    end
end

function cuff(id)
if type(tonumber(id)) ~= 'number' then -- если вместо ID в /cuff у тебя будут буквы, то
    sampAddChatMessage("Введите /cuff [id]", -1) -- отыгровка не пойдет, а напишет в чат чтобы ты ввел ID
else
    lua_thread.create(function()
    id = tonumber(id)
    sampSendChat("/me надел...

Antonidze

Новичок
Автор темы
11
1
Lua:
sampRegisterChatCommand('cuff', function (id)
    sampSendChat('/me надел наручники на нарушителя.')
    sampSendChat('/cuff ' .. id)
end)
Работает только один раз, при повторном вводе команды не работает. Так же не работает задержка, выдаёт ошибку. Что делать?
 

astynk

Известный
Проверенный
742
530
Работает только один раз, при повторном вводе команды не работает. Так же не работает задержка, выдаёт ошибку. Что делать?
Задержки внутри потока нужно делать.
 

Dmitriy Makarov

25.05.2021
Проверенный
2,484
1,114
Работает только один раз, при повторном вводе команды не работает. Так же не работает задержка, выдаёт ошибку. Что делать?
не знаю нужна ли тебе помощь все еще или нет, но вот...
Lua:
require "lib.moonloader"

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
   
    sampRegisterChatCommand("cuff", cuff)
   
    while true do
    wait(0)
   
    end
end

function cuff(id)
if type(tonumber(id)) ~= 'number' then -- если вместо ID в /cuff у тебя будут буквы, то
    sampAddChatMessage("Введите /cuff [id]", -1) -- отыгровка не пойдет, а напишет в чат чтобы ты ввел ID
else
    lua_thread.create(function()
    id = tonumber(id)
    sampSendChat("/me надел наручники на нарушителя")
    wait(500)
    sampSendChat("/cuff "..id.."")
    end)
end
end
 

astynk

Известный
Проверенный
742
530
не знаю нужна ли тебе помощь все еще или нет, но вот...
Lua:
require "lib.moonloader"

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
  
    sampRegisterChatCommand("cuff", cuff)
  
    while true do
    wait(0)
  
    end
end

function cuff(id)
if type(tonumber(id)) ~= 'number' then -- если вместо ID в /cuff у тебя будут буквы, то
    sampAddChatMessage("Введите /cuff [id]", -1) -- отыгровка не пойдет, а напишет в чат чтобы ты ввел ID
else
    lua_thread.create(function()
    id = tonumber(id)
    sampSendChat("/me надел наручники на нарушителя")
    wait(500)
    sampSendChat("/cuff "..id.."")
    end)
end
end
Всегда будет писать "Введите /cuff [id]", в тот параметр передается строка, даже если написать число.
 

Dmitriy Makarov

25.05.2021
Проверенный
2,484
1,114
Всегда будет писать "Введите /cuff [id]", в тот параметр передается строка, даже если написать число.
проверил через sampAddChatMessage, т.к я не мент и не на ком проверить
при вводе /cuff amifsamf выводится "Введите /cuff [id]"
при вводе /cuff 123 - отыгровка
 

Вложения

  • sa-mp-023.png
    sa-mp-023.png
    2.7 KB · Просмотры: 180

astynk

Известный
Проверенный
742
530
проверил через sampAddChatMessage, т.к я не мент и не на ком проверить
при вводе /cuff amifsamf выводится "Введите /cuff [id]"
при вводе /cuff 123 - отыгровка
Да, все верно, не так прочитал код просто.
Думал там просто type(id)