Uni_X
До сих пор жду
Михаил
=))))))))))))))))))
Uni_X
Минут 10 уже
Михаил
попробуй на luavela
Михаил
Uni_X
Хорошо что справился)
Михаил
попробуй на обычном луа и luavela
Михаил
luavela это продовый форк луажита
Uni_X
Не, я конкретно питон тестил
Михаил
а. а че так сложно на луа переписать штоли
Uni_X
Ставить лень
Михаил
да че там ставить, git clone https:// mkdir build && cmake .. && make и погнал..
Михаил
(да, у них смак)
Luсky
Luсky
GeeXLab > Home
https://geeks3d.com/geexlab/
Михаил
Михаил
cmake .. && make && ./src/ujit
Luсky
а гит качать с выкрутасами или без?
Михаил
Михаил
аа, у тебя винда наверно
Lucky
нуу, хотелось бы и для винды собрать.
Lucky
для линупса почти нормально собралось, только без доков
Hello, World! 🎄
Uni_X
Ребят, имеются такие фитнес часики. Можно ли их как-то перепрошить и накатить андроид?
Uni_X
Uni_X
Vlad
Михаил
я же унаследовал класс, и даже в полях метатаблицы есть counter. а в объекте он не числится. что за бред
function class(...)
local args = {...}
if not #args then
error("missing table")
end
local mt = {}
for i, v in ipairs(args) do
local src
if i == #args then
src = v
else
src = getmetatable(v)
end
for k, vv in pairs(src) do
print("key: " .. k)
if not mt[k] then
mt[k] = vv
else
error("Redefinition of field " .. k)
end
end
end
if not mt.__index then
mt.__index = function(self, key)
return rawget(self, key) or mt[key]
end
end
local init = mt.__init or function() end
local template = {}
setmetatable(template, {
__call = function(...)
local inst = {}
print("meta: ")
for k, v in pairs(mt) do print(k, v) end
print("end")
setmetatable(inst, mt)
init(inst, arg)
return inst
end,
__metatable = mt
})
return template
end
print("Foo...")
local Foo = class ({
__init = function(self) print("initialize") end,
prop = {9, 16, 25}
})
print("Bar...")
local Bar = class(Foo, {
counter = 1
})
print("Done")
local foo = Foo()
print(foo.prop) -- table
local bar = Bar()
print(bar.prop) -- table
print(bar.counter) -- nil
Михаил
я же унаследовал класс, и даже в полях метатаблицы есть counter. а в объекте он не числится. что за бред
function class(...)
local args = {...}
if not #args then
error("missing table")
end
local mt = {}
for i, v in ipairs(args) do
local src
if i == #args then
src = v
else
src = getmetatable(v)
end
for k, vv in pairs(src) do
print("key: " .. k)
if not mt[k] then
mt[k] = vv
else
error("Redefinition of field " .. k)
end
end
end
if not mt.__index then
mt.__index = function(self, key)
return rawget(self, key) or mt[key]
end
end
local init = mt.__init or function() end
local template = {}
setmetatable(template, {
__call = function(...)
local inst = {}
print("meta: ")
for k, v in pairs(mt) do print(k, v) end
print("end")
setmetatable(inst, mt)
init(inst, arg)
return inst
end,
__metatable = mt
})
return template
end
print("Foo...")
local Foo = class ({
__init = function(self) print("initialize") end,
prop = {9, 16, 25}
})
print("Bar...")
local Bar = class(Foo, {
counter = 1
})
print("Done")
local foo = Foo()
print(foo.prop) -- table
local bar = Bar()
print(bar.prop) -- table
print(bar.counter) -- nil
проблема была в том что наследуется метод __index, который я сам и определил, из предыдущего класса, и индексирует только по метатаблице Foo. уже решил:
for i, v in ipairs(args) do
local src
if i == #args then
src = v
else
src = getmetatable(v)
end
for k, vv in pairs(src) do
print("key: " .. k)
if k == "__index" and vv == src then
print("skipping __index")
elseif not mt[k] then
mt[k] = vv
else
error("Redefinition of field " .. k)
end
end
end
if not mt.__index then
mt.__index = mt
end
Михаил
https://github.com/Koekto-code/luacirs
симуляция резисторов за < 200 строк
Алёша
Пека вопросик,
Есть мамка асрок b450m pro4 r2.0 (либо же b450 pro4, не определился пока да и это не особо важно)
На плате всего 1 разьём 5в аргб, но планируется подключить 5 аргб вертух (4 корпусных в комплекте с корпусом и 1 на башне), так вот, на офф сайте заявлено что мамка может отдать с этого единственного разьёма 15 ватт, то бишь 3 ампера, можно ли нагородить гирлянду и сунуть все вертухи в один аргб(учитывая что потребление подсветки в каждом вентиляторе неизвестно) или же лучше не насиловать плату и купить хаб с доп питанием? Очевидно что второй вариант лучше, но может и первый не так плох?
Lucky
Алёша
Ну ладно
Vlad
Как же я рад, что у меня нет RGB подсветки на компе, только пара обычных светодиодов на кулерах
Luсky
Vlad
Snusmumriken
Как же я задолбался пользоваться чужим системником с подсветочками и мерцанием.
Спишь такой, а тебе в личико фигарит цулер своей подсветкой, выдавая стабильную световую вибрацию.
Хорошо что это было давно
Vlad
Snusmumriken
Жил у другана пару неделек ))
Igor
А у меня светится... только материнка))
Luсky
Неполноценный
😂
Igor
Должно было быть типа красиво, видимо, но чет хз прям
Test
Всеволод
Snusmumriken
А некоторые даже на постоянке
Domka
привет
Domka
хочу поделиться тем как я продвинулся в игрушке, и близок к релизу
Domka
💀👉👈
Domka
Domka
а еще решил побаловаться и динамический источник света зафигачил
Domka
Uni_X
Друг... Это очень круто! Меня больше всего динамика освещения поражает. Никогда сам так не делал, но это очень круто!
Domka
Да, освещние круто сделанно сделал так сказать свое первое запекание, и решил стресс тест сделать, запекая каждый тик 1 источник освещения на игроке
Luсky
Выглядит как игра, в которую я бы пошпилил.
Domka
Да художнику отедельное спасибо
Domka
Жду пока он уровни поделает, и буду выкладывать
Luсky
Это же квест с паззлами, да?
Domka
По сути да
Egor
Приветы.
А как примерно можно сделать Кооп в игре, где работает на физ.движке.
Просто не очень представляю, как лучше синхронить.
Если по тику получать текущие координаты другого игрока, не будет ли рванное перемещение? А если пытаться кастовать ( чтобы предугадать), тогда мне кажется проще было бы все считать самому?
PS: пока отбросим читеров и других вариантов хака
Snusmumriken
Приветы.
А как примерно можно сделать Кооп в игре, где работает на физ.движке.
Просто не очень представляю, как лучше синхронить.
Если по тику получать текущие координаты другого игрока, не будет ли рванное перемещение? А если пытаться кастовать ( чтобы предугадать), тогда мне кажется проще было бы все считать самому?
PS: пока отбросим читеров и других вариантов хака
В любой игре ты синхронизируешь состояние событийно:
1. Метка времени
2. Необходимые для обновления статы, можно попробовать "координаты события, свойства события, вектор события"
При прилёте события, ты такой смотришь — в каком состоянии мир игры был в то время (отмотав состояние назад), применяешь событие, и обновляешь мир в новое состояние.
Snusmumriken
По потоку событий с метками времени ты можешь восстановить состояние мира хоть с момента его инициализации
Egor
Snusmumriken
Я в курсе что ты делаешь, это самый тупой очевидный и лагающий вариант
Snusmumriken
Нормально работает только в пределах локальной сети
Egor
Hello, World! 🎄
Snusmumriken
Egor
Hello, World! 🎄
Я думаю, что можно сделать такой вариант.
Клиент отправляет серверу намерение куда-то пойти, если всё ок, то сервер возвращает клиенту true, если нет, то возвращает false и клиент переносится на прошлые координаты.
Но с другой стороны это затратно считать на сервере.