Перейти к содержимому

NEO

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

    1 436
  • Зарегистрирован

  • Посещение

  • Победитель дней

    78

Сообщения, опубликованные пользователем NEO


  1. Блок земли за 1 тугрик! Блок алмиков за 99 тугриков! Флай за 500 тугриков! Бог за 999! Админка за 4999! Спецакция! 1000 тугриков за 9.99 USD!

    P. S. Надо бы зачаровальню, ИМХО, подороже сделать. Чит читом на самом деле. За 2 алмазика, например.

    Донат пошёл уже.


  2. bios файл называется,находиться в jar файле мода,assets/computercraft/lua.

     

    function read( _sReplaceChar, _tHistory )

        term.setCursorBlink( true )
     
        local sLine = ""
        local nHistoryPos
        local nPos = 0
        if _sReplaceChar then
            _sReplaceChar = string.sub( _sReplaceChar, 1, 1 )
        end
        
        local w = term.getSize()
        local sx = term.getCursorPos()
        
        local function redraw( _sCustomReplaceChar )
            local nScroll = 0
            if sx + nPos >= w then
                nScroll = (sx + nPos) - w
            end
     
            local cx,cy = term.getCursorPos()
            term.setCursorPos( sx, cy )
            local sReplace = _sCustomReplaceChar or _sReplaceChar
            if sReplace then
                term.write( string.rep( sReplace, math.max( string.len(sLine) - nScroll, 0 ) ) )
            else
                term.write( string.sub( sLine, nScroll + 1 ) )
            end
            term.setCursorPos( sx + nPos - nScroll, cy )
        end
        
        while true do
            local sEvent, param = os.pullEvent()
            if sEvent == "char" then
                -- Typed key
                sLine = string.sub( sLine, 1, nPos ) .. param .. string.sub( sLine, nPos + 1 )
                nPos = nPos + 1
                redraw()
     
            elseif sEvent == "paste" then
                -- Pasted text
                sLine = string.sub( sLine, 1, nPos ) .. param .. string.sub( sLine, nPos + 1 )
                nPos = nPos + string.len( param )
                redraw()
     
            elseif sEvent == "key" then
                if param == keys.enter then
                    -- Enter
                    break
                    
                elseif param == keys.left then
                    -- Left
                    if nPos > 0 then
                        nPos = nPos - 1
                        redraw()
                    end
                    
                elseif param == keys.right then
                    -- Right                
                    if nPos < string.len(sLine) then
                        redraw(" ")
                        nPos = nPos + 1
                        redraw()
                    end
                
                elseif param == keys.up or param == keys.down then
                    -- Up or down
                    if _tHistory then
                        redraw(" ")
                        if param == keys.up then
                            -- Up
                            if nHistoryPos == nil then
                                if #_tHistory > 0 then
                                    nHistoryPos = #_tHistory
                                end
                            elseif nHistoryPos > 1 then
                                nHistoryPos = nHistoryPos - 1
                            end
                        else
                            -- Down
                            if nHistoryPos == #_tHistory then
                                nHistoryPos = nil
                            elseif nHistoryPos ~= nil then
                                nHistoryPos = nHistoryPos + 1
                            end                        
                        end
                        if nHistoryPos then
                            sLine = _tHistory[nHistoryPos]
                            nPos = string.len( sLine ) 
                        else
                            sLine = ""
                            nPos = 0
                        end
                        redraw()
                    end
                elseif param == keys.backspace then
                    -- Backspace
                    if nPos > 0 then
                        redraw(" ")
                        sLine = string.sub( sLine, 1, nPos - 1 ) .. string.sub( sLine, nPos + 1 )
                        nPos = nPos - 1                    
                        redraw()
                    end
                elseif param == keys.home then
                    -- Home
                    redraw(" ")
                    nPos = 0
                    redraw()        
                elseif param == keys.delete then
                    -- Delete
                    if nPos < string.len(sLine) then
                        redraw(" ")
                        sLine = string.sub( sLine, 1, nPos ) .. string.sub( sLine, nPos + 2 )                
                        redraw()
                    end
                elseif param == keys["end"] then
                    -- End
                    redraw(" ")
                    nPos = string.len(sLine)
                    redraw()
                end
     
            elseif sEvent == "term_resize" then
                -- Terminal resized
                w = term.getSize()
                redraw()
     
            end
        end
     
        local cx, cy = term.getCursorPos()
        term.setCursorBlink( false )
        term.setCursorPos( w + 1, cy )
        print()
        
        return sLine

    end


  3. Велосипедостроение - это неизлечимая болезнь.  ;)

    Мы потеряли много хороших парней на велосипедах...

    Велосипед помогает развивать мускулатуру, и не даёт накаливанию жира, в этом случай можно интерпретировать - это к мозгу, а не телу.

    • Нравится 2

  4. edit ocs/apis/sensor
    Или, если так не даст, то в два приема:

    cd ocs/apis/
    edit sensor
    В сингле - просто открой папку с сейвом и найди каталог computer. Там все файлы внутри должны быть.

    В CC системные файлы которые вшитые в мод, в сейве не отображаются.

    Аддоны считаются тоже.


  5. Ты такой интересный , я что должен лезть в дебри его туториалов , чтоб это найти ? Откуда мне знать на какой минуте он об этом рассказал ? Смотреть 30-минутное видео ради двух строк кода , не рационально .

    Для тебя интересного,1Ridav всё подробно разложил по полочкам для таких как ты.

    + Это в 6 уроке из 19,если ты такого никогда не видел,думаю ты много еще не знаешь,так что стоит посмотреть тебе.


  6. Помойму для этого тему создавать не надо, а просто посмотреть видео-уроки на канале 1Ridav,или почитать документацию на офф сайте Lua которая есть на русском.P.S посмотри уроки на канале 1Ridav все.


  7.  

    Оператор "..." это вообще фишка Lua ("получение неименованных аргументов"). В данном случае (вне функции) он получает аргументы переданные программе из командной строки.

    А заключив его в фигурные скобки, я сделал из этих аргументов таблицу.

     

    Про функцию os.parse() не знаю, но есть функция shell.parse(). Она позволяет удобно обработать аргументы, представляющие собой флаги. Всякие там

    programm -ab --flag1 --flag2
    

    извиняюсь, shell.parse


  8. Не не не.

     

    P.S. Лучше обновить OC.

    Увы но походу уже все решено.

    ALEXCC, сябро и Серёга писали на сервере под глассес, потенциал есть, очень даже большой.

    Да и принтер пригодится, плюс в том что можно на русском писать,если кланы добавите надо же будет правила печатать их, или указы всякие.


  9. Сделал прототип для создания, и работы с БД.

    Можно создать не сколько БД.

    В каждой БД есть шаблон по которому хранится информация.

    Исходники выложу позже.

    Шаблон сразу сохраняется в файл, а БД храниться в ОЗУ компьютера, а потом уже с помощью вызова функции сохраняет в файл.

×
×
  • Создать...