Snippet tilems

Sgqvur

FullOfUltimateTruthsAndEt ernalPrinciples, i.e shi
Reaction score
62
Requires:
Unit Indexer by Nestharus
* Event
SpeedMod by Dirac
GrimexManual (file:///somewhere_on_you_hd/newgen/jassnewgenpack5d/grimext/GrimexManual.html) by PitzerMike
A spreadsheet program like OpenOffice.org Calc


After clearing the requirements I will try to explain what tilems does and how to use it (hopefully).
Well tilems is just a script that happens to control how much bonus movement speed will a given unit (actaully it's type) will
have while moving over a given terrain type. To configure this the user has to edit a .slk file. The demo map's .slk file is in the zip (could not directly upload slk).

I will try to explain the demo map. First a unit type that must be picked (say 'hfoo'), then some terrain tile(s) are picked. The tiles are picked by opening the GrimexManual and going to the Tile Id List section. Then say we want to make the footmen run slower on "Lordaeron Summer Dark Grass" tile, we open the slk find the "Lordaeron Summer Dark Grass"'s id which is 'Lgrd' (it's written on the left in the GrimexManual) and under it we specify a real value (negative if we want to reduce the movement speed and positive to increase it), if the value is say 0.5 it means that the 'hfoo' movement speed over "Lordaeron Summer Dark Grass" will be increased by 50%. That's it.

=)

JASS:
library tilems uses UnitIndexer SpeedMod

globals
    // When a unit goes from one tile to a different one
    // it's movement speed bonus will be recalculated
    // within a maximum delay of:
    private real TILE_TRANSITION_DELAY = 1.0 // in seconds
    
    
    private hashtable HT   = InitHashtable()
    private group     G    = CreateGroup()
    private group     swap = CreateGroup()
    //int i
endglobals


