ID нету на сервере

hurkas

Новичок
Автор темы
15
0
Версия MoonLoader
Другое
Так-с, как сделать так, что бы при вводе команды /ukrf 1.1 314, если ID 314 на сервере нет, то писало бы
Данный id не найден.
Ибо, если вести ID, которого нету на серваке, то прост крашит(
помогите пжпжпжпжпжпжпжп

скриптик:
function cmd_ukrf(arg)
var1, var2 = string.match(arg, "(.+) (%d+)")
  if var1 == nill or var1 == "" then
    sampAddChatMessage('Используйте: "/ukrf [ID] игрока, [УК РФ]".', 0xffffff)
  end
  if var1 == "1.1" then
    lua_thread.create(function()
      wait(2000)
      sampSendChat('/do Планшет в руке.')
      wait(2000)
      sampSendChat('/me включил планшет, запустил ИБД "КЛОН" и открыл раздел "Розыск"')
      wait(2000)
      sampSendChat('/do Раздел "Розыск" открыт.')
      wait(2000)
      sampSendChat('/me ввёл приметы гражданина и объявил в розыск')
      wait(2000)
      sampSendChat('/do Гражданин '..sampGetPlayerNickname(var2).. ' объявлен в розыск по причине 1.1 УК РФ.')
      wait(2000)
      sampSendChat('/su '..var2)
    end)
  end
 
Решение
Lua:
function cmd_ukrf(arg)
    lua_thread.create(function()
        var1, var2 = arg:match("(%d+) (.+)")
        if var1 == nil or var1 == "" or var2 == nil or var2 == '' then
            return sampAddChatMessage('Используйте: "/ukrf [ID] игрока, [УК РФ]".', 0xffffff) end
        result, id = sampGetPlayerIdByCharHandle(PLAYER_PED)  
        if var1 ~= id then
            if sampIsPlayerConnected(var1) then
                if var2 == "1.1" then
                    wait(2000)
                    sampSendChat('/do Планшет в руке.')
                    wait(2000)
                    sampSendChat('/me включил планшет, запустил ИБД "КЛОН" и открыл раздел "Розыск"')
                    wait(2000)
                    sampSendChat('/do Раздел...

qdIbp

Автор темы
Проверенный
1,451
1,190
Lua:
function cmd_ukrf(arg)
    lua_thread.create(function()
        var1, var2 = arg:match("(%d+) (.+)")
        if var1 == nil or var1 == "" or var2 == nil or var2 == '' then
            return sampAddChatMessage('Используйте: "/ukrf [ID] игрока, [УК РФ]".', 0xffffff) end
        result, id = sampGetPlayerIdByCharHandle(PLAYER_PED)  
        if var1 ~= id then
            if sampIsPlayerConnected(var1) then
                if var2 == "1.1" then
                    wait(2000)
                    sampSendChat('/do Планшет в руке.')
                    wait(2000)
                    sampSendChat('/me включил планшет, запустил ИБД "КЛОН" и открыл раздел "Розыск"')
                    wait(2000)
                    sampSendChat('/do Раздел "Розыск" открыт.')
                    wait(2000)
                    sampSendChat('/me ввёл приметы гражданина и объявил в розыск')
                    wait(2000)
                    sampSendChat('/do Гражданин '..sampGetPlayerNickname(var2).. ' объявлен в розыск по причине 1.1 УК РФ.')
                    wait(2000)
                    sampSendChat('/su '..var2)
                end
            else
                return sampAddChatMessage('Такого Id нету на сервере',0xFF0000)
            end
        else
            return sampAddChatMessage('Вы ввели свой id', 0xFF0000)
        end
    end)
end

И ты тут на мудрил с
скриптик:
var1, var2 = string.match(arg, "(.+) (%d+)")
так как ты перепутал местами регулярные выражение

скриптик:
function cmd_ukrf(arg)
var1, var2 = string.match(arg, "(.+) (%d+)")
  if var1 == nill or var1 == "" then
    sampAddChatMessage('Используйте: "/ukrf [ID] игрока, [УК РФ]".', 0xffffff)
  end
  if var1 == "1.1" then -- должно быть обращение к УК РФ а ты обращаешься к id как к УК РФ