ошибка lua

Cloud.

Активный
Автор темы
389
60
attempt to concatenate local 'reason' (a nil value)
stack traceback:

sampRegisterChatCommand('fmu', function(id, time, reason)
sampSendChat('/fammute '..id..' '..time..' '..reason..'')
end)
 
Решение
ниче не понял....
Lua:
sampRegisterChatCommand('fmu', function(args)
    local id, time, reason = args:match('^(.-)%s+(.-)%s+(.-)$')
    sampSendChat('/fammute '..id..' '..time..' '..reason..'')
end)

А вообще, зачем ты это разделяешь, если и так все будет отлично?
Lua:
sampRegisterChatCommand('fmu', function(args)
    sampSendChat('/fammute '..args)
end)


P.s: Уже готовый скрипт для сокращения команд с рабочими аргументами: https://www.blast.hk/threads/76240/

Maxim25012

Известный
534
274
attempt to concatenate local 'reason' (a nil value)
stack traceback:

sampRegisterChatCommand('fmu', function(id, time, reason)
sampSendChat('/fammute '..id..' '..time..' '..reason..'')
end)
Аргументы, полученные командой, не разделяются автоматически, и ей передаётся целая строка. Нужно её самостоятельно парсить.
 

CaJlaT

07.11.2024 14:55
Модератор
2,848
2,695
ниче не понял....
Lua:
sampRegisterChatCommand('fmu', function(args)
    local id, time, reason = args:match('^(.-)%s+(.-)%s+(.-)$')
    sampSendChat('/fammute '..id..' '..time..' '..reason..'')
end)

А вообще, зачем ты это разделяешь, если и так все будет отлично?
Lua:
sampRegisterChatCommand('fmu', function(args)
    sampSendChat('/fammute '..args)
end)


P.s: Уже готовый скрипт для сокращения команд с рабочими аргументами: https://www.blast.hk/threads/76240/
 
  • Нравится
Реакции: Maxim25012

Cloud.

Активный
Автор темы
389
60
Lua:
sampRegisterChatCommand('fmu', function(args)
    local id, time, reason = args:match('^(.-)%s+(.-)%s+(.-)$')
    sampSendChat('/fammute '..id..' '..time..' '..reason..'')
end)
спасибо огромное, но если не вввести все аргументы, то скрипт крашнет, как добавить проверку чтоб не крашнуло?
 

CaJlaT

07.11.2024 14:55
Модератор
2,848
2,695
спасибо огромное, но если не вввести все аргументы, то скрипт крашнет, как добавить проверку чтоб не крашнуло?
Lua:
sampRegisterChatCommand('fmu', function(args)
    if not args or #args == 0 then
        return sampAddChatMessgae('Ошибка, вы не указали аргументы',-1)
    end
    local id, time, reason = args:match('^(.-)%s+(.-)%s+(.-)$')
    if not id or not time or not reason then
        return sampAddChatMessgae('Ошибка, вы указали аргументы неправильно',-1)
    end
    sampSendChat('/fammute '..id..' '..time..' '..reason..'')
end)
 
  • Нравится
Реакции: Cloud.