// jasshelper loads the data from the .slk and
// puts it in to the struct then
// the data is taken from the struct and is loaded
// in to the hashtable for "easier" access
//
//! loaddata "tilems.slk"
struct tilemsld extends array
    real Ldrt
    real Ldro
    real Ldrg
    real Lrok
    real Lgrs
    real Lgrd
    real Fdrt
    real Fdro
    real Fdrg
    real Frok
    real Fgrs
    real Fgrd
    real Wdrt
    real Wdro
    real Wsng
    real Wrok
    real Wgrs
    real Wsnw
    real Bdrt
    real Bdrh
    real Bdrr
    real Bdrg
    real Bdsr
    real Bdsd
    real Bflr
    real Bgrr
    real Adrt
    real Adrd
    real Agrs
    real Arck
    real Agrd
    real Avin
    real Adrg
    real Alvd
    real Cdrt
    real Cdrd
    real Cpos
    real Crck
    real Cvin
    real Cgrs
    real Clvg
    real Ndrt
    real Ndrd
    real Nrck
    real Ngrs
    real Nice
    real Nsnw
    real Nsnr
    real Ydrt
    real Ydtr
    real Yblm
    real Ybtl
    real Ysqd
    real Yrtl
    real Ygsb
    real Yhdg
    real Ywmb
    real Vdrt
    real Vdrr
    real Vcrp
    real Vcbp
    real Vstp
    real Vgrs
    real Vrck
    real Vgrt
    real Qdrt
    real Qdrr
    real Qcrp
    real Qcbp
    real Qstp
    real Qgrs
    real Qrck
    real Qgrt
    real Xdrt
    real Xdtr
    real Xblm
    real Xbtl
    real Xsqd
    real Xrtl
    real Xgsb
    real Xhdg
    real Xwmb
    real Ddrt
    real Dbrk
    real Drds
    real Dlvc
    real Dlav
    real Ddkr
    real Dgrs
    real Dsqd
    real Gdrt
    real Gbrk
    real Grds
    real Glvc
    real Glav
    real Gdkr
    real Ggrs
    real Gsqd
    real Zdrt
    real Zdtr
    real Zdrg
    real Zbks
    real Zsan
    real Zbkl
    real Ztil
    real Zgrs
    real Zvin
    real Idrt
    real Idtr
    real Idki
    real Ibkb
    real Irbk
    real Itbk
    real Iice
    real Ibsq
    real Isnw
    real Odrt
    real Odtr
    real Osmb
    real Ofst
    real Olgb
    real Orok
    real Ofsl
    real Oaby
    real Kdrt
    real Kfsl
    real Kdtr
    real Kfst
    real Ksmb
    real Klgb
    real Ksqt
    real Kdkt
    real Jdrt
    real Jdtr
    real Jblm
    real Jbtl
    real Jsqd
    real Jrtl
    real Jgsb
    real Jhdg
    real Jwmb
    real cAc2
    real cAc1
    real cBc2
    real cBc1
    real cKc1
    real cKc2
    real cYc2
    real cYc1
    real cXc2
    real cXc1
    real cJc2
    real cJc1
    real cDc2
    real cDc1
    real cCc2
    real cCc1
    real cIc2
    real cIc1
    real cFc2
    real cFc1
    real cLc2
    real cLc1
    real cWc2
    real cWc1
    real cNc2
    real cNc1
    real cOc1
    real cOc2
    real cZc2
    real cZc1
    real cGc2
    real cGc1
    real cVc2
    real cVc1
    real cQc2
    real cQc1

    static key           TCX
    static integer       sid = 1
    static integer array uids
    
    static method getFromKey takes integer uid returns tilemsld
        local tilemsld s = LoadInteger(HT, uid, TCX)
        if s == 0 then
            set s = sid
            
            // map 1, 2, ..., sid to uid('hfoo', 'etc.')
            set uids[sid] = uid
            
            // map uid('hfoo', 'etc.') to, 1, 2, ..., sid
            call SaveInteger(HT, uid, TCX, sid)
            
            set sid = sid + 1
        endif
        return s
    endmethod

    static method init takes nothing returns nothing
        local tilemsld t
        local integer  uid         
        local integer  i = 1
        
        loop
            exitwhen i >= tilemsld.sid
            
            set uid = tilemsld.uids<i>
            set t   = LoadInteger(HT, uid, TCX)
            
            call SaveReal(HT, uid, &#039;Ldrt&#039;, t.Ldrt)
            call SaveReal(HT, uid, &#039;Ldro&#039;, t.Ldro)
            call SaveReal(HT, uid, &#039;Ldrg&#039;, t.Ldrg)
            call SaveReal(HT, uid, &#039;Lrok&#039;, t.Lrok)
            call SaveReal(HT, uid, &#039;Lgrs&#039;, t.Lgrs)
            call SaveReal(HT, uid, &#039;Lgrd&#039;, t.Lgrd)
            call SaveReal(HT, uid, &#039;Fdrt&#039;, t.Fdrt)
            call SaveReal(HT, uid, &#039;Fdro&#039;, t.Fdro)
            call SaveReal(HT, uid, &#039;Fdrg&#039;, t.Fdrg)
            call SaveReal(HT, uid, &#039;Frok&#039;, t.Frok)
            call SaveReal(HT, uid, &#039;Fgrs&#039;, t.Fgrs)
            call SaveReal(HT, uid, &#039;Fgrd&#039;, t.Fgrd)
            call SaveReal(HT, uid, &#039;Wdrt&#039;, t.Wdrt)
            call SaveReal(HT, uid, &#039;Wdro&#039;, t.Wdro)
            call SaveReal(HT, uid, &#039;Wsng&#039;, t.Wsng)
            call SaveReal(HT, uid, &#039;Wrok&#039;, t.Wrok)
            call SaveReal(HT, uid, &#039;Wgrs&#039;, t.Wgrs)
            call SaveReal(HT, uid, &#039;Wsnw&#039;, t.Wsnw)
            call SaveReal(HT, uid, &#039;Bdrt&#039;, t.Bdrt)
            call SaveReal(HT, uid, &#039;Bdrh&#039;, t.Bdrh)
            call SaveReal(HT, uid, &#039;Bdrr&#039;, t.Bdrr)
            call SaveReal(HT, uid, &#039;Bdrg&#039;, t.Bdrg)
            call SaveReal(HT, uid, &#039;Bdsr&#039;, t.Bdsr)
            call SaveReal(HT, uid, &#039;Bdsd&#039;, t.Bdsd)
            call SaveReal(HT, uid, &#039;Bflr&#039;, t.Bflr)
            call SaveReal(HT, uid, &#039;Bgrr&#039;, t.Bgrr)
            call SaveReal(HT, uid, &#039;Adrt&#039;, t.Adrt)
            call SaveReal(HT, uid, &#039;Adrd&#039;, t.Adrd)
            call SaveReal(HT, uid, &#039;Agrs&#039;, t.Agrs)
            call SaveReal(HT, uid, &#039;Arck&#039;, t.Arck)
            call SaveReal(HT, uid, &#039;Agrd&#039;, t.Agrd)
            call SaveReal(HT, uid, &#039;Avin&#039;, t.Avin)
            call SaveReal(HT, uid, &#039;Adrg&#039;, t.Adrg)
            call SaveReal(HT, uid, &#039;Alvd&#039;, t.Alvd)
            call SaveReal(HT, uid, &#039;Cdrt&#039;, t.Cdrt)
            call SaveReal(HT, uid, &#039;Cdrd&#039;, t.Cdrd)
            call SaveReal(HT, uid, &#039;Cpos&#039;, t.Cpos)
            call SaveReal(HT, uid, &#039;Crck&#039;, t.Crck)
            call SaveReal(HT, uid, &#039;Cvin&#039;, t.Cvin)
            call SaveReal(HT, uid, &#039;Cgrs&#039;, t.Cgrs)
            call SaveReal(HT, uid, &#039;Clvg&#039;, t.Clvg)
            call SaveReal(HT, uid, &#039;Ndrt&#039;, t.Ndrt)
            call SaveReal(HT, uid, &#039;Ndrd&#039;, t.Ndrd)
            call SaveReal(HT, uid, &#039;Nrck&#039;, t.Nrck)
            call SaveReal(HT, uid, &#039;Ngrs&#039;, t.Ngrs)
            call SaveReal(HT, uid, &#039;Nice&#039;, t.Nice)
            call SaveReal(HT, uid, &#039;Nsnw&#039;, t.Nsnw)
            call SaveReal(HT, uid, &#039;Nsnr&#039;, t.Nsnr)
            call SaveReal(HT, uid, &#039;Ydrt&#039;, t.Ydrt)
            call SaveReal(HT, uid, &#039;Ydtr&#039;, t.Ydtr)
            call SaveReal(HT, uid, &#039;Yblm&#039;, t.Yblm)
            call SaveReal(HT, uid, &#039;Ybtl&#039;, t.Ybtl)
            call SaveReal(HT, uid, &#039;Ysqd&#039;, t.Ysqd)
            call SaveReal(HT, uid, &#039;Yrtl&#039;, t.Yrtl)
            call SaveReal(HT, uid, &#039;Ygsb&#039;, t.Ygsb)
            call SaveReal(HT, uid, &#039;Yhdg&#039;, t.Yhdg)
            call SaveReal(HT, uid, &#039;Ywmb&#039;, t.Ywmb)
            call SaveReal(HT, uid, &#039;Vdrt&#039;, t.Vdrt)
            call SaveReal(HT, uid, &#039;Vdrr&#039;, t.Vdrr)
            call SaveReal(HT, uid, &#039;Vcrp&#039;, t.Vcrp)
            call SaveReal(HT, uid, &#039;Vcbp&#039;, t.Vcbp)
            call SaveReal(HT, uid, &#039;Vstp&#039;, t.Vstp)
            call SaveReal(HT, uid, &#039;Vgrs&#039;, t.Vgrs)
            call SaveReal(HT, uid, &#039;Vrck&#039;, t.Vrck)
            call SaveReal(HT, uid, &#039;Vgrt&#039;, t.Vgrt)
            call SaveReal(HT, uid, &#039;Qdrt&#039;, t.Qdrt)
            call SaveReal(HT, uid, &#039;Qdrr&#039;, t.Qdrr)
            call SaveReal(HT, uid, &#039;Qcrp&#039;, t.Qcrp)
            call SaveReal(HT, uid, &#039;Qcbp&#039;, t.Qcbp)
            call SaveReal(HT, uid, &#039;Qstp&#039;, t.Qstp)
            call SaveReal(HT, uid, &#039;Qgrs&#039;, t.Qgrs)
            call SaveReal(HT, uid, &#039;Qrck&#039;, t.Qrck)
            call SaveReal(HT, uid, &#039;Qgrt&#039;, t.Qgrt)
            call SaveReal(HT, uid, &#039;Xdrt&#039;, t.Xdrt)
            call SaveReal(HT, uid, &#039;Xdtr&#039;, t.Xdtr)
            call SaveReal(HT, uid, &#039;Xblm&#039;, t.Xblm)
            call SaveReal(HT, uid, &#039;Xbtl&#039;, t.Xbtl)
            call SaveReal(HT, uid, &#039;Xsqd&#039;, t.Xsqd)
            call SaveReal(HT, uid, &#039;Xrtl&#039;, t.Xrtl)
            call SaveReal(HT, uid, &#039;Xgsb&#039;, t.Xgsb)
            call SaveReal(HT, uid, &#039;Xhdg&#039;, t.Xhdg)
            call SaveReal(HT, uid, &#039;Xwmb&#039;, t.Xwmb)
            call SaveReal(HT, uid, &#039;Ddrt&#039;, t.Ddrt)
            call SaveReal(HT, uid, &#039;Dbrk&#039;, t.Dbrk)
            call SaveReal(HT, uid, &#039;Drds&#039;, t.Drds)
            call SaveReal(HT, uid, &#039;Dlvc&#039;, t.Dlvc)
            call SaveReal(HT, uid, &#039;Dlav&#039;, t.Dlav)
            call SaveReal(HT, uid, &#039;Ddkr&#039;, t.Ddkr)
            call SaveReal(HT, uid, &#039;Dgrs&#039;, t.Dgrs)
            call SaveReal(HT, uid, &#039;Dsqd&#039;, t.Dsqd)
            call SaveReal(HT, uid, &#039;Gdrt&#039;, t.Gdrt)
            call SaveReal(HT, uid, &#039;Gbrk&#039;, t.Gbrk)
            call SaveReal(HT, uid, &#039;Grds&#039;, t.Grds)
            call SaveReal(HT, uid, &#039;Glvc&#039;, t.Glvc)
            call SaveReal(HT, uid, &#039;Glav&#039;, t.Glav)
            call SaveReal(HT, uid, &#039;Gdkr&#039;, t.Gdkr)
            call SaveReal(HT, uid, &#039;Ggrs&#039;, t.Ggrs)
            call SaveReal(HT, uid, &#039;Gsqd&#039;, t.Gsqd)
            call SaveReal(HT, uid, &#039;Zdrt&#039;, t.Zdrt)
            call SaveReal(HT, uid, &#039;Zdtr&#039;, t.Zdtr)
            call SaveReal(HT, uid, &#039;Zdrg&#039;, t.Zdrg)
            call SaveReal(HT, uid, &#039;Zbks&#039;, t.Zbks)
            call SaveReal(HT, uid, &#039;Zsan&#039;, t.Zsan)
            call SaveReal(HT, uid, &#039;Zbkl&#039;, t.Zbkl)
            call SaveReal(HT, uid, &#039;Ztil&#039;, t.Ztil)
            call SaveReal(HT, uid, &#039;Zgrs&#039;, t.Zgrs)
            call SaveReal(HT, uid, &#039;Zvin&#039;, t.Zvin)
            call SaveReal(HT, uid, &#039;Idrt&#039;, t.Idrt)
            call SaveReal(HT, uid, &#039;Idtr&#039;, t.Idtr)
            call SaveReal(HT, uid, &#039;Idki&#039;, t.Idki)
            call SaveReal(HT, uid, &#039;Ibkb&#039;, t.Ibkb)
            call SaveReal(HT, uid, &#039;Irbk&#039;, t.Irbk)
            call SaveReal(HT, uid, &#039;Itbk&#039;, t.Itbk)
            call SaveReal(HT, uid, &#039;Iice&#039;, t.Iice)
            call SaveReal(HT, uid, &#039;Ibsq&#039;, t.Ibsq)
            call SaveReal(HT, uid, &#039;Isnw&#039;, t.Isnw)
            call SaveReal(HT, uid, &#039;Odrt&#039;, t.Odrt)
            call SaveReal(HT, uid, &#039;Odtr&#039;, t.Odtr)
            call SaveReal(HT, uid, &#039;Osmb&#039;, t.Osmb)
            call SaveReal(HT, uid, &#039;Ofst&#039;, t.Ofst)
            call SaveReal(HT, uid, &#039;Olgb&#039;, t.Olgb)
            call SaveReal(HT, uid, &#039;Orok&#039;, t.Orok)
            call SaveReal(HT, uid, &#039;Ofsl&#039;, t.Ofsl)
            call SaveReal(HT, uid, &#039;Oaby&#039;, t.Oaby)
            call SaveReal(HT, uid, &#039;Kdrt&#039;, t.Kdrt)
            call SaveReal(HT, uid, &#039;Kfsl&#039;, t.Kfsl)
            call SaveReal(HT, uid, &#039;Kdtr&#039;, t.Kdtr)
            call SaveReal(HT, uid, &#039;Kfst&#039;, t.Kfst)
            call SaveReal(HT, uid, &#039;Ksmb&#039;, t.Ksmb)
            call SaveReal(HT, uid, &#039;Klgb&#039;, t.Klgb)
            call SaveReal(HT, uid, &#039;Ksqt&#039;, t.Ksqt)
            call SaveReal(HT, uid, &#039;Kdkt&#039;, t.Kdkt)
            call SaveReal(HT, uid, &#039;Jdrt&#039;, t.Jdrt)
            call SaveReal(HT, uid, &#039;Jdtr&#039;, t.Jdtr)
            call SaveReal(HT, uid, &#039;Jblm&#039;, t.Jblm)
            call SaveReal(HT, uid, &#039;Jbtl&#039;, t.Jbtl)
            call SaveReal(HT, uid, &#039;Jsqd&#039;, t.Jsqd)
            call SaveReal(HT, uid, &#039;Jrtl&#039;, t.Jrtl)
            call SaveReal(HT, uid, &#039;Jgsb&#039;, t.Jgsb)
            call SaveReal(HT, uid, &#039;Jhdg&#039;, t.Jhdg)
            call SaveReal(HT, uid, &#039;Jwmb&#039;, t.Jwmb)
            call SaveReal(HT, uid, &#039;cAc2&#039;, t.cAc2)
            call SaveReal(HT, uid, &#039;cAc1&#039;, t.cAc1)
            call SaveReal(HT, uid, &#039;cBc2&#039;, t.cBc2)
            call SaveReal(HT, uid, &#039;cBc1&#039;, t.cBc1)
            call SaveReal(HT, uid, &#039;cKc1&#039;, t.cKc1)
            call SaveReal(HT, uid, &#039;cKc2&#039;, t.cKc2)
            call SaveReal(HT, uid, &#039;cYc2&#039;, t.cYc2)
            call SaveReal(HT, uid, &#039;cYc1&#039;, t.cYc1)
            call SaveReal(HT, uid, &#039;cXc2&#039;, t.cXc2)
            call SaveReal(HT, uid, &#039;cXc1&#039;, t.cXc1)
            call SaveReal(HT, uid, &#039;cJc2&#039;, t.cJc2)
            call SaveReal(HT, uid, &#039;cJc1&#039;, t.cJc1)
            call SaveReal(HT, uid, &#039;cDc2&#039;, t.cDc2)
            call SaveReal(HT, uid, &#039;cDc1&#039;, t.cDc1)
            call SaveReal(HT, uid, &#039;cCc2&#039;, t.cCc2)
            call SaveReal(HT, uid, &#039;cCc1&#039;, t.cCc1)
            call SaveReal(HT, uid, &#039;cIc2&#039;, t.cIc2)
            call SaveReal(HT, uid, &#039;cIc1&#039;, t.cIc1)
            call SaveReal(HT, uid, &#039;cFc2&#039;, t.cFc2)
            call SaveReal(HT, uid, &#039;cFc1&#039;, t.cFc1)
            call SaveReal(HT, uid, &#039;cLc2&#039;, t.cLc2)
            call SaveReal(HT, uid, &#039;cLc1&#039;, t.cLc1)
            call SaveReal(HT, uid, &#039;cWc2&#039;, t.cWc2)
            call SaveReal(HT, uid, &#039;cWc1&#039;, t.cWc1)
            call SaveReal(HT, uid, &#039;cNc2&#039;, t.cNc2)
            call SaveReal(HT, uid, &#039;cNc1&#039;, t.cNc1)
            call SaveReal(HT, uid, &#039;cOc1&#039;, t.cOc1)
            call SaveReal(HT, uid, &#039;cOc2&#039;, t.cOc2)
            call SaveReal(HT, uid, &#039;cZc2&#039;, t.cZc2)
            call SaveReal(HT, uid, &#039;cZc1&#039;, t.cZc1)
            call SaveReal(HT, uid, &#039;cGc2&#039;, t.cGc2)
            call SaveReal(HT, uid, &#039;cGc1&#039;, t.cGc1)
            call SaveReal(HT, uid, &#039;cVc2&#039;, t.cVc2)
            call SaveReal(HT, uid, &#039;cVc1&#039;, t.cVc1)
            call SaveReal(HT, uid, &#039;cQc2&#039;, t.cQc2)
            call SaveReal(HT, uid, &#039;cQc1&#039;, t.cQc1)

            set i = i + 1
        endloop
        
        // add the preplaced units to G if
        // their id was in the .slk
        //call ExecuteFunc(&quot;s__tilemsld_add_preplaced_units_to_G&quot;)
        call ExecuteFunc(tilemsld.add_preplaced_units_to_G.name)
    endmethod
    
    static method add_preplaced_units_to_G takes nothing returns nothing
        local unit    u
        local integer i
        local integer uid
        call GroupEnumUnitsInRect(swap, bj_mapInitialPlayableArea, null)
        
        loop
            set u = FirstOfGroup(swap)
            exitwhen u == null
            
            set i   = 1
            set uid = GetUnitTypeId(u)
            loop
                exitwhen i &gt;= sid
                if uid == uids<i> then
                    call GroupAddUnit(G, u)
                    exitwhen true
                endif
                set i = i + 1
            endloop
            
            call GroupRemoveUnit(swap, u)
        endloop
    endmethod
    
    static method onInit takes nothing returns nothing
        call TimerStart(CreateTimer(), 0, false, function tilemsld.init)
    endmethod
endstruct

private struct grouper extends array
    integer  cur_tile
    integer  prev_tile
    SpeedMod sm

    static method filter takes unit u returns boolean
        local integer uid = GetUnitTypeId(u)
        local integer i = 1
        loop
            exitwhen i &gt;= tilemsld.sid
            if uid == tilemsld.uids<i> then
                return true
            endif
            set i = i + 1
        endloop
        return false
    endmethod

    method index takes nothing returns nothing
        //set cur_tile  = 0 //GetTerrainType(GetUnitX(unit), GetUnitY(unit))
        set prev_tile = 0
        set sm        = 0
        call GroupAddUnit(G, unit)
    endmethod

    method deindex takes nothing returns nothing
        call GroupRemoveUnit(G, unit)
        if sm != 0 then
            call sm.destroy()
        endif
    endmethod
    
    implement UnitIndexStruct
endstruct

private struct looper extends array

    static method act takes nothing returns nothing
        local unit    u
        local group   g
        local grouper d
        local integer uid
        
        loop
            set u = FirstOfGroup(G)
            exitwhen u == null
            call GroupRemoveUnit(G, u)
            call GroupAddUnit(swap, u)
            
            set d = GetUnitUserData(u)
            set d.cur_tile = GetTerrainType(GetUnitX(u), GetUnitY(u))
            
            // the unit moved to a different tile
            if d.cur_tile != d.prev_tile then
                if d.sm != 0 then
                    call d.sm.destroy()
                endif
                
                set uid = GetUnitTypeId(u)

                // recalculate the speed mod
                // only if the unit actually has one for the 
                // current tile, i.e it is != 0
                //

                if LoadReal(HT, uid, d.cur_tile) != 0 then
                    set d.sm = SpeedMod.create(u, LoadReal(HT, uid, d.cur_tile))
                else
                    set d.sm = 0
                endif
            endif

            set d.prev_tile = d.cur_tile
        endloop
        set g = G
        set G = swap
        set swap = g
        
        // set g = null
        set u = null
    endmethod

    static method onInit takes nothing returns nothing
        call TimerStart(CreateTimer(), TILE_TRANSITION_DELAY, true, function looper.act)
    endmethod

endstruct

endlibrary


</i></i></i>



Edit: Now works for preplaced units as well, all tiles are included this time and the .slk generates much less script. =)
 

Attachments

  • tilems.zip
    1,001 bytes · Views: 383
  • tilems_demo.w3x
    35.7 KB · Views: 370

Nestharus

o-o
Reaction score
84
Post the script please.


Because I don't want to open the map, I have to ask this. Does this use a timer that expires 32x a second?
 

Sgqvur

FullOfUltimateTruthsAndEt ernalPrinciples, i.e shi
Reaction score
62
>Does this use a timer that expires 32x a second?

What else?... nah just 1(TILE_TRANSITION_DELAY) second
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
why do you use [ljass]ExecuteFunc[/ljass] when its slower than a trigger eval? It creates a whole new thread for it, where as the trigger has its own thread already

meh i just noticed its done on init so i guess it doesnt really matter that much
 

NoobImbaPro

You can change this now in User CP.
Reaction score
60
Once I tried to make units go slower on snow tiles, I used buffstruct and regions.
That system is hell way faster.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though
  • Ghan Ghan:
    Heard Houston got hit pretty bad by storms last night. Hope all is well with TH.
  • The Helper The Helper:
    Power back on finally - all is good here no damage
    +2
  • V-SNES V-SNES:
    Happy Friday!
    +1
  • The Helper The Helper:
    New recipe is another summer dessert Berry and Peach Cheesecake - https://www.thehelper.net/threads/recipe-berry-and-peach-cheesecake.194169/

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top