Quant
-
Публикации
294 -
Зарегистрирован
-
Посещение
-
Победитель дней
9
Сообщения, опубликованные пользователем Quant
-
-
Да, но для чего-то она сделана) хочу подробно узнать, в интренете нет ничего кроме пояснения в API
Можешь запустить и проверить,надо к этому привыкать.
-
А,это осталось после исправления ошибок,eu_tomat,и if r.getInput(s.left)==1 then l=l+1-0.1 никогда не выполняется.
-
Есть библиотека Threads где-то на сайте - не парься и воспользуйся ей.
-
Целочисленное деление-Хороший результат, ты близок к успеху, но есть возможность передать твое число в 20 раз быстрее. Почему ты не захотел разложить число в пятнадцатеричный ряд и вместо синхронизирующего нуля передать что-нибудь более ценное?И еще проясни смысл вот этой строки в конце принимающей части
print((l-l%10)/10)
3:2=1 вместо 1,5
-
Теперь прога работает ещё быстрее - числа в 14 цифр из девяток(99999999999999) передаются 14*9*2 тиков - это 13 с половиной секунд!
Мир лагал,но это число передалось за минуту.
-
Пусть тогда игрок покупает вещи не у банка, а у других игроков, а т.к. онлайн на сервере не слишком большой, то никакой читерности и не будет.
Если ты думаешь, что AE - скучный мод, то ты его толком не знаешь. Мне он кажется интересным т.к. там есть возможность "побыть инженером", составляя сложную, запутанную схему обработки предметов у себя дома. Когда я представлял систему от Doob, я подумал, что неплохо было бы внести в нее эту черту AE. Примерно так: игроку предоставляется голая система, которую можно расширять самописными модулями, например, что некоторые предметы автоматически извлекались в блоки игрока, когда он вернется домой из шахты или откуда-то.
Будем писать мод на Lua?
-
Alex,не повезёт же тебе...
-
Этот мод категорически не хочет работать с Forestry, никак, ни с какими версиями. Пока не понятно, почему. Не удалось мне пока их заставить работать вместе.
Ещё он, вроде бы, не хочет работать с ProgectRed и Advanced Generators, которых на сервере нет.
-
Вот будет стоять где-нибудь такой 'сейфик'
Пока-что там есть только хранение и неудобные запросы.
-
Я вообще ничего не предлагал, только описал идею.
Админ-шоп делает предметы из воздуха, т.е. не использует сгенерированные ресурсы в мире, а добавляет новые в обход генерации (пусть даже это возобновляемые ресурсы, все-равно это официальная дюп-машина).
Надо удалить оттуда все возобновляемые ресурсы - и всё нормально.
-
Вряд ли=) Скорее всего они в одиночке сделали один дизель с бурилкой и выводы.
В любом случае, это можно проверить только установкой и реальными испытаниями на сервере в боевых условиях. Онлайн сейчас 0.5 человека и два крипера, сейчас можно там хоть запуск "Протонов" и "Буранов" проводить и испытывать

И конвейеров штук 100,два компа,автоматическое производство дизеля - no lags
-
Перешёл на таблицы - конец извращениям
local x,y,z = 261,64,-200 --Координаты сундука
print("Loading")
os.sleep(1)
c = require("component")
local ch = c.container_chest
local event = require("event")
local term = require("term")
local i,table,nt = {},{},{}
local d = c.debug
function gfinv()
print("Название предмета")
iname = io.read()
print("М-данные")
idamage= io.read()
print("Количество")
icount = tonumber(io.read())
print("Нажмите для продолжения")
_,_,_,_,_,name=event.pull("touch")
if table[name.."-"..iname.."-"..idamage]>=icount then
table[name.."-"..iname.."-"..idamage]=table[name.."-"..iname.."-"..idamage]-icount
print(d.runCommand("/give "..name.." "..iname.." "..icount.." "..idamage)) nt[name]=nt[name]-icount
else print("Нету:(")
end;end;
function atinv()
i = ch.getStackInSlot(1)
print("Коснитесь экрана для продолжения")
_,_,_,_,_,name=event.pull("touch")
print("Название этого предмета - "..i.name)
print("М-данные предмета - "..i.damage)
if table[name.."-"..i.name.."-"..i.damage]==nill then
table[name.."-"..i.name.."-"..i.damage]=i.size
else table[name.."-"..i.name.."-"..i.damage]=table[name.."-"..i.name.."-"..i.damage]+i.size
end;
if nt[name]==nill then nt[name]=i.size
w.setBlock(x,y,z,0,0)
w.setBlock(x,y,z,54,0)
else if nt[name]<4096 then
nt[name]=i.size+nt[name]
w.setBlock(x,y,z,0,0)
w.setBlock(x,y,z,54,0)
else print("Хранилище переполнено")
end;
end;
os.sleep(1)
end;
w = d.getWorld()
while true do
term.clear()
print("впихнуть или выпихнуть?")
if io.read()=="впихнуть"
then
pcall(atinv)
else
gfinv()
end;
ch = c.container_chest
os.sleep(2)
end;А идея была - хранение ценных предметов,которые никто не сопрёт.
-
Так это-же легче. У нас на сервере соооовсем по другому работают дебаг карты
Ладно попробую, тем более даже майну это не нравится.
-
Передача информации по редстоуну вряд ли найдет практическое применение. Поэтому поднятую тему считаю интересной только с точки зрения изучения работы реальных последовательных протоколов передачи данных. Ни один из реальных известных мне цифровых протоколов не использует силу сигнала как способ передачи информации. Только наличие/отсутствие. Посему предлагаю автору темы реализовать протокол UART как используемый в известных интерфейсах RS-232 и RS-485. Если это кому то кажется абракадаброй, готов помочь чем смогу.
Моё мнение может отличаться от мнения других участников форума.
Есть стационарные крафтовые роботы, так почему бы не сэкономить на ресурсах?
-
Скорборды в компьютерной программе?

