Перейти к публикации

В ближайшее время постараюсь разобраться с картой сервера/ЛК/бб кодами

Внимание, с 14 февраля до 20 февраля могут проходить работы на сервере, где также находится лаунчсервер. В связи с этим авторизация в лаунчере может не работать

  • 0
Lionzxy

Аргументы в rs.setBundled [CC]

Вопрос

Есть переменная типа string

a='1+2+4'

Мне нужно сделать так, чтобы rs.setBundledOutput принял её т.е. чтобы работало

rs.setBundledOutput("right",a)

Сейчас выдаёт ошибку, что это не число.

Изменено пользователем Lionzxy

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

10 ответов на этот вопрос

Рекомендованные сообщения

  • 0

Чтобы оно выдавало сигнал на белый провод, оранжевый и т.д.

тогда просто коды плюсуй как числа и передавай в функцию.

а = 4 + 8 + 16

а будет равно 28

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Конечно не число, а строка. Тебе нужно эту строку в число преобразовать. Просто tonumber не поможет, поскольку а представляет собой не число, а арифметическое выражение. Можешь сделать функцию для разбора арифметических выражений. А можешь воспользоваться функцией loadstring

a="1+2+4"
n=loadstring("return "..a)()
rs.setBundledOutput("right",n)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
Конечно не число, а строка. Тебе нужно эту строку в число преобразовать. Просто tonumber не поможет, поскольку а представляет собой не число, а арифметическое выражение. Можешь сделать функцию для разбора арифметических выражений. А можешь воспользоваться функцией loadstring

a="1+2+4"
n=loadstring("return "..a)()
rs.setBundledOutput("right",n)

Вы понимаете, что мне нужно сохранить в rs.setBundledOutput полную строку? Мне не надо её складывать, тоесть,чтобы в итоге

rs.setBundledOutpu("right",1+2+4)

Спасибо за ответ

И что делает loadstring?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Bundled работает по принципу бинарника

00000000 = 0 нет сигналов

00000001 = 1 сигнал только на одном цвете

00000010 = 2 сигнал на другом цвете

00000011 = 4 сигнал на обоих цветах

00000111 = 8 сигнал на 3 цветах

00001111 = 16 сигнал на 4 цветах

 

Он как раз таки принимает число, чтобы работать с сигналами, а не стринги типа тех, что ты привел в пример их туда никак не впихнуть

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
Bundled работает по принципу бинарника

00000000 = 0 нет сигналов

00000001 = 1 сигнал только на одном цвете

00000010 = 2 сигнал на другом цвете

00000011 = 4 сигнал на обоих цветах

 

Он как раз таки принимает число, чтобы работать с сигналами, а не стринги типа тех, что ты привел в пример

Так как мне заставить его работать с string? Тоесть преобразовать string в понятную ему форму.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Так как мне заставить его работать с string? Тоесть преобразовать string в понятную ему форму.

Для начала объясни, зачем тебе было впихивать туда стринг с плюсами?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
Для начала объясни, зачем тебе было впихивать туда стринг с плюсами?

Чтобы оно выдавало сигнал на белый провод, оранжевый и т.д.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
тогда просто коды плюсуй как числа и передавай в функцию.

а = 4 + 8 + 16

а будет равно 28

Ого. Не знал, что так можно. Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Да. А еще Луа вычитать может, умножать и даже страшно подумать, извлекать корни

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
Да. А еще Луа вычитать может, умножать и даже страшно подумать, извлекать корни

Да вы что?! И в квадрат возводить может? Очуметь. Такой функционал

Да. А еще Луа вычитать может, умножать и даже страшно подумать, извлекать корни

Просто думал, что изначально по setBundble отправляется 1+2+4, а потом разбивается по цифрам. Не думал, что оно складывает

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×