Help with Acid like particle

  • CopenB
    28th Dec 2016 Member 0 Permalink

    How do I make a particle delete other particles that it touches without deleting paticle of the same type.

     

    ex How would I make acid delete particles without deleting the acid

     

    edit: Nevermind! I fixed the problem! Thanks for the help!

     

    http://pastebin.com/xQpbQLiK 

    Edited once by CopenB. Last: 29th Dec 2016
  • QuanTech
    28th Dec 2016 Member 0 Permalink

    if(r ~= PT_THNG) do
    tpt.delete(i) //destroy particle
    ~= is the 'not equal' operator. r is the neighbouring particle. PT_THNG is whatever your element is (e.g. DEFAULT_PT_WATR)

  • CopenB
    28th Dec 2016 Member 0 Permalink

    I still can't get it to work, can you show me what's wrong

     

    elem.allocate("BAUER", "MSTR")
    elem.element(elem.BAUER_PT_MSTR, elem.element(elem.DEFAULT_PT_DMND))

    elem.property(elem.BAUER_PT_MSTR, "Name", "MSTR")
    elem.property(elem.BAUER_PT_MSTR, "Description", "Mustard Gas")
    elem.property(elem.BAUER_PT_MSTR, "Colour", 0xffff66)
    elem.property(elem.BAUER_PT_MSTR, "MenuVisible", 1)
    elem.property(elem.BAUER_PT_MSTR, "MenuSection", SC_SPECIAL)

    elem.property(elem.BAUER_PT_MSTR, "Advection", 2)
    elem.property(elem.BAUER_PT_MSTR, "AirDrag", 0)
    elem.property(elem.BAUER_PT_MSTR, "AirLoss", 0.99)
    elem.property(elem.BAUER_PT_MSTR, "Loss", 0.3)
    elem.property(elem.BAUER_PT_MSTR, "Collision", -0.1)
    elem.property(elem.BAUER_PT_MSTR, "Gravity", 2)
    elem.property(elem.BAUER_PT_MSTR, "Diffusion", 0.3)
    elem.property(elem.BAUER_PT_MSTR, "HotAir", 0)

    elem.property(elem.BAUER_PT_MSTR, "Explosive", 0)
    elem.property(elem.BAUER_PT_MSTR, "Flammable", 0)
    elem.property(elem.BAUER_PT_MSTR, "Hardness", 0)
    elem.property(elem.BAUER_PT_MSTR, "Meltable", 0)
    elem.property(elem.BAUER_PT_MSTR, "Weight", 5)

    elem.property(elem.BAUER_PT_MSTR, "HeatConduct", 70)
    elem.property(elem.BAUER_PT_MSTR, "Temperature", 495.15)

    elem.property(elem.BAUER_PT_MSTR, "Falldown", 0)
    elem.property(elem.BAUER_PT_MSTR, "State", elem.ST_GAS)
    elem.property(elem.BAUER_PT_MSTR, "Properties", elem.TYPE_GAS + elem.PROP_DEADLY + elem.PROP_LIFE_DEC)

    elem.property(elem.BAUER_PT_MSTR, "LowPressure", IPL)
    elem.property(elem.BAUER_PT_MSTR, "LowPressureTransition", NT)
    elem.property(elem.BAUER_PT_MSTR, "HighPressure", IPH)
    elem.property(elem.BAUER_PT_MSTR, "HighPressureTransition", NT)
    elem.property(elem.BAUER_PT_MSTR, "LowTemperature", ITL)
    elem.property(elem.BAUER_PT_MSTR, "LowTemperatureTransition", NT)
    elem.property(elem.BAUER_PT_MSTR, "HighTemperature", ITH)
    elem.property(elem.BAUER_PT_MSTR, "HighTemperatureTransition", NT)

    local function MSTRUpdate(i, x, y, s, nt)
    if (r ~= BAUER_PT_MSTR) then
    tpt.delete(r)
    end
    end

  • DanielGalrito
    29th Dec 2016 Member 0 Permalink

    Oh you already fixed it, nevermind then :P

    Edited 2 times by DanielGalrito. Last: 29th Dec 2016