benshepherd icon

garrysmod e2 ram

benshepherd | PRO | 08/17/14 11:49:45 AM UTC | 0 ⭐ | 510 👁️ | Never ⏰ | []
text |

2.24 KB

|

None

|

0 👍

/

0 👎

@name 
@inputs KeyInput Reset
@outputs Index Text:string
@persist KeyLog:string Data:array Menu
@trigger 
 #Set menu to first
if(first())
{
    Menu = 0
    Index = 0
    Reset = 0
}
 #Manual reset
if(Reset)
{
    Menu = 0
    Index = 0
    KeyLog = ""
    exit()
}
 #Key Chars
KEY_BACKSPACE = 127
KEY_LEFTSHIFT = 154
KEY_ENTER = 13
KEY_NUM1 = 49
KEY_NUM2 = 50
KEY_NUM3 = 51
 #Delete character
if(KeyInput == KEY_BACKSPACE)
{
    KeyLog = KeyLog:sub(1,-2)
}
#Append to KeyLog
elseif(KeyInput > 0 && KeyInput != KEY_LEFTSHIFT && KeyInput != KEY_ENTER)
{
    KeyLog += toChar(KeyInput)
}
  #Display Menu(s)
MT = ""
MT += "-- Menu Options --\n"
MT += "- Addr " + Index + " -\n\n"
 #0 - No menu selected
if(Menu == 0)
{
    MT += "[1] Change Address\n"
    MT += "[2] Write data\n"
    MT += "[3] Read data\n"
    MT += "\nInput: "+KeyLog+"\n"
     #User has selected 'Change Address'
    if(KeyLog == "1" && KeyInput == KEY_ENTER)
    {
        Menu = 1
        KeyLog = ""
        exit()
     }
    #User has selected 'Write Data'
    if(KeyLog == "2" && KeyInput == KEY_ENTER)
    {
        Menu = 2
        KeyLog = ""
        exit()
     }
    #User has selected 'Write Data'
    if(KeyLog == "3" && KeyInput == KEY_ENTER)
    {
        Menu = 3
        KeyLog = ""
        exit()
     }    
}
 #1 - Change their address
if(Menu == 1)
{
    MT += "Enter New Address (1 - 32):\n"
    MT += KeyLog + "\n"
}
    #User has selected their address
    if(KeyInput == KEY_ENTER)
    {
        Index = KeyLog:toNumber()
        KeyLog = ""
        Menu = 0
        exit()
    }
 #2 - Write to address
if(Menu == 2)
{
    MT += "Type 'exit' to return\n"
    MT += "Press enter to save input\n"
    MT += "Input:\n" + KeyLog
     if(KeyInput == KEY_ENTER)
    {
        if(KeyLog != "exit")
        {
            Data:setString(Index, KeyLog)
        }
         KeyLog = ""
        Menu = 0
        exit()
    }
}
 if(Menu == 3)
{
    MT += "Address " + Index + " returned:\n" + Data:string(Index)
     if(KeyInput == KEY_ENTER)
    {
        Menu = 0
        KeyLog = ""
        exit()
    }
}
 #Write menu
Text = MT
exit()

Comments