OBS Quote system

OBS Quote system

mIRC snippet cu citate ce functioneaza prin intermediul unei ferestre de dialog.

Postat de Copyright Categorie Review user Vizualizari Data
BLKoldSUN anthonydfurr activity Cod netestat 555 2023-12-04 19:53:45

dialog Quote {
  title "OBS Quote System"
  size 5 5 500 270
  box "Loaded Quotes"1,5 5 410 207
  list 2,10 20 400 205, Hsbar
  button "Exit"3,420 220 75 20,OK
  edit ""4,45 220 370 20, Autohs
  text "Quote:"5,5 225 35 20
  button "Add"6, 45 245 50 20
  button "Delete"7, 420 70 75 20
  button "Message"8, 420 20 75 20
  button "Echo"9, 420 45 75 20
  button "Clear"10, 100 245 50 20
  button "Refresh"11, 420 95 75 20
  button "QOTD"12, 420 120 75 20
  text "Creator: anthonydfurr © 2014"13,345 250 155 20
}

;********************
;     ALIASES       *
;********************

alias qSystem {
  dialog -m quote quote
}

alias Add {
  var %quote = $did(4).text
  write quotes.txt %quote
  msg $active $talker(OBS Quote System) $talker(Added Quote: %quote) $talker(Index: $LineCount)
  LoadQuotes
}

alias Delete {
  var %quote = $did(2).seltext
  var %index = $did(2).sel
  write $+(-dl,%index) quotes.txt
  msg $active $talker(OBS Quote System) $talker(Deleted Quote: %quote) $talker(Index: %index)
  LoadQuotes
}

alias Refresh {
  dialog -x quote quote
  dialog -md quote quote
}

alias LineCount {
  return $lines(quotes.txt)
}

alias QOTD {
  if ($LineCount > 0) {
    var %QOTD = $read(quotes.txt)
    msg $active $talker(OBS Quote System) $talker(Quote of the Day) $talker(%QOTD)
  }
  else {
    echo -a $talker(There are currently no quotes saved.)
  }
}

alias LoadQuotes {
  if ($findfile($mircdir,*quotes.txt,1)) {
    var %count = 1
    did -r quote 2
    while (%count <= $LineCount) {
      did -a quote 2 $read(quotes.txt,%count)
      inc %count
    }
  }
  else {
    echo -a $talker(Error: No quotes were loaded. Please load a .txt file in to your mIRC directory named quotes.txt.)
  }
}

alias talker { 
  var %left = 01[
  var %right = 01]
  var %color1 = 04
  var %color2 = 14
  var %i = 1
  while (%i <= $gettok($1-,0,32)) {
    var %msg = %msg  $+(%color1,$upper($left($gettok($1-,%i,32),1)),%color2,$lower($right($gettok($1-,%i,32),-1)))
    inc %i
  }
  return $+(%left,%msg,%right)
}

;*********************
;     ON DIALOG      *
;*********************

on *:DIALOG:quote:*:*:{
  if ($devent == init) {
    loadQuotes
  }
  if ($devent == sclick) {
    if ($did == 2) {
      did -r quote 4
      did -a quote 4 $did(2).seltext
    }
    if ($did == 6) {
      if ($did(4).text) {
        Add
      }
      else {
        echo -a $talker(Error: There wasn`t a quote typed in to the edit box. Please try again.)
      }
    }
    if ($did == 7) {
      if ($did(2).seltext) {
        Delete
      }
      else {
        echo -a $talker(OBS Quote System) $talker(Error: Please select a quote from the list to delete.)
      }
    }
    if ($did == 8) {
      if ($did(2).seltext) {
        msg $active $talker(OBS Quote System) $talker(Quote Selector) $talker(Quote: $did(2).seltext)
      }
      else {
        echo -a $talker(Please select a quote to message from the list.)
      }
    }
    if ($did == 9) {
      if ($did(2).seltext) {
        echo -a $talker(OBS Quote System) $talker(Quote Selector) $talker(Quote: $did(2).seltext)
      }
      else {
        echo -a $talker(Please select a quote to echo from the list.)
      }
    }
    if ($did == 10) {
      did -r quote 4
    }
    if ($did == 11) {
      Refresh
    }
    if ($did == 12) {
      QOTD
    }
  }
}