Как сделать так чтобы по команде писало

By.Egorka

Участник
Автор темы
70
18
Версия MoonLoader
.026-beta
Как сделать так чтобы по команде писало типа
/flud выберите силу
/flud 2 поехали бомбить.
/flud 3 разнос.


код
lua:
--avtor:Egorka

require = "lib.moonloader"
local vk = require('vkeys')


local main_color = 0x5E4180
local tag = "[flood:]"


function main()
 if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end

    sampAddChatMessage(tag.. "loaded", main_color)
    
    sampRegisterChatCommand("flood", cmd_flud  )
end


function cmd_flud(params)
    while true do
    sampSendChat("проверка флудера")
    end
end
 

FixZer

Активный
126
36
Как сделать так чтобы по команде писало типа
/flud выберите силу
/flud 2 поехали бомбить.
/flud 3 разнос.
Добрый день, попробуйте вот это:
Тест 0.1:
--avtor:Egorka

require = "lib.moonloader"
local vk = require('vkeys')


local main_color = 0x5E4180
local tag = "[flood:]"


function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end

    sampAddChatMessage(tag.. "loaded", main_color)
 
    sampRegisterChatCommand("flood", cmd_flud)
    sampRegisterChatCommand("flud" function(arg)
        lua_thread.create(function()
            if not arg:find('%d+') then sampAddChatMessage('Выберите силу!', -1)
            elseif arg == 2 then sampAddChatMessage('Поехали бомбить!', -1)
            elseif arg == 3 then sampAddChatMessage('Разнос', -1) end
        end)
    end)
end


function cmd_flud(params)
    while true do
    sampSendChat("проверка флудера")
    end
end
 
Последнее редактирование:
  • Эм
Реакции: Lance_Sterling и qdIbp

qdIbp

Автор темы
Проверенный
1,386
1,141
Lua:
script_author('Egorka') --тут автор скрипта крч

require("lib.moonloader")
local vk = require('vkeys')

local main_color = 0x5E4180
local tag = "[flood]: "

local tabl = {
   [0] = 'Выберите силу!',-- Все массивы начинаются с 1 поэтому тут 0 :)
   [1] = 'Поехали бомбить!', -- ну и решил по остальным пройтись расставить, хотя в этом смысла нет
   [2] = 'Разнос',
}

function main()
    while not isSampAvailable() do wait(100) end
        sampAddChatMessage(tag.."loaded", main_color)
        sampRegisterChatCommand("flood", function(arg)
           sampAddChatMessage(tabl[tonumber(arg)] or 'Нету такого!', main_color)
        end)
    wait(-1) -- если нужен беск цикл то юзай while true do wait(0) заместо wait(-1)
end

А почему ты решил именно так написать ?
Незн, для меня это как то проще выглядит
+ в массив можно добавлять значение без переписи условий
 
Последнее редактирование:
  • Эм
Реакции: FixZer

wojciech?

Известный
215
130
arg = tonumber( arg ) or 0 -- если не получилось преобразовать аргумент в число то автоматически ставится 0
if arg then -- если получилось преобразовать арг в число то
зачем проверять, если он в любом случае будет истинен? зачем парсить таблицу, если можно обратиться сразу к элементу, уже проверив существует ли он?

Lua:
arg = tonumber(arg)
if arg and tabl[arg] then
    return sampAddChatMessage(tabl[arg], main_color)
else
    return sampAddChatMessage('Нету такого!', main_color)
end
 
  • Влюблен
Реакции: qdIbp

qdIbp

Автор темы
Проверенный
1,386
1,141
зачем проверять, если он в любом случае будет истинен? зачем парсить таблицу, если можно обратиться сразу к элементу, уже проверив существует ли он?

Lua:
arg = tonumber(arg)
if arg and tabl[arg] then
    return sampAddChatMessage(tabl[arg], main_color)
else
    return sampAddChatMessage('Нету такого!', main_color)
end
Меня как всегда занесло :(
 
  • Ха-ха
Реакции: Andrinall