Size: a a a

2021 July 18

L

Lurk in pro.lua
Спасибо большое за помощь!
источник

S

Snusmumriken in pro.lua
return foo and bar
   or baz and foobar
   or foobaz and booze
   or 10
источник

S

Snusmumriken in pro.lua
Логические свитчи — вполне себе свитчи. Правда для них нужно какое-то выражение.
источник

L

Lurk in pro.lua
Класс, тернарное пятирнарное) Спасибо!
источник

S

Snusmumriken in pro.lua
Если нужна какая-то последовательность действий — пихай в качестве результата вызов функции, возвращающей true или какое-то требуемое значение, иначе оно дальше пойдёт. Если нужен nil или false — пихай в конец, к другим nil/false, если есть. Ну, щобы логика была логичной.
источник
2021 July 19

EG

Evgeniy Glebov in pro.lua
Всем привет. Подскажите пожалуйста. Ковыряю моды для farming simulator. Нашел интересующий меня мод. Декомпилятор мне подсказал, что в коде используются строки:

pipe
io
open
\\.\pipe\MODname
closePipe
LastPipeReset
LastPipeConnectTimeStamp

sendStrData
sendIntData
sendDoubleData

Вопрос. В lua можно как-то использовать эти pipe? Там каким-то образом данные из игры перекидываются в другое приложение
источник

S

Snusmumriken in pro.lua
Скорее всего тут что-то типа

local pipe = io.open("\\.\pipe\MODname")
closePipe(pipe)

Эти пайпы это что-то внешнее, скорее всего просто файл.
источник

EG

Evgeniy Glebov in pro.lua
ок, спасибо
источник

S

Snusmumriken in pro.lua
В целом, можно совершенно спокойно открыть один и тот же файл двумя программами, одной построчно в него писать, другой параллельно построчно же считывать. Какой-нибудь tail так и работает, например. В конце транзакции можно удолить.
Всё потому что вендовые пайпы не шибко удобны.

Я себе для всякой фигни делал in-ram-пайпы на редисе:
Одна программа открывает, допустим
local file = io.open("lua mypipe.lua -w mypipename", "wb")
Другая соответственно
local file = io.open("lua mypipe.lua -r mypipename", "rb")

Первый скрипт пишет то что пришло в stdin в редиску, второй читает оттуда же и пишет в stdout.
Костыль? Костыль. Но довольно функциональный, при желании двумя пайпами делается дуплекс.
В линуксах есть нормальные встроенные в ОС пайпы, но под вендой их нема, а те что есть требуют ffi/сишных расширений.
источник

S

Snusmumriken in pro.lua
Ещё простой способ связи разных приложений это, например, сокеты. И они легко делаются асинхронными. Отправка на локалхост обычно даже не задействует сетевую карту, и спокойно передаётся по оперативке.
источник

EG

Evgeniy Glebov in pro.lua
отлично, хорошо когда способов много)
источник

EG

Evgeniy Glebov in pro.lua
я так понимаю, сокеты не входят в стандартную библиотеку lua?
источник

S

Snusmumriken in pro.lua
Не а, в стандартной либе только файлы из подобного.
источник

EG

Evgeniy Glebov in pro.lua
ок
источник

S

Snusmumriken in pro.lua
В линексе ты можешь открыть пайпу встроенную в ОС как файл, но реальных файлов не пишется )
источник

U

User in pro.lua
Извините, можете ли вы подсказать, тут такая ситуация:

Пытался делать игры в роблоксе (речь не про него) и тут вижу такой код.

И вот интересно, и как здесь работает "function (player) player.CharacterAppearanceId = 800948793 end"

Этот код начинает работать при вызове функции Connect, фильтруя что-то?

Я пытался найти документацию на эту функцию(Connect) - не нашел, только на ChildAdded, не уверен что поможет к решению но ChildAdded возвращает Instance.

Может кто знает/кто сталкивался с таким кодом? думаю это лямбда но не уверен


Конкретнее спрошу: в какой момент функция в аргументах выполняется
источник

AZ

Aydar Zarifullin in pro.lua
Нет, функция Connect связывает функцию которую ей передали с определенным событием, чтобы Roblox сам ее вызвал в нужный момент. Функция function (player) это анонимная функция которая изменяет значение поля CharacterAppearanceId у объекта player.
источник

U

User in pro.lua
то-есть, Коннект - специальная функция, чтобы добавлять код к другой?
источник

I

Igor725 in pro.lua
грубо говоря да
источник

I

Igor725 in pro.lua
представь себе таблицу, функция Connect вносит в эту таблицу функции, которые ты ей передаёшь аргументом
источник