Totoro
-
Публикации
1 950 -
Зарегистрирован
-
Посещение
-
Победитель дней
289
Сообщения, опубликованные пользователем Totoro
-
-

-
1
-
-
Как писал уже в похожей теме на оф. форуме Фингер, встроенная в мод интернет плата не имеет удобного саппорта PUT запросов.
Если очень надо, можно сделать хак через сокет.
Готовый хак (слегка сырой) от Фингера можно найти тут: libhttp.
P.S. Issue в репозитории OpenComputers висит уже два года, и никакого шевеления.
-
2
-
-
Первый вариант:
require = function(path) print(path) require(path) endТы берешь глобальную переменную, отвязываешь от старой реализации, от старой функции (которая при этом попадает в сборщик мусора, т.к. нигде не сохранилось других ссылок на нее) и привязываешь к новой.
И, разумеется, в тот момент, когда ты сделаешь свой вызов require(), ты обратишься к новой, своей функции. И когда эта новая функция в свою очередь сделает вызов require() она тоже обратится к новой функции - то есть к себе. Рекурсия.
Второй вариант:
local r = require require = function(path) print(path) r(path) endЗдесь ты добавил еще один указатель на объект функции, на который изначально ссылается переменная require.
Таким образом, когда ты переадресовал саму переменную на новый объект, старая реализация не была удалена - на нее ведет еще одна ссылка - переменная r.
И именно через эту ссылку твоя новая функция может вызывать старую функцию.
Здесь все нормально и логично.
-
1
-
-
Собственно это есть часть моей общей задумки. На что мне еще разбить создание функции делающей таблу шмоток с сундука?
На составные части.
Что такое - "сделать таблу шмоток"?
Это тебе надо пройти по каждому слоту и переписать оттуда информацию.
Тут сразу целый букет подзадач и вопросов:
* Как в Lua с помощью кода перебирать что-то от 1 до N?
* Как определить размер инвентаря в сундуке?
* Как получить информацию о предмете, который лежит в сундуке в слоте номер X?
* Как создать таблицу?
* Как записать информацию в таблицу?
* В каком виде хранить информацию о предмете в инвентаре, и вообще какие параметры этого предмета тебе надо хранить?
И т.п.
Когда разобьешь задачу на минимальные составляющие, и для каждой найдешь ответ и решение - ты сможешь сложить эти ответы и решения в более сложный код, который будет решать более общую задачу.
-
4
-
-
Но как же я сделаю что то если я даже представления не имею как это сделать.Разбивай задачу на более мелкие и простые.
Слона надо есть по частям.
-
гады меня обосрали(
За дело же

-
1
-
-
а по теме - есть ли смысл в форуме, ориентированном на кодинг в игре, без самой возможности играть где-то рядом ?Ну почему нет. У офф. форума OC тоже нет своих серверов. Надо просто немного сменить акцент, и запилить список серверов с поддержкой OC, чтобы он был доступен где-то на видном месте.
У нас тут публикуют программы люди, которые не играют (и даже не играли никогда) на наших серверах. И это хорошо, это надо поддерживать.
-
1
-
-

Итак, небольшое объявление.
Сайт Hel может побыть оффлайн один-два дня.
Если им кто-то таки пользовался - приношу большие извинения.
Дело в том, что мы переносим весь fomalhaut целиком на новую, более мощную VPS.
Поскольку там накопилось довольно много разных сервисов, а мы далеко не профессиональные сисадмины - это может слегка затянуться.
Старую VPS этой ночью отключили за неуплату. =) База данных пакетов и пользователей с репозитория забекаплена.
В ближайшее время развернём репозиторий на новой машине.
P.S. Логи ирки, цитатник, статистика и прочее тоже в процессе переноса, и тоже может пропадать или быть в неактуальном состоянии, какое-то время.
-
4
-
-
когда-то давно тестировал какой-то то ли от корейских, то ли от японских, то ли от китайских разрабов форумный движок, так вот там была сразу даже встроена в комплект поставки эпическая система рангов и наград (прогресс-бары, миллион ачивок, торговля рейтингами и плюшками между форумчанами даже реализована, все в обычном или в цифровом виде отображалось и прочее прочее, гибкая очень система там была, все компактно и очень удобно) Видимо форум специально для ммо-рпг игр и разрабатывался. Так что как-то так.
Корейцы - они такие, да. =)
Ну значит ждем четвертую версию.
-
Да мне кажется надо оставить просто один показатель - ранг, или рейтинг, или звание форумное.
Можно погон какой-нибудь влепить под аватару, и постепенно повышать в звании, чтобы там становилось больше звездочек и прочей хрени.
Полувоенная система такая
кстати, глянь, хилсушки вообще не заморачивались особо, но идеи и суть некоторых наград порой очень оригинальна и интересна
Ага. Форум у них кстати, довольно симпатично оформлен. В едином стиле.
-
Русские девелоперы сейчас поголовно ориентированы на запад. Се ля ви. =)
-
Мне кажется саму концепцию медалей надо переосмыслить. Одним перересовыванием не обойтись.
-
Смелое заявление. Проверять мы его конечно не будем.
-
Вроде у всех эвентов одна схема: имя эвента - адрес компонента который заспавнил эвент - какие-то аргументы и параметры эвента.
-
Сколько перечитывал ничего не понимал, вы как боги луа пожалуйста, объясните на пальцах как работает конструкция а.а.а.а, не понятен функционал а.а = а от слова СОВСЕМ. Просто объясните на пальцах как для дибила
Тебе надо разобраться что такое таблицы и как они работают, прежде чем углубляться в разные головоломки. =)
Таблица в Луа - это коллекция данных в формате ключ = значение.
В таблицу можно положить что-то под конкретным ключом, и достать что-то по конкретному ключу.
Конструкцию вида t.key = value можно по другому записать как t["key"] = value. Это как раз операция которая используется для того чтобы положить что-то в таблицу. t тут - таблица, key это ключ, а value - это значение которое ты кладешь в таблицу.
Для того чтобы потом получить значение value обратно, используется другая операция - извлечение по ключу.
Выглядит так: t.key. Или еще можно записать так: t["key"]. Это одно и то же.
Когда ты пишешь a.a = a, это эквивалентно a["a"] = a. То есть в ячейку таблицы с ключом "a" кладется ссылка на саму таблицу a.
В Lua на одну таблицу может ссылаться несколько переменных из разных мест. Дубликатов при этом не создается, все переменные на самом деле работают с одной и той же таблицей. В том что ячейка таблицы может ссылаться на саму эту же самую таблицу тоже ничего необычного нет. Это допустимо.
Когда ты пишешь цепочку типа a.a.a.a, из предыдущего примера, происходит вот что:
* Lua вычисляет все по очереди, слева направо. Если поставить скобки для понятности, то оно будет выглядеть так: ((a.a).a).a.
* Lua смотрит на первое звено: a.a. Это то же самое что a["a"]. Это операция получения значения из таблицы по ключу. Где таблица называется a, и ключ называется "a". Поскольку перед этим мы положили в ячейку "a" таблицы a ссылку на саму эту таблицу, то операция a["a"] возвращает эту ссылку. То есть a.a можно упростить просто до a. В конце концов ты сам перед этим написал, что a.a = a.
* После упрощения получается такая конструкция: ((a).a).a) или просто (a.a).a. Lua берет следующую пару a.a и делает то же самое - упрощает ее просто до a. Остается (a).a или a.a. А это, как мы помним равняется просто a.
Таким образом, если a.a = a, то какую бы длинную цепочку мы не писали, Lua упростит ее до просто a.
-
2
-
-
Пример:
local a = { x = 10 } a.a = a print(a.x) print(a.a.x) print(a.a.a.x) print(a.a.a.a.x)Если ты попробуешь запустить этот код - ты получишь четыре десятки.
Конструкция a.a = a создает в таблице a поле с ключом a которое в качестве значения ссылается на саму таблицу a.
Поэтому когда интерпретатор Луа начинает выполнять код, любая цепочка вида a.a(.a) сведется в конце концов просто к таблице a.
Теперь добавим строку а.а.а.а = 3:
local a = { x = 10 } a.a = a a.a.a.a = 3 print(a.x) print(a.a) print(a.a.x)Мы получим последовательно число 10, число 3 и ошибку.
Поле a в таблице a было переопределено, и теперь содержит ссылку не на таблицу a, а на константу 3.
Поэтому конструкция a.a теперь равняется трём, и любая попытка продлить цепочку (типа a.a.a) будет приводить к ошибке индексации, потому что нельзя получить поле по ключу из числа (конструкция 3.a не имеет смысла).
-
3
-
-
перерисовать наградыФлаг тебе в руки и барабан на пояс. =)
-
2
-
-
и попробовать создание экспериментального интерфейса сайтаНу ты конечно загнул. Тут вопрос постить или нет медальки обсуждали три дня. А ты хочешь переделать форум на графовое облако.
-
1
-
-
-
Ну я не вижу в дизайне oc.cil.li ничего ужасного. Нормальный там шаблон.
У редов тоже хорошо сделано, у них как раз баланс чистоты и простоты.
Тут главное - консистентность. Чтобы стиль в пределах сайта не нарушался. И тогда все будет клево смотреться.
Дизайнеры же не просто так свои гайдлайны придумывают.
-
чего его мусолить пока игровые идеи и концепции игровых сборок. Давайте пока обсудим новый движок форумный, что на нем должно быть, какую гамму цветовую хотелось бы видеть и функционал и тд.и тп.Так мы на два фронта флудим. =) И тут и там успеваем.
Сборки можно не только у нас обкатывать. Можно на другом проекте где-то. Можно временные сервера организовывать - если у кого-то машина появляется.
А конкретно "Цитадель" - вообще проект который можно в сингле запускать, и допустим, стримить на твич.
-
1
-
-
Насчет игры - можно запилить что-то в стиле *.io игр.
То есть:
* арена
* бесконечный дезматч
* можно ввалиться в игру с любого момента, в рандомном месте карты
* быстрая прокачка
* такой же быстрый слив
* текущий топ по очкам
Например робо-дезматч. Сделать 2D спрайты роботов и дронов. Стартовые характеристики низкие, но когда мочишь врага - с него падают детальки, подбираешь и качаешься.
Либо как в кримсон ленде - перки выскакивают на выбор, при наборе опыта.
-
С моей точки зрения у нас проблем вообще нет.
Минус - потеряли игровой серв, плюс - обновили все остальное.
Цели, векторы развития - это все в наших руках. Что придумаем - то и будет.
-
Можно по аналогии с танчиками, только заменить текстуры на роботов и слитки золотаВо-во, что нибудь нехитрое, чтобы народ на форуме мог убивать время и меряться линейками.
"Танчики", "запусти дрона", "дискето-кликер", "кто хочет стать программистом" и т.п.
-
1
-

Аниме беседка
в Корзина
Опубликовано: