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

PeacefulAtom

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

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

  • Посещение

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


  1. Похоже, у нас разные версии OpenCCSensors. Выложи, пожалуйста, на под спойлер или на пастебин содержимое файла ocs/apis/sensor. Будем разбираться

    local function waitForResponse( _id )
    	while true do
    		local event = {os.pullEvent()}
    		if event[2] == _id then
    			if event[1] == "ocs_success" then
    				return event[3]
    			elseif event[1] == "ocs_error" then
    				return nil, event[3]
    			end
    		end
    	end
    end
    
    function wrap(side)
    	local wrappedTable = {}
    	if peripheral.getType(side) == "sensor" then
    		local periph = peripheral.wrap(side)
    		for k,v in pairs(periph) do
    			if type(k) == "string" and type(v) == "function" then
    				wrappedTable[k] = function(...)
    					local id = periph[k](...)
    					if id == -1 then
    						return false
    					end
    					return waitForResponse(id)
    				end
    			end
    		end
    		return wrappedTable
    	else
    		return nil, "not a sensor"
    	end
    end
    
    function call(side, ...)
    	if peripheral.getType(side) == "sensor" then
    		local id = peripheral.call(side, ...)
    		if id == -1 then
    			return false
    		end
    		return waitForResponse(id)
    	else
    		return nil, "not a sensor"
    	end
    end
    

    Это или нет ?

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