И процедурные команды тоже.
Я не про это
Я про хранение данных о предметах в файлах, а не в скорбордах.Я лентяй.
-
А файл с ником игрока сложно изменить?
Не очень, тем более он общий на все такие проги.
-
чего?
Облом - дебаг карта не работает с testfor,теперь командный блок нужен.
Серьёзно? У тебя в распоряжении тонны способов обработки и хранения данных через ОС, а юзаешь SB? Лучше тогда вообще на КБ делай всё — полезнее.
Надо поиздеваться над майном
А почему бы и нет - приятное с полезным?Вот то,что есть сейчас - (вместе с обломом)
c = require("component")
local ch = c.container_chest
local event = require("event")
local term = require("term")
local i = {}
local d = c.debug
function cr(f)
local i=1
i,_ = string.find(f,":")
return string.sub(f,i+1)
end;
function gfinv()
print("Название предмета")
iname = io.read()
print("Название мода")
mname = io.read()
print("Количество")
icount = tonumber(io.read())
print("Нажмите для продолжения")
_,_,_,_,_,name=event.pull("touch")
tr = d.runCommand("/testfor @p[r=3,name=..name..",score_"..mname..":"..iname.."_min="..icount.. ]")
print(tr)
end;
function atinv()
i = ch.getStackInSlot(1)
i.name=cr(i.name)
print(d.runCommand("/scoreboard objectives add "..i.name..i.damage.." dummy"))
print(d.runCommand("/scoreboard objectives list"))
print("Коснитесь экрана для продолжения")
_,_,_,_,_,name=event.pull("touch")
print(d.runCommand("/scoreboard players add "..name.." "..i.name..i.damage.." "..i.size))
w.setBlock(x,y,z,0,0)
w.setBlock(x,y,z,54,0)
os.sleep(1)
end;
w = d.getWorld()
while true do
term.clear()
print("впихнуть или выпихнуть?")
if io.read()=="впихнуть"
then
pcall(atinv)
else
gfinv()
end;
ch = c.container_chest
os.sleep(2)
end;
-
эта прога на scoreboard-ах.Эти значения легко изменить.
Проблема - потребовался К.Б. как периферия.
-
Почему не сделаете разрядность канала стольким, сколько уровней силы сигнала? А чтобы сигнал с силой 1 не терялся, используйте изолированные кабели из мода RedLogic.
В изолированных силы сигнала нет.
-
Будет сначала, но как-секрет.Интересно как оно будет связано именно с банком?
Интрижка

-
Правда делаю я "Ячейку в банке".
Писать код продолжать буду завтра, а то часов 6 уже делаю
-
Оцифрирователь готов,теперь думаю,как обратно возвращать,будет сразу с чем-то типа OreDictionry
-
Взялся за это,сейчас делаю.
-
Мне всегда казалось, что админы копают ресы через gamemode
Админы - да, но админы-программисты - именно так
-
2
-

OpenComputers. Как подключать компоненты.
в Гайды по модам
Опубликовано: · Изменено пользователем Quant
Итак, решил я сделать гайдик по такой ранее непонятной мне теме.
Component API - единственный способ подключать компоненты,но для начала подключим его самого:
local c = require("component")
Теперь можно для примера подключить рэдстоун карту:
local r = c.redstone
Геоанализатор подключается также,но redstone меняется на geolyzer(как и переменная)
local g = c.geolyzer
А как теперь использовать эти компоненты?
Выдадим рэдстоун сигнал слева для примера - r.setOutput(15,require("sides").left)
Подведём итоги.
1.Вызываем API.
2.Подключаем компонент.
3.Используем компонент. Переменная компонента+.+функция.
Надеюсь,кому-то это поможет.