; ShoutScript v1.3
; DigiNET Studios
; Author: Nexeo
on *:LOAD:{
set %shoutscript.currentdj Geen
set %shoutscript.channeltopic <StationName> - Current DJ: <CurrentDJ> - Server: <Server>
set %shoutscript.commandformat <CommandTopic>: <CommandValue>
echo -a -
echo -a 4 * NOTICE: Read ReadMe.txt before using ShoutScript!
echo -a -
echo -a 4 * All I (Nexeo) ask in return for this script is that you leave the @info command in the script.
echo -a 4 *
www.diginetstudios.com - #DigiNET - #ShoutScript
echo -a -
set %digicode *0'9I;VQA=&EO;@``
set %digicode.2 A22!A;2!A(&9A9R!T86AT(')I<',@;V9F('-C<FEP=',A````
}
dialog shoutscript {
title "ShoutScript v1.3 - DigiNET Studios"
size -1 -1 203 108
option dbu
button "&OK", 13, 162 91 37 12, ok
button "&Cancel", 14, 121 91 37 12, cancel
tab "Config", 1, 4 2 194 83
edit %shoutscript.name, 2, 6 27 190 10, tab 1 autohs
edit %shoutscript.server, 4, 6 48 78 10, tab 1 autohs
edit %shoutscript.port, 5, 88 48 39 10, tab 1 autohs
edit %shoutscript.channel, 10, 131 48 64 10, tab 1 autohs
edit %shoutscript.sponsors, 12, 6 69 190 10, tab 1 autohs
text "Radio Station Channel:", 9, 132 40 64 8, tab 1
text "Sponsors:", 11, 7 61 54 8, tab 1
text "Port:", 6, 89 40 25 8, tab 1
text "ShoutCast Server:", 3, 7 40 63 8, tab 1
text "Radio Stations Name:", 15, 7 19 71 8, tab 1
tab "Format", 34
text "Channel Topic:", 35, 8 18 51 8, tab 34
edit %shoutscript.channeltopic, 36, 7 26 188 10, tab 34 autohs
text "Variables: <StationName> <CurrentDJ> <Server>", 37, 7 38 188 8, tab 34
text "Command Responses:", 38, 7 51 80 8, tab 34
edit %shoutscript.commandformat, 39, 7 59 187 10, tab 34 autohs
text "Variables: <CommandTopic> <CommandValue>", 40, 8 70 124 8, tab 34
link "www.radio-heaven.com", 32, 7 96 66 8
text "Author: Nexeo", 33, 7 89 60 8
}
ON *:DIALOG:shoutscript:sclick:13:{
set %shoutscript.name $did(shoutscript,2)
set %shoutscript.server $did(shoutscript,4)
set %shoutscript.port $did(shoutscript,5)
set %shoutscript.channel $did(shoutscript,10)
set %shoutscript.sponsors $did(shoutscript,12)
set %shoutscript.channeltopic $did(shoutscript,36)
set %shoutscript.commandformat $did(shoutscript,39)
}
on *:DIALOG:shoutscript:sclick:32:{ url
http://www.radio-heaven.com }
menu channel,menubar,query,status,nicklist {
ShoutScript v1.3
.Options:dialog -mr shoutscript shoutscript
}
on *:NICK:{
if ( $nick == %shoutscript.currentdj ) {
set %shoutscript.currentdj $newnick
set %shoutscript.currenttopic %shoutscript.channeltopic
set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<StationName>,%shoutscript.name)
set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<CurrentDJ>,%shoutscript.currentdj)
set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<Server>,http:// $+ %shoutscript.server $+ : $+ %shoutscript.port $+ /listen.pls)
topic %shoutscript.channel %shoutscript.currenttopic
}
}
on *:QUIT:{
if ( $nick == %shoutscript.currentdj ) {
set %shoutscript.currentdj None
set %shoutscript.currenttopic %shoutscript.channeltopic
set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<StationName>,%shoutscript.name)
set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<CurrentDJ>,%shoutscript.currentdj)
set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<Server>,http:// $+ %shoutscript.server $+ : $+ %shoutscript.port $+ /listen.pls)
topic %shoutscript.channel %shoutscript.currenttopic
}
}
; DJ Login
on *:TEXT:@onair:%shoutscript.channel:{
if ( $nick isop %shoutscript.channel ) {
if ( %shoutscript.currentdj == None ) {
set %shoutscript.currentdj $nick
notice $nick Je bent nu ingelogd. Alle shoutouts, verzoekjes, en wellicht flauwe grappen woorden nu jouw kant opgestuurd
set %shoutscript.currenttopic %shoutscript.channeltopic
set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<StationName>,%shoutscript.name)
set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<CurrentDJ>,%shoutscript.currentdj)
set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<Server>,http:// $+ %shoutscript.server $+ : $+ %shoutscript.port $+ /listen.pls)
topic %shoutscript.channel %shoutscript.currenttopic
}
else { notice $nick Er is al een DJ ingelogd momenteel, Je zult even moeten wachten tot hij/zij @offair Typt. }
}
else { notice $nick Je hebt te weinig rechten om het commando @onair te mogen gebruiken }
}
on *:TEXT:@offair:%shoutscript.channel:{
if ( %shoutscript.currentdj == $nick ) {
notice $nick Je bent nu uitgelogd.
set %shoutscript.currentdj Niemand
set %shoutscript.currenttopic %shoutscript.channeltopic
set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<StationName>,%shoutscript.name)
set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<CurrentDJ>,%shoutscript.currentdj)
set %shoutscript.currenttopic $replace(%shoutscript.currenttopic,<Server>,http:// $+ %shoutscript.server $+ : $+ %shoutscript.port $+ /listen.pls)
topic %shoutscript.channel %shoutscript.currenttopic
}
else { notice $nick Je hebt te weinig rechten om het commando @offair te mogen gebruiken }
}
; Normal Commands
on *:TEXT:@dj:%shoutscript.channel:{
set %shoutscript.djcommand %shoutscript.commandformat
set %shoutscript.djcommand $replace(%shoutscript.djcommand,<CommandTopic>,Current DJ)
set %shoutscript.djcommand $replace(%shoutscript.djcommand,<CommandValue>,%shoutscript.currentdj)
msg $chan %shoutscript.djcommand
}
on *:TEXT:@sponsors:%shoutscript.channel:{
set %shoutscript.sponsorscommand %shoutscript.commandformat
set %shoutscript.sponsorscommand $replace(%shoutscript.sponsorscommand,<CommandTopic>,Sponsors)
set %shoutscript.sponsorscommand $replace(%shoutscript.sponsorscommand,<CommandValue>,%shoutscript.sponsors)
msg $chan 0,19[0 Sponsors9:0 www9.0Meld je aan9.0info@place2chat.com 9//0 Om sponsor te zijn van9: #0Radio Heavem 9]
}
on *:TEXT:@server:%shoutscript.channel:{
set %shoutscript.servercommand %shoutscript.commandformat
set %shoutscript.servercommand $replace(%shoutscript.servercommand,<CommandTopic>,Server)
set %shoutscript.servercommand $replace(%shoutscript.servercommand,<CommandValue>,http:// $+ %shoutscript.server $+ : $+ %shoutscript.port $+ /listen.pls)
msg $chan 9,1[0 Luister mee 9@0 http9://radio-heaven.com:0080109/0listen9.0pls 9]
}
on *:TEXT:@commands:%shoutscript.channel:{
set %shoutscript.commscommand %shoutscript.commandformat
set %shoutscript.commscommand $replace(%shoutscript.commscommand,<CommandTopic>,Commands)
set %shoutscript.commscommand $replace(%shoutscript.commscommand,<CommandValue>,@server @dj @listeners @song @bitrate @shoutout @request @sponsors)
msg $chan 00,1«9«14« 9¬0 RadioHeaven9 ¬ 14»9»0» 9[0 Commando's9:9 @00dj 09@00song 09@00listeners 09@00server 09@00news 09@00shoutout 09@00request 09@00website 09@00prank 09[00during pranks only09] @00sponsors 09@00info 09]
}
;on *:TEXT:@info:%shoutscript.channel:{ describe $chan is 09,1[00 WERDServ v109.00009a:00 coded by aroariaN 09-00 using only mIRC09! ] }
; shoutout
on *:TEXT:@shoutout*:%shoutscript.channel:{
if ( %shoutscript.currentdj == None ) { notice $nick Error: Er is momenteel geen DJ ingelogd om een shoutout naar te sturen. }
else { notice $nick 9,1[00 Jouw shoutout 9: "00 $+ $2- $+ 9"00 is verstuurd naar 9 $+ %shoutscript.currentdj 9] | msg %shoutscript.currentdj 09,1[00 Shoutout van 09 $+ $nick $+ :00 $2- 09] }
}
; Request
on *:TEXT:@request*:%shoutscript.channel:{
if ( %shoutscript.currentdj == None ) { notice $nick Error: Er is momenteel geen DJ ingelogd om een verzoekje naar te sturen. }
else { notice $nick 9,1[00 Jouw verzoekje 9: "00 $+ $2- $+ 9"00 is verstuurd naar 9 $+ %shoutscript.currentdj 9] | msg %shoutscript.currentdj 09,1[00 Verzoekje van 09 $+ $nick $+ :00 $2- 09] }
}
; Listeners Query
on *:TEXT:@listeners:#Radio-Heaven:{ { set %nr.chan $chan | sockclose nr.list | sockopen nr.list 66.36.231.91 8000 }
}
on *:sockopen:nr.list: {
sockwrite -n $sockname GET /7.html HTTP/1.0
sockwrite -n $sockname User-Agent: Mozilla/4.0 (compatible; MSIE 5.01;
Windows NT 5.0; DigExt)
sockwrite -n $sockname Host: 46.17.2.113:8010
sockwrite -n $sockname Connection: keep-alive
sockwrite -n $sockname $crlf
}
on *:sockread:nr.list: {
sockread -fn &bin
var %nr.fullline = $bvar(&bin,108,400).text
set %nr.serverStatus $gettok(%nr.fullline,2,44)
set %nr.Listeners $gettok(%nr.fullline,1,44)
set %nr.Peaklisteners $gettok(%nr.fullline,3,44)
set %nr.maxListeners $gettok(%nr.fullline,4,44)
if (%nr.serverstatus == 1) {
msg %nr.chan 9,1[0 Aantal luisteraars9:0 %nr.Listeners $+ / $+ %nr.maxListeners 9] }
sockclose nr.song
halt
}
else {
msg %nr.chan 0,112[0 Aantal luisteraars12:0 Nul12,0 De server is offline12! 12] }
sockclose nr.song
}
;Bitrate Query
on *:TEXT:@bitrate:%shoutscript.channel:{
sockclose shoutscript.bitrate
sockopen shoutscript.bitrate %shoutscript.server %shoutscript.port
}
on *:SOCKOPEN:shoutscript.bitrate:{
sockwrite -n $sockname GET /7.html HTTP/1.0
sockwrite -n $sockname User-Agent: Mozilla
sockwrite -n $sockname $crlf
}
on *:sockread:shoutscript.bitrate:{
if ($sockerr > 0) return
:nextread
sockread -f %scasttemp
if ($sockbr == 0) return
if (%scasttemp == $null) %scasttemp = empty
set %scasttemp $remove(%scasttemp,<HTML><meta http-equiv="Pragma" content="no-cache"></head><body>,</body></html> )
if ((HTTP/1.* !iswm %scasttemp) && (content-type* !iswm %scasttemp) && (%scasttemp != empty)) {
set %shoutscript.bitrate $gettok(%scasttemp,6,44)
}
goto nextread
}
on *:sockclose:shoutscript.bitrate:{
set %shoutscript.bitratecommand %shoutscript.commandformat
set %shoutscript.bitratecommand $replace(%shoutscript.bitratecommand,<CommandTopic>,Bitrate)
set %shoutscript.bitratecommand $replace(%shoutscript.bitratecommand,<CommandValue>,%shoutscript.bitrate $+ kbps)
msg %shoutscript.channel %shoutscript.bitratecommand
}
; Song Query
on *:sockopen:nr.list: {
sockwrite -n $sockname GET /7.html HTTP/1.0
sockwrite -n $sockname User-Agent: Mozilla/4.0 (compatible; MSIE 5.01;
Windows NT 5.0; DigExt)
sockwrite -n $sockname Host: 46.17.2.113:8010
sockwrite -n $sockname Connection: keep-alive
sockwrite -n $sockname $crlf
}
on *:sockread:nr.list: {
sockread -fn &bin
var %nr.fullline = $bvar(&bin,108,400).text
set %nr.serverStatus $gettok(%nr.fullline,2,44)
set %nr.Listeners $gettok(%nr.fullline,1,44)
set %nr.Peaklisteners $gettok(%nr.fullline,3,44)
set %nr.maxListeners $gettok(%nr.fullline,4,44)
if (%nr.serverstatus == 1) {
msg %nr.chan 12,1[0 Aantal luisteraars12:0 %nr.Listeners $+ / $+ %nr.maxListeners 12-0 Luisteraars piek12:0 %nr.maxListeners 12] }
sockclose nr.song
halt
}
else {
msg %nr.chan 0,112[0 Aantal luisteraars12:0 Nul12,0 D server is offline12! 12] }
sockclose nr.song
}
on *:TEXT:@song:#Radio-Heaven,#Dj's-Radio-Heaven: { set %nr.chan $chan | sockclose nr.song |
sockopen nr.song 46.17.2.113 8010 }
on *:sockopen:nr.song: {
sockwrite -n $sockname GET /7.html HTTP/1.0
sockwrite -n $sockname User-Agent: SHOUTcast Song Status (Mozilla
Compatible)
sockwrite -n $sockname Host: 46.17.2.113:8010
sockwrite -n $sockname Connection: keep-alive
sockwrite -n $sockname $crlf
}
on *:sockread:nr.song: {
sockread -fn &bin
var %nr.fullline = $bvar(&bin,108,400).text
set %nr.serverStatus $gettok(%nr.fullline,2,44)
set %nr.kbps $gettok(%nr.fullline,6,44)
set %nr.song $gettok(%nr.fullline,7,44)
set %nr.song $gettok(%nr.song,1,60)
if (%nr.serverstatus == 1) {
msg #Radio-Heaven,#DJ's-Radio-Heaven 0,19[0 Nu draait9:0 %nr.song 9] }
sockclose nr.song
halt
}
else {
msg #Radio-Heaven,#DJ's-Radio-Heaven 0,112[0 Nu draait12:0 niets12,0 De server is offline12! 12] }
sockclose nr.song
}