Строки

Статус
В этой теме нельзя размещать новые ответы.

PusaK

Новичок
Автор темы
5
0
Нужно перевести из string в numbers хотя бы, но я не понимаю как.
Слышал что-то о стандартной функции tonumber() но она вообще не помогает, выбивает ошибку 'attempt to compare nil with number'
Что собственно делаю?
Регистрирую команду, перехожу к функции команды,а в параметре тип данных стринг, а мне нужно именно число
Хелп плиз, не понимаю прикола

И еще, какие справочники более менее подойдут для освоения ебаного луа хотя бы за неделю,язык простой но вот такие заморочки выбешивают
 

qrlk

Известный
Друг
411
925
Нужно перевести из string в numbers хотя бы, но я не понимаю как.
tonumber() переводит только из строки в число тогда и только тогда, когда получает аргумент в виде строки-числа.
Если у тебя стринг вида "1 вопрос - 1 ответ", тебе поможет это:
Lua:
number = ""
for num in string.gmatch("1 вопрос - 1 ответ'", "%d+") do
     number = number..num
end
number = tonumber(number)
И еще, какие справочники более менее подойдут для освоения ебаного луа хотя бы за неделю,язык простой но вот такие заморочки выбешивают
Лучший способ научиться писать скрипты - писать скрипты пока не научишься. Есть Lua 5.1 Reference Manual - contents(https://www.lua.org/manual/5.1/), может ещё что-нибудь есть, не смотрел.
 

PusaK

Новичок
Автор темы
5
0
код бы показал, судя по ошибке у тебя nil вообще

main >>
Lua:
sampRegisterChatCommand("osk", osk)

func
Хотел сделать что-то на подобии помощника для админов, пока учусь,наверное быдлокод, но все таки помогите пж)
Lua:
function osk(param)
  tonumber(param)
    if num < 1 or num > 1000 then
        sampAddChatMessage(string.format("[Помощник] Пожалуйста,введите правильный ID игрока"))
  else
    sampSendChat("/mute %d 30 OOC оскорбление",num)
end
end
 
1,417
1,028
main >>
Lua:
sampRegisterChatCommand("osk", osk)

func
Хотел сделать что-то на подобии помощника для админов, пока учусь,наверное быдлокод, но все таки помогите пж)
Lua:
function osk(param)
  tonumber(param)
    if num < 1 or num > 1000 then
        sampAddChatMessage(string.format("[Помощник] Пожалуйста,введите правильный ID игрока"))
  else
    sampSendChat("/mute %d 30 OOC оскорбление",num)
end
end
Lua:
function osk(param)
    if param:match('(%d+)') then
        local id = param:match('(%d+)')
        if sampIsPlayerConnected(id) then
            sampSendChat("/mute "..id.." 30 OOC оскорбление")
        else
            sampAddChatMessage("[Помощник] Пожалуйста,введите правильный ID игрока")
        end
    end
end
 
  • Нравится
Реакции: WebDim

PusaK

Новичок
Автор темы
5
0
Lua:
function osk(param)
    if param:match('(%d+)') then
        local id = param:match('(%d+)')
        if sampIsPlayerConnected(id) then
            sampSendChat("/mute "..id.." 30 OOC оскорбление")
        else
            sampAddChatMessage("[Помощник] Пожалуйста,введите правильный ID игрока")
        end
    end
end
Большое спасибо )
 
Статус
В этой теме нельзя размещать новые ответы.