Возможно ли упростить?

IlyaHL2

Активный
Автор темы
210
53
Версия MoonLoader
.026-beta
Lua:
        if not(sampIsCursorActive()) then
            if wasKeyPressed( 79 ) then -- O
                sampSetSpecialAction( 0 )
                message((user_data['notif'] and sampGetPlayerSpecialAction( myId ) == 24) and 'НЕТ БРАСЛЕТАМ')
            elseif wasKeyPressed( 80 ) then -- P
                cursor['v'] = not(cursor['v'])
            elseif wasKeyPressed( 88 ) then -- X
                window['v'] = not(window['v'])
            elseif wasKeyPressed( 90 ) then -- Z
                memory.setuint8(sampGetServerSettingsPtr(), 1)
            end
        end
 
Решение
Максимум можно повысить читаемость.
Lua:
if sampIsCursorActive() then
    return
end
other code..
Т.к. код в блоке условий слишком разный то смысла нет танцевать с бубном аля переписать под таблицу и тп. Код и так простой.
П.С.: Это же цикл, замени return на continue если это цикл и под блоком нет другого рабочего кода. Если есть то вообще нечего изменять.

AnWu

Guardian of Order
Всефорумный модератор
4,686
5,166
Максимум можно повысить читаемость.
Lua:
if sampIsCursorActive() then
    return
end
other code..
Т.к. код в блоке условий слишком разный то смысла нет танцевать с бубном аля переписать под таблицу и тп. Код и так простой.
П.С.: Это же цикл, замени return на continue если это цикл и под блоком нет другого рабочего кода. Если есть то вообще нечего изменять.
 
  • Клоун
  • Грустно
  • Нравится
Реакции: Fott, IlyaHL2 и qdIbp

IlyaHL2

Активный
Автор темы
210
53
Максимум можно повысить читаемость.
Lua:
if sampIsCursorActive() then
    return
end
other code..
Т.к. код в блоке условий слишком разный то смысла нет танцевать с бубном аля переписать под таблицу и тп. Код и так простой.
П.С.: Это же цикл, замени return на continue если это цикл и под блоком нет другого рабочего кода. Если есть то вообще нечего изменять.
А этот код есть вариант сократить?
Lua:
function message(msg, clr, logo)
    local clr, logo = tonumber(clr) or 0x00FFF0, logo or ''
    if msg and #msg ~= 0 then
        if type(msg) == 'table' then
            for x, item in pairs(msg) do
                sampAddChatMessage(tostring(logo)..''..item, clr)
            end
        else
            for item in string.gmatch(msg,'[^\r\n]+') do
                sampAddChatMessage(tostring(logo)..''..item, clr)
            end
        end
    end
end
 

wojciech?

Известный
206
120
А этот код есть вариант сократить?
Lua:
function message(msg, clr, logo)
    local clr, logo = tonumber(clr) or 0x00FFF0, logo or ''
    if msg and #msg ~= 0 then
        if type(msg) == 'table' then
            for x, item in pairs(msg) do
                sampAddChatMessage(tostring(logo)..''..item, clr)
            end
        else
            for item in string.gmatch(msg,'[^\r\n]+') do
                sampAddChatMessage(tostring(logo)..''..item, clr)
            end
        end
    end
end
если очень хочется сократить, то как вариант
Lua:
function message(data, color, logo)
  if data and #data > 0 then
    color, logo = tonumber(color) or 0x00FFF0, tostring(logo or "")
    for k, v in (type(data) == "table" and ipairs or string.gmatch)(data, "[^\n\r]+") do
      sampAddChatMessage(logo .. (v or k), color)
    end
  end
end
 
  • Нравится
Реакции: IlyaHL2

IlyaHL2

Активный
Автор темы
210
53
если очень хочется сократить, то как вариант
Lua:
function message(data, color, logo)
  if data and #data > 0 then
    color, logo = tonumber(color) or 0x00FFF0, tostring(logo or "")
    for k, v in (type(data) == "table" and ipairs or string.gmatch)(data, "[^\n\r]+") do
      sampAddChatMessage(logo .. (v or k), color)
    end
  end
end
Просто скрипт очень большой, сейчас пытаюсь ужать код