the temp function modding

  • xhrqnx2
    6th October Member 0 Permalink

    how do i'm define the temp of my element
    and how do i'm do a loop for every game tick?

    its correct?

    sim.partProperty(myElement, "temp", -50)

    because its dont changing the temp

    i'm used allocate

    code:

    local myElement = elem.allocate("COOLERELEMNEW", "Cooler")

    elem.property(myElement, "Name", "Cooler")
    elem.property(myElement, "Description", "a Cooler. useful for water steam condense")
    elem.property(myElement, "Colour", 0x0000FF)


    sim.partProperty(myElement, "Temp", -50)


    print("running mod")
    Edited 2 times by xhrqnx2. Last: 6th October
  • 12034056
    6th October Member 0 Permalink

    Temperature is in Kelvin, so -50C will be 223.15K.

     

    To do something every game tick, use the "Update" property:

    local myElement = elem.allocate("COOLERELEMNEW", "COOLER")
    
    myElementUpdate = function(i, x, y) -- example update function
      local currentTemp = sim.partProperty(i, "temp")
      if currentTemp > 223.15 then
        sim.partProperty(i, "temp", currentTemp - 0.5)
      end
    end
    
    elem.property(myElement, "Name", "COLR") -- 4-letter name on the element button
    elem.property(myElement, "Description", "...")
    elem.property(myElement, "Colour", 0x0000FF)
    elem.property(myElement, "Temperature", 223.15) -- spawn temperature (in Kelvin)
    elem.property(myElement, "MenuVisible", 1)
    elem.property(myElement, "MenuSection", elem.SC_SPECIAL)
    elem.property(myElement, "Weight", 100)
    elem.property(myElement, "Properties", elem.TYPE_SOLID)
    elem.property(myElement, "Update", myElementUpdate)
    
    Edited once by 12034056. Last: 6th October