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>

 
menutriggers.txt · Last modified: 2008/08/08 14:19 (external edit)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki