Перейти к публикации
Форум - ComputerCraft

TC1061

Пользователи
  • Публикации

    35
  • Пожертвование

    0.00 ₽ 
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    2

Последний раз TC1061 выиграл 11 февраля

Публикации TC1061 были самыми популярными!

Репутация

12 Обычный

1 подписчик

Посетители профиля

98 просмотров профиля
  1. Я думаю этот мод очень нужен, так как он оптимизирует майнкрафт. Таким образом лагать у многих будет меньше, намного.
  2. А как без вращения 3D точек сделать 3D рэйкастер? Я не знаю как. Вот у меня вот такие функции отвечают за рэйкастинг: Если что, то это все работает в love2d. Вот я поставил твои функции, но все равно как то не то. На рендеринг поставлен плоский мир, и он должен выглядеть соотвествующе, но как бы не так: Может, нужно использовать углы Эйлера или кватернионы?
  3. Ну вообщем, я пытался сделать воксельный рэйкастер. Мне нужна была функция вращения 3D вектора. Она должна принимать 5 аргументов, координаты вектора (X,Y,Z) и углы вращения (по Y, по X) и вращать вектор вокруг нулевой точки (0,0,0). Я вот попытался свою функцию реализовать, но она работает неправильно: Кто нибудь может написать правильно вращающий эквивалент? Буду очень благодарен.
  4. TC1061

    OpenCraft (закрыт)

    наоборот, клиент на 1.10.2 МЕНЕЕ требователен к ресурсам (по сравнению с 1.7.10)
  5. TC1061

    ExOS

    Думаю, резать программы по строчкам как-то не правильно. А вдруг кто-то запихнет 9 килобайтов кода в одну строку? Лучше по килобайту считывать и отправлять P.S. кто-то может и по байту в строку положить
  6. TC1061

    ESBIOS

    Конечно! Даже несколько. К примеру, OCEmu (только он не эмулирует медленность опенкомпов)
  7. Обновление: добавлена функции sound:setVolume, sound:getVolume и soundlib.getSoundCount
  8. SoundLib by TC1061 Здравствуйте! Сегодня я наконец-то доделал свою прекрасную либу для работы со звуковой картой! Она позволяет легко и быстро использовать этого зверя. На стороне вашей программы лежит лишь загрузка либы и ее использование (и удаление объектов звука)! Не нужно даже следить за тем, есть ли звуковая карта. Без нее библиотека никаких ошибок не выдает, но скорее всего не будет проигрывать звук. И главная ее особенность - она может проигрывать сколько угодно звуков одновременно (пока оперативка не кончится ). Вообщем скачать ее можно здесь . Ну а на опенкомпе выполнить команду: pastebin get 0LwEez14 /lib/soundlib.lua Документация: soundlib.init=function():boolean -- Инициализирует библиотеку. Возвращает, получилось ли это сделать. soundlib.deinit=function():boolean -- Тоже, что и init, но наоборот. soundlib.reinit=function() -- Выполняет deinit, а затем init. soundlib.process=function([interval:number]):boolean -- Проигрывает звук. Нужно выполнять эту функцию как можно чаще, или звук будет прерывистым. Задерживает программу примерно на interval или 10 мс. Рекомендуется ставить interval на 50. Возвращает, получилось ли это сделать. soundlib.newSound=function(size:number,delay:number):sound -- Создает объект звука с количеством сэмплов (кусочков звука), у каждого из которых длительность delay. Остается навсегда, если потерять его, не уничтожив с помощью sound:destroy() soundlib.getSoundCount():number -- Возвращает количество созданных не уничтоженных звуковых объектов sound:play()=function() -- Воспроизводит звук. sound:rewind()=function() -- Возвращает в начало звука sound:pause()=function() -- Приостанавливает звук sound:stop()=function() -- sound:rewind+sound:pause sound:setVolume(volume:number) -- Поставить звук, от 0 до math.huge. Настоящая громкость получается при volume 1. sound:getVolume():number -- Возвращает громкость звука. sound:setLooping(state:boolean)=function() -- Переключить повтор звука. sound:isLooping():boolean -- Возвращает, включен ли повтор. sound:getDuration():number -- Возвращает длительность звука в секундах. sound:seek():number -- Возвращает позицию воспроизведения в секундах. sound:setSeek(pos:number) -- Устанавливает позицию воспроизведения в секундах. sound:getCurrentSample():number -- Тоже, что и sound:seek, но в семплах (может быть дробным) sound:getSampleCount():number -- Возвращает size, который вы указали в soundlib.newSound sound:set(rawpos:number,wave:string,freq:number,vol:number) -- Ставит на сэмпле rawpos частоту freq с громкостью vol на типе волны wave sound:get(rawpos:number):number, number -- Возвращает частоту и громкость сэмпла rawpos Пример кода: print("Initialising.") local sound xpcall(function() local computer=require"computer" local term=require"term" local slib=require"soundlib" slib.reinit() print("Generating sound.") local sizesd=1000 print("Selected size "..sizesd) sound=slib.newSound(sizesd,0.001) sound:setVolume(1) print("Generating samples") for n=0,sizesd-1 do sound:set(n,"sine",500,1-n/sizesd) end print("Playing sound.") sound:setLooping(true) sound:play() local n=computer.uptime()+10 local c=0 local prevcheck=computer.uptime() local processOk=true repeat processOk=slib.process(50) and processOk c=c+1 if c>=50 then local t=computer.uptime()-prevcheck print(math.floor(50/t) .. " PPS, sound is "..(sound:isPlaying() and "playing" or "NOT playing")..", "..(processOk and "no errors" or "errored")) c=0 processOk=true prevcheck=computer.uptime() pcall(os.sleep,0) end until computer.uptime() > n sound:stop() -- Необязательно т.к. он все равно не будет проигрываться sound:destroy() -- А вот это уже обязательно. Иначе при следующем запуске soundlib.process в любой программе, звук перемешается с нашим. end,function(err) if sound then sound:stop() sound:destroy() end print(debug.traceback(err,-2)) end)
  9. Ой простите. Но, если вынести из цикла указание волны и процессинг, звук ведь совсем не такой выйдет?
  10. CarWar Здравствуйте уважаемые форумчане! Я сдалал давненько такую игру, теперь выкладываю ее сюда. В этой игре мы играем за машинок. Другие игроки тоже играют за машинок (игроки могут быть и ботами!). Вообщем вся суть в том, чтобы стрелять в другие машинки и ломать их. За это мы получаем очки. Когда мы зарабатываем достаточно очков, уровень повышается. А это нам увеличивает размер,скорострельность и урон который мы наносим. Нас конечно тоже могут поломать, так что надо быть осторожнее и держаться подальше от больших машинок. Скриншоты: Скачать: CarWar.zip - Windows и Android CarWar.love - Linux
  11. Вообщем повозился с вашей карточкой и вышло вот что: component.sound.open(1) -- Создаем очередь из частот и сразу обрабатываем for n=1,1000 do component.sound.setWave(1,component.sound.modes.sine) component.sound.setFrequency(1,n) component.sound.delay(1) component.sound.process() end -- Слушаем получившийся бульк и радуемся что все работает
  12. TC1061

    Telegram Interface

    А если сервера Telegram окажутся недоступны?
  13. Согласен, такие гриферы заставляют игроков думать о защите и обороне, и это добавляет интерес и игре.
  14. Будем считать, что байт-8 бит, килобайт-1024 байт, мегабайт - 1024 килобайт, кто будет говорить кибибайт или мебибайт? Язык заплетается!
  15. значит залита не полностью
×