The clock mod, by Joe Maximum.
Here are some easy to understand examples of the menutrigger command.
REMOVETRIGGER initVAR ON initVAR SET txtsize 60 ON initVAR SET txtelement ELEMENT:Burner ON initVAR SET txtY txtsize ON initVAR SET txtX 5 ON initVAR SET drawBorder 1 ON initVAR SET clockspeed 60 ON initVAR SET showsecond 0 ON initVAR SET isTOP 1 ON initVAR SET isBOTTOM 0 ON initVAR SET lastWIDTH 0 Element Clear Bidon 255 0 0 500 1 1 1 0 Clear 1500 HEX 0000000000000000003FF80000FFFE0001E00F0003800380070001C00E0000E01C000070180000303B0000383180001830E000183070001830380018301E1FD8301FFF18300FF818300FE0183006001838000038180000301C0000700E0000E0070001C00380038001E00F0000FFFE00003FF800000000000000000000000000 255 255 255 REMOVETRIGGER menuClock MENU TOP ADD TEXT "Clock" ELEMENT ELEMENT:Bidon menuClock ON menutop MENU TOP ADD TEXT "Clock" ELEMENT ELEMENT:Bidon menuClock ON menuClock MENU SUB CLEAR ON menuClock MENU SUB ADD TEXT "Display" TEXT "Display" <EXEC writetime txtX txtY txtelement txtsize> ON menuClock MENU SUB ADD TEXT "Size >" TEXT "Size >" menuSize ON menuClock MENU SUB ADD TEXT "Position >" TEXT "Position >" menuPosition ON menuClock MENU SUB ADD TEXT "Element >" TEXT "Element >" menuElement ON menuClock MENU SUB ADD TEXT "Refresh Rate >" TEXT "Refresh Rate >" menuRefreshrate ON menuClock MENU SUB ADD TEXT "Border >" TEXT "Border >" menuBorder ON menuClock MENU SUB ADD TEXT "Second >" TEXT "Second >" menuSecond ON menuClock SUBMENU REMOVETRIGGER menuPosition ON menuPosition MENU SUB CLEAR ON menuPosition MENU SUB ADD TEXT "Top Left" TEXT "Top Left" menuPosition1 ON menuPosition MENU SUB ADD TEXT "Top Right" TEXT "Top Right" menuPosition2 ON menuPosition MENU SUB ADD TEXT "Bottom Left" TEXT "Bottom Left" menuPosition3 ON menuPosition MENU SUB ADD TEXT "Bottom Right" TEXT "Bottom Right" menuPosition4 ON menuPosition MENU SUB ADD TEXT "Center" TEXT "Center" menuPosition5 ON menuPosition SUBMENU REMOVETRIGGER menuSize ON menuSize MENU SUB CLEAR ON menuSize MENU SUB ADD TEXT "Small" TEXT "Small" <EXEC ChangeClockSize 30> ON menuSize MENU SUB ADD TEXT "Medium" TEXT "Medium" <EXEC ChangeClockSize 60> ON menuSize MENU SUB ADD TEXT "Large" TEXT "Large" <EXEC ChangeClockSize 90> ON menuSize SUBMENU REMOVETRIGGER menuBorder ON menuBorder MENU SUB CLEAR ON menuBorder MENU SUB ADD TEXT "ON" TEXT "ON" <EXEC drawBorderFunction 1> ON menuBorder MENU SUB ADD TEXT "OFF" TEXT "OFF" <EXEC drawBorderFunction 0> ON menuBorder SUBMENU REMOVETRIGGER drawBorderFunction ON drawBorderFunction EXEC removelastClock ON drawBorderFunction SET drawBorder $0 REMOVETRIGGER menuSecond ON menuSecond MENU SUB CLEAR ON menuSecond MENU SUB ADD TEXT "ON" TEXT "ON" <SET showsecond 1> ON menuSecond MENU SUB ADD TEXT "OFF" TEXT "OFF" <SET showsecond 0> ON menuSecond SUBMENU REMOVETRIGGER menuElement ON menuElement MENU SUB CLEAR ON menuElement MENU SUB ADD TEXT "Burner" TEXT "Burner" <SET txtelement ELEMENT:Burner> ON menuElement MENU SUB ADD TEXT "Cloud" TEXT "Cloud" <SET txtelement ELEMENT:Cloud> ON menuElement MENU SUB ADD TEXT "Ice" TEXT "Ice" <SET txtelement ELEMENT:Ice> ON menuElement MENU SUB ADD TEXT "Pipe" TEXT "Pipe" <SET txtelement ELEMENT:Pipe> ON menuElement MENU SUB ADD TEXT "Fire" TEXT "Fire" <SET txtelement ELEMENT:Fire> ON menuElement MENU SUB ADD TEXT "Vulcano" TEXT "Vulcano" <SET txtelement ELEMENT:Vulcano> ON menuElement MENU SUB ADD TEXT "Seed" TEXT "Seed" <SET txtelement ELEMENT:Seed> ON menuElement MENU SUB ADD TEXT "Parasite" TEXT "Parasite" <SET txtelement ELEMENT:Parasite> ON menuElement MENU SUB ADD TEXT "Steam" TEXT "Steam" <SET txtelement ELEMENT:Steam> ON menuElement MENU SUB ADD TEXT "Gas" TEXT "Gas" <SET txtelement ELEMENT:Gas> ON menuElement MENU SUB ADD TEXT "GasII" TEXT "GasII" <SET txtelement ELEMENT:GasII> ON menuElement MENU SUB ADD TEXT "Stone" TEXT "Stone" <SET txtelement ELEMENT:Stone> ON menuElement MENU SUB ADD TEXT "Comet" TEXT "Comet" <SET txtelement ELEMENT:Comet> ON menuElement SUBMENU REMOVETRIGGER menuRefreshrate ON menuRefreshrate MENU SUB CLEAR ON menuRefreshrate MENU SUB ADD TEXT "1 Frame" TEXT "1 Frame" <SET clockspeed 1> ON menuRefreshrate MENU SUB ADD TEXT "10 Frames" TEXT "10 Frames" <SET clockspeed 10> ON menuRefreshrate MENU SUB ADD TEXT "60 Frames" TEXT "60 Frames" <SET clockspeed 60> ON menuRefreshrate MENU SUB ADD TEXT "120 Frames" TEXT "120 Frames" <SET clockspeed 120> ON menuRefreshrate MENU SUB ADD TEXT "240 Frames" TEXT "240 Frames" <SET clockspeed 240> ON menuRefreshrate MENU SUB ADD TEXT "480 Frames" TEXT "480 Frames" <SET clockspeed 480> ON menuRefreshrate MENU SUB ADD TEXT "960 Frames" TEXT "960 Frames" <SET clockspeed 960> ON menuRefreshrate SUBMENU REMOVETRIGGER writetime ON writetime EXEC updatetotalWIDTH ON writetime IF (HOUR >= 13) <SET newHOUR (HOUR - 12)> ON writetime IF (HOUR < 12) <SET newHOUR HOUR> ON writetime IF (txtsize == 30) <DRAW ELEMENT:Clear FILLEDRECT (txtX - 1) (txtY - txtsize) (totalWIDTH + 1) (txtsize + 2)> ON writetime IF (txtsize > 30) <DRAW ELEMENT:Clear FILLEDRECT (txtX - 1) (txtY - txtsize + 5) (totalWIDTH + 1) (txtsize + 1)> ON writetime IF ((drawBorder == 1) && (txtsize == 30)) <DRAW txtelement RECT (txtX - 1) (txtY - txtsize) (totalWIDTH + 1) (txtsize + 2)> ON writetime IF ((drawBorder == 1) && (txtsize > 30)) <DRAW txtelement RECT (txtX - 1) (txtY - txtsize + 5) (totalWIDTH + 1) (txtsize + 1)> ON writetime IF (newHOUR < 10)) <WRITE txtelement txtX txtY txtsize TEXT "0"> ON writetime IF (newHOUR < 10)) <WRITE txtelement (txtX + charWIDTH) txtY txtsize NUMBER newHOUR> ON writetime IF (newHOUR >= 10)) <WRITE txtelement txtX txtY txtsize NUMBER newHOUR> ON writetime WRITE txtelement (txtX + (charWIDTH * 2) + (charWIDTH / 3)) txtY txtsize TEXT ":" ON writetime IF (MINUTE < 10) <WRITE txtelement (txtX + (charWIDTH * 3)) txtY txtsize TEXT "0"> ON writetime IF (MINUTE < 10) <WRITE txtelement (txtX + (charWIDTH * 4)) txtY txtsize NUMBER MINUTE> ON writetime IF (MINUTE >= 10) <WRITE txtelement (txtX + (charWIDTH * 3)) txtY txtsize NUMBER MINUTE> ON writetime IF (showsecond == 1) <WRITE txtelement (txtX + (charWIDTH * 5) + (charWIDTH / 3)) txtY txtsize TEXT ":"> ON writetime IF ((showsecond == 1) && (SECOND < 10)) <WRITE txtelement (txtX + (charWIDTH * 6)) txtY txtsize TEXT "0"> ON writetime IF ((showsecond == 1) && (SECOND < 10)) <WRITE txtelement (txtX + (charWIDTH * 7)) txtY txtsize NUMBER SECOND> ON writetime IF ((showsecond == 1) && (SECOND >= 10)) <WRITE txtelement (txtX + (charWIDTH * 6)) txtY txtsize NUMBER SECOND> ON writetime SET lastWIDTH totalWIDTH ON writetime SET lastX txtX ON writetime SET lastY txtY ON writetime SET lastsize txtsize ON writetime TIMER clockspeed FRAMES writetime REMOVETRIGGER removelastClock ON removelastClock IF (txtsize == 30) <DRAW ELEMENT:Clear FILLEDRECT (lastX - 1) (lastY - txtsize) (lastWIDTH + 2) (lastsize + 3)> ON removelastClock IF (txtsize > 30) <DRAW ELEMENT:Clear FILLEDRECT (lastX - 1) (lastY - txtsize + 5) (lastWIDTH + 2) (lastsize + 2)> REMOVETRIGGER updatetotalWIDTH ON updatetotalWIDTH WRITE ELEMENT:Clear txtX txtY txtsize TEXT "0" ON updatetotalWIDTH SET charWIDTH WRITEWIDTH ON updatetotalWIDTH IF (showsecond == 1) <SET totalWIDTH ((charWIDTH * 8) + 5)> ON updatetotalWIDTH IF (showsecond == 0) <SET totalWIDTH ((charWIDTH * 5) + 5)> ON updatetotalWIDTH IF (txtsize == 30) <SET totalHEIGHT (txtsize + 3)> ON updatetotalWIDTH IF (txtsize > 30) <SET totalHEIGHT (txtsize + 2)> REMOVETRIGGER ChangeClockSize ON ChangeClockSize EXEC removelastClock ON ChangeClockSize SET txtsize $0 ON ChangeClockSize EXEC updatetotalWIDTH ON ChangeClockSize IF (isTOP == 1) <SET txtY (txtsize + 5)> ON ChangeClockSize IF (isTOP == 1) <SET txtX 5> ON ChangeClockSize IF (isBOTTOM == 1) <SET txtY (HEIGHT - 10)> ON ChangeClockSize IF (isBOTTOM == 1) <SET txtX (WIDTH - totalWIDTH - 5)> ON ChangeClockSize IF ((isTOP == 0) && (isBOTTOM == 0)) <SET txtX ((WIDTH - totalWIDTH) / 2)> ON ChangeClockSize IF ((isTOP == 0) && (isBOTTOM == 0)) <SET txtY (((HEIGHT / 2) + (totalHEIGHT / 2)) - 5)> REMOVETRIGGER menuPosition1 ON menuPosition1 EXEC removelastClock ON menuPosition1 SET txtX 5 ON menuPosition1 SET txtY (txtsize + 5) ON menuPosition1 SET isTOP 1 ON menuPosition1 SET isBOTTOM 0 REMOVETRIGGER menuPosition2 ON menuPosition2 EXEC removelastClock ON menuPosition2 SET txtX (WIDTH - totalWIDTH - 5) ON menuPosition2 SET txtY (txtsize + 5) ON menuPosition2 SET isTOP 1 ON menuPosition2 SET isBOTTOM 0 REMOVETRIGGER menuPosition3 ON menuPosition3 EXEC removelastClock ON menuPosition3 SET txtX 5 ON menuPosition3 SET txtY (HEIGHT - 10) ON menuPosition3 SET isTOP 0 ON menuPosition3 SET isBOTTOM 1 REMOVETRIGGER menuPosition4 ON menuPosition4 EXEC removelastClock ON menuPosition4 SET txtX (WIDTH - totalWIDTH - 5) ON menuPosition4 SET txtY (HEIGHT - 10) ON menuPosition4 SET isTOP 0 ON menuPosition4 SET isBOTTOM 1 REMOVETRIGGER menuPosition5 ON menuPosition5 EXEC removelastClock ON menuPosition5 SET txtX ((WIDTH - totalWIDTH) / 2) ON menuPosition5 SET txtY (((HEIGHT / 2) + (totalHEIGHT / 2)) - 5) ON menuPosition5 SET isTOP 0 ON menuPosition5 SET isBOTTOM 0 EXEC clearscreensandbox 0 EXEC initVAR EXEC writetime txtX txtY txtelement txtsize
Basic menu top (Qszwax57)
MENU TOP CLEAR MENU TOP ADD TEXT "" SEPERATOR 0 <> MENU TOP ADD TEXT " Include mod from the clipboard " TEXT "Include clipboard" <INCLUDE CLIPBOARD> MENU TOP ADD TEXT "" SEPERATOR 0 <> MENU TOP ADD TEXT " Open a .bs2 file " TEXT "Open bs2 file" <INCLUDE FILEDIALOG> MENU TOP ADD TEXT "" SEPERATOR 0 <>
The line “MENU TOP CLEAR” will obviously clear the top menu.
The line “MENU TOP ADD TEXT ”” SEPERATOR 0 <>” adds a seperator that will evenly distribute the icons.
The line :
MENU TOP ADD TEXT ” Open a .bs2 file ” TEXT “Open bs2 file” <INCLUDE FILEDIALOG>
* will add text on the top saying “Open bs2 file”
* when you hold you mouse over it it will show ”…Over: Open a .bs2 file…” In the bottom textbox
* when you click it, bs2 will <INCLUDE FILEDIALOG>