Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal

bufu1337

Members
  • Content Count

    6
  • Joined

  • Last visited

Posts posted by bufu1337

  1. Hello guys,

    due to my scripting for my  Screen Sharing script (multiple servers with 2 screens) i bumped into a bug and i didnt find a solution for that:

    i have two screens (naming MainScreen, TempScreen), both have one keyboard, standing a few blocks away from each other. And one server, the server has to switch between them.

    Now the server starts on MainScreen and with

    components.gpu.bind(TempScreen, true)

    switching to the TempScreen...

    unfortunately when i want to type something on the TempScreen nothing happens, i can get on the screen but he doesnt type... going to the MainScreen and typing there, nothing... going back to TempScreen and hahaha, the typed text from MainScreen is shown there...

    How can i bind the keyboard, is there a command for the keyboard? I didnt find anything in the wiki about that... this bug torpedos my Screen Sharing script because another server has to use the MainScreen after this, but the keyboard stays for both servers

    Edit: like i described, the keyboard is obviously bound to the server and not to the screen like it is described in the wiki

  2. 3 hours ago, payonel said:

    you'll need to share all the code you are using in each side

    i dont have much yet... step by step... but first step fails already:

    First Server:

    local thread = require("thread")
    local c = require("component")
    local event = require("event")
    local m = component.modem
    m.close()
    m.open(123)
    print("screenchange init")
    thread.create(function()
        while true do
            print("a")
            os.sleep()
            print("port 123 open: " .. tostring(c.modem.isOpen(123)))
            _, _, _, _, _, message = event.pull("modem_message")
            print(message)
            --do next step
        end
    end)
    print("screenchange - thread started")

    starting this...

    then i go to the second server this script:

    local c = require("component")
    local m = component.modem
    m.close()
    m.open(123)
    m.broadcast(123, "test")

    nothing happens at the first server :(

     

     

     

    EDIT: I solved the problem by myself... i forgot to connect the second line of both servers in the serverrack GUI... i didnt knew that it is for the network connection, was always wondering what it could be

    trying to do the script on my own now... any help would be great... even if it is only fragments

  3. On 10/7/2018 at 9:03 PM, payonel said:

    the `block_refinedstorage_grid_2` component is kindly provided by refined storage: https://github.com/raoulvdberge/refinedstorage

    And in their integration source, they provide the `getItem` component method: https://github.com/raoulvdberge/refinedstorage/blob/mc1.12/src/main/java/com/raoulvdberge/refinedstorage/integration/oc/EnvironmentNetwork.java#L299

    I don't know how their compare methods work (you can ask them for more support)

    But it looks like their getItem method takes a couple extra boolean params for comparing meta and nbt. perhaps you could try `getItem({...}, true, true)` or some variation of those

     

    https://github.com/raoulvdberge/refinedstorage/issues/2028

    any other suggestions here?

    the guys from refined storage couldnt help me out, still doesnt work to search for an item with a specific tag like in my example...

  4. I have a setup with about 12 Serverracks and in each 4 servers = 48 servers...
    all connected to each other...
    they need to be connected because they share a bunch of adapters...
    now i dont want to have 48 screens, for each server one, that looks ugly?
    i research a little bit, there is a thread API which can start a event.pull("modem_message") - listener in the background of a server without interfering other processes...
    (https://oc.cil.li/index.php?/topic/1728-multi-threaded-send-and-receive/&page=0#comment-7937)


    but i cant get anything it working correctly...
    it already did not work with only 1 serverrack and 2 servers inside...
    1 server even doesnt receive the message from the other one...

    First server: (going to lua)

    component.modem.open(123) ... returns true
    _, _, _, _, _, m = event.pull("modem_message"); print(m)

    Second Server: (going to lua)

    component.modem.open(123) ... returns true
    component.modem.broadcast(123, "test")

    now i await that the first server receives the message but nope, nothing happens...

    whats wrong with it?

    i want to make it like: i have big screen, one server shows on this screen, i type in "change_screen server3" then he switches the source-server and the screen show the console of server3 instead of server1

    (i am not good at explaining ;) and my english is bad i know)

    can someone help me realize such a script... pleeeeeaaaaaasssse 

  5. 4 hours ago, payonel said:

    ...

    But it looks like their getItem method takes a couple extra boolean params for comparing meta and nbt. perhaps you could try `getItem({...}, true, true)` or some variation of those

     

    oh ups i forgot to write this in the my question

    of course i used `getItem({...}, true, true)`

    somehow refined storage compares it... because with getItems() i get a table with 'hasTag=true'

  6. How to search for a specific Item which has a tag?
    for example output from crafttweaker: <"tconstruct:pick_head">.withTag({Material: "stone"})

    i tried different ways with a refined storage system with only this item in it...

    component.block_refinedstorage_grid_2.getItem({name="tconstruct:pick_head", withTag={material="stone"}})
    component.block_refinedstorage_grid_2.getItem({name="tconstruct:pick_head", Tag={material="stone"}})
    component.block_refinedstorage_grid_2.getItem({name="tconstruct:pick_head", nbt={material="stone"}})
    component.block_refinedstorage_grid_2.getItem({name="tconstruct:pick_head", meta={material="stone"}})
    component.block_refinedstorage_grid_2.getItem({name="tconstruct:pick_head", material="stone"})

     

    everything results in nil, but:

    component.block_refinedstorage_grid_2.getItems()

    finds it... but I cant use getItems() in my original system because it will result in a too long list

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.