; Simple Socket Script Creator v0.2
; Created by Chessnut
; Feel free to change this script and the scripts it produces
; however you want, but please leave this copyright as it is.
; Right click anywhere and click "Simple socket script creator" to start.
; Remember to read the Readme file.
; Enjoy.
; --- Chessnut ---->
Simple Socket Creator:/dialog -md sock_disp sock_disp
}
; LOOOOOOONG DIALOG!
dialog -l sock_disp {
title "Simple Socket Creator"
size -1 -1 284 205
option dbu
icon sckicon.ICO, 0
tab "HTML Viewer", 5, 5 3 275 176
button "View page", 2, 45 160 31 15, tab 5
edit , 3, 37 27 69 11, result tab 5 autohs
edit "80", 4, 37 39 19 12, result tab 5 limit 4
box "Connection", 8, 10 18 102 68, tab 5
text "Port:", 9, 12 40 16 8, tab 5
text "Address:", 10, 12 29 25 8, tab 5
box "Display", 11, 10 86 102 28, tab 5
check "Strip HTML", 12, 13 93 37 10, tab 5
box "Line details", 26, 10 115 102 42, tab 5
edit "", 27, 13 123 88 11, tab 5 read autohs
list 1, 115 20 161 129, tab 5 size vsbar
text "Length:", 29, 13 145 31 8, tab 5
check "Show head/headers", 41, 13 102 65 10, hide tab 5
text "User Agent:", 39, 12 51 24 14, hide tab 5
edit "", 40, 37 52 68 12, hide tab 5 autohs
button "Use line", 78, 48 144 28 10, tab 5
edit "", 101, 134 152 76 11, tab 5 autohs
button "Next >", 102, 246 152 23 11, tab 5
text "Search Lines:", 103, 115 151 18 14, tab 5
text "Line Number:", 104, 13 135 78 8, tab 5
text "Lines found:", 106, 114 167 31 8, tab 5
edit "", 107, 148 166 25 10, tab 5 read autohs
edit "", 108, 210 167 36 10, tab 5 autohs
text "Go to line:", 109, 182 167 26 8, tab 5
button "Go to", 110, 249 167 21 9, tab 5
button "Search", 105, 214 152 28 11, tab 5
radio "GET", 28, 60 40 20 10, hide tab 5
radio "POST", 89, 82 40 25 10, hide tab 5
edit "", 88, 37 65 68 18, hide tab 5 multi return autohs autovs
text "Extra sockwrite:", 87, 12 67 24 14, hide tab 5
button "View in Browser", 84, 81 159 26 17, tab 5 multi
check "Ignore blank lines", 95, 51 93 54 10, tab 5
button "Copy line", 126, 79 144 28 10, tab 5
tab "Socket Writer", 6
edit "No line selected", 13, 127 27 144 10, tab 6 read autohs
box "Before editing", 14, 118 19 159 23, tab 6
box "After editing", 15, 118 43 159 23, tab 6
edit "No line selected", 16, 127 51 144 10, tab 6 read autohs
box "Action", 22, 118 67 159 100, tab 6
text "Items to
remove (Separated by a comma
)", 23, 123 97 103 8, tab 6
check "Strip html after", 25, 125 149 48 10, tab 6
edit "", 30, 122 125 128 10, tab 6 autohs
edit "", 31, 122 105 128 10, tab 6 autohs
button "Update", 32, 181 148 37 12, tab 6
text "and", 36, 190 86 11 8, tab 6
text "Data wanted is between", 34, 123 77 103 8, tab 6
edit "", 33, 122 85 60 10, tab 6 autohs
edit "", 35, 207 85 60 10, tab 6 autohs
text "Items to replace (Separated by a comma)", 17, 122 117 103 8, tab 6
box "Finding correct line", 62, 11 19 104 89, tab 6
text "What phrase/string will ALWAYS be on this line? (MUST fill in)", 63, 16 27 90 13, tab 6
edit "", 64, 16 40 84 10, tab 6 autohs
text "Above phrase
/string is", 65, 16 62 55 9, hide
disable tab 6
button "Next >", 70, 87 160 28 15, tab 6
check "Strip html before", 85, 125 138 51 10, tab 6
box "Custom Action", 86, 11 108 104 50, hide tab 6
edit "", 92, 15 124 96 10, hide tab 6 autohs
text "Note: Use @LINE@ to refer to the rest of the line, EG. $bytes(@LINE@,b).", 112, 15 137 98 17, hide tab 6
text "Alias/es:", 24, 16 116 25 8, hide tab 6
button "ASCII List", 93, 222 148 38 12, tab 6
edit "", 44, 73 61 10 10, hide
disable tab 6 limit 1
text "lines the line I want.", 66, 85 62 12 8, hide
disable tab 6
combo 90, 16 72 37 22, hide
disable tab 6 drop
text "the line I want.", 118, 55 73 44 8, hide
disable tab 6
check "There is no unique data on the line", 123, 17 50 95 11, hide tab 6
button "Check", 124, 46 84 37 12, tab 6
text "", 125, 15 98 96 7, tab 6
tab "Script Creation", 37
edit "", 42, 37 39 50 10, tab 37 autohs
text "Remote trigger:", 43, 14 37 22 14, tab 37
box "Output - Message", 45, 10 84 85 71, tab 37
radio "Message channel", 46, 15 55 50 7, group tab 37
edit "", 48, 14 101 76 28, tab 37 multi return autohs autovs
text "Output message:", 49, 15 93 46 8, tab 37
text "NOTE: Use @RESULT@ to refer to the data found. New line means new message.", 50, 14 131 75 21, tab 37
radio "Notice nick", 47, 15 63 50 7, tab 37
box "Socket", 58, 98 19 70 45, tab 37
text "Socket name:", 59, 102 28 34 8, tab 37
edit "", 60, 101 38 50 10, tab 37 autohs
box "Data", 72, 98 69 70 86, tab 37
edit "", 73, 101 89 50 10, tab 37 autohs
text "Variable to store data as:", 74, 102 79 62 8, tab 37
button "Test/View Script", 82, 91 160 43 15, tab 37
box "Issues in creation", 96, 171 20 102 144, tab 37
list 97, 175 28 94 83, tab 37 size
edit "", 98, 174 113 96 10, tab 37 read autohs
button "Find error", 99, 205 125 37 12, tab 37
text "Note: Errors that MUST be fixed to create the script are marked with an asterix (*).", 100, 177 140 89 21, tab 37
radio "Echo status window", 91, 15 71 59 7, tab 37
button "Create Script", 61, 45 160 41 15, tab 37
check "Multi-socket", 94, 102 51 57 7, tab 37
button "Advanced trigger options", 113, 27 58 50 18, hide tab 37 multi
text "NOTE: Leave blank to create a local variable which will be unset after use. Recommended when creating a 'Multi-socket' script.", 114, 102 102 57 48, tab 37
radio "Simple", 119, 17 26 27 10, group tab 37
box "Input - Trigger", 116, 10 19 85 63, tab 37
radio "Advanced", 120, 48 26 36 10, tab 37
edit "", 115, 37 39 50 10, hide tab 37 read autohs
tab "Testing", 38
button "Trigger socket", 51, 37 28 45 12, tab 38
edit "", 52, 46 44 100 10, tab 38 read autohs
text "Line before editing:", 53, 13 42 31 14, tab 38
text "Line after editing:", 54, 13 58 31 14, tab 38
edit "", 55, 46 61 99 10, tab 38 read autohs
text "Result:", 57, 14 76 25 7, tab 38
box "Process", 67, 161 20 111 84, tab 38
list 68, 168 29 97 69, tab 38 size vsbar
button "View Script", 71, 43 160 31 15, tab 38
list 56, 13 83 140 40, tab 38 size vsbar
box "Process line info", 75, 112 151 161 24, tab 38
edit "", 76, 118 160 148 10, tab 38 read autohs
edit "", 77, 13 123 140 10, tab 38 read autohs
box "Script working?", 79, 189 111 48 34, tab 38
icon 80, 204 121 15 15, scktick.png, 0, hide tab 38
icon 81, 204 121 15 15, sckcross.png, 0, hide tab 38
box "Trigger/Result", 19, 9 20 148 119, tab 38
button "Force
close socket", 83, 86 28 51 12, hide tab 38
button "Load Script", 111, 77 160 32 15, tab 38 default
text "Current script name:", 127, 10 142 51 8, tab 38
text "", 128, 62 142 124 8, tab 38
button "Cancel", 7, 12 160 28 15, ok cancel
link "Help", 18, 255 5 13 8
check "Toggle Advanced Mode", 21, 7 187 70 10
icon 20, 243 5 7 7, sckhelp.gif, 0
text "Created by Chessnut, Version: 0.2", 69, 102 184 55 15
button "Feedback/ Suggestions", 117, 222 182 37 18, multi
text "v0.2", 121, 266 190 14 8
button "Check for updates", 122, 182 182 36 18, multi
}
alias -l regexfriendly { return $regsubex($1-,/([\Q?*+.|{}\/[]()\E])/g,\\1) }
alias -l retchanges { return $replace(%sckdispchanges,@zero£,0) }
; NO HTML ALIAS
alias nohtml { var %x,%y = $regsub($1-,/(<[^>]+>)/g,$null,%x) | return %x }
; INITILISATION COMMANDS
on *:DIALOG:sock_disp:INIT:0: {
did -a sock_disp 3 %sockdispsite
$iif(%sockdispport,did -ra sock_disp 4 %sockdispport)
did -c sock_disp 46,28,41,119
did -arc sock_disp 90 Before
did -a sock_disp 90 After
did -ar sock_disp 128 $nopath(%sockdispdir)
}
; MAIN DIAG CLOSE
on *:
DIALOG:sock_disp:
CLOSE:0:
{
unset %sckdisp*
}
; OPEN SOCKET (VIEW PAGE)
on *:dialog:sock_disp:sclick:2:{
if ($did(3)) {
if ($did(sock_disp,4) == $null) || ($did(sock_disp,4) !isnum) did -ar sock_disp 4 80
did -r sock_disp 27
set %sockdispsite $did(3)
set %sockdisphost $remove($left($remove($did(3),http://),$pos($remove($did(3),http://),/,1)),/)
set %sockdisppage $remove($did(sock_disp,3),http://,%sockdisphost)
set %sockdispport $did(sock_disp,4)
if (!%sockdisphost) {
set %sockdisphost %sockdisppage
set %sockdisppage /
}
did -r sock_disp 1
if ($did(12).state == 1) { did -bc sock_disp 85 }
else { did -eu sock_disp 85 }
sockclose dsock.1
sockopen dsock.1 %sockdisphost %sockdispport
}
}
on *:SOCKOPEN:dsock.*: {
sockwrite -nt $sockname $iif($did(sock_disp,28).state == 1,GET,POST) %sockdisppage HTTP/1.1
sockwrite -nt $sockname Host: %sockdisphost
$iif($did(sock_disp,40),sockwrite -nt $sockname User-Agent: $did(sock_disp,40))
var %j = 1
var %k = $did(sock_disp,88).lines
while (%j < %k) {
if ($did(sock_disp,88) != $null) sockwrite -nt $sockname $did(sock_disp,88, [ $+ [ %j ] ] )
inc %j
}
sockwrite -nt $sockname $crlf
set %sckdispheads $did(sock_disp,41).state
}
on *:SOCKREAD:dsock.*: {
if ($sockerr) {
if ($right($sockname,1) == 1) {
did -ar sock_disp 1 !!@@ ERROR (Code: $sckerr $+ ) OPENING SOCKET @@!!
}
elseif ($right($sockname,1) == 2) {
did -ar sock_disp_check 6 ERROR CONNECTING TO SOCKET.
}
elseif ($right($sockname,1) == 3) {
did -ar sock_disp_lineref 6 ERROR CONNECTING TO SOCKET.
}
halt
}
else {
var %sockreader
sockread %sockreader
if ($right($sockname,1) == 1) {
if (%sckdispheads == 0) {
if (*</head>* iswm %sockreader) set %sckdispheads 1
}
if (%sckdispheads == 1) {
if ($did(sock_disp,12).state == 1) {
if ($len(%sockreader) > 850) did -a sock_disp 1 !!@@ LINE TOO LONG @@!!
else {
if ($did(sock_disp,95).state == 1) {
if ($nohtml($remove(%sockreader,$chr(9),$chr(32)) != $null) did -a sock_disp 1 $nohtml(%sockreader)
}
else did -a sock_disp 1 $nohtml(%sockreader)
}
}
else {
if ($len(%sockreader) > 850) did -a sock_disp 1 !!@@ LINE TOO LONG @@!!
else {
if ($did(sock_disp,95).state == 1) {
if ($remove(%sockreader,$chr(9),$chr(32)) != $null) {
did -a sock_disp 1 %sockreader
}
}
else did -a sock_disp 1 %sockreader
}
}
}
}
elseif ($right($sockname,1) == 2) {
if ($len($remove(%sockreader,$chr(9),$chr(32))) == 0) halt
if ($+(*,$did(sock_disp,64),*) iswm $iif($did(sock_disp,90).seltext == After,%sockreader,%sockreader- [ $+ [ $did(sock_disp,44) ] ])) {
did -ar sock_disp_check 1 %sockreader [ $+ [ $iif($did(sock_disp,90).seltext == After,$+(-,$did(sock_disp,44))) ] ]
did -ar sock_disp_check 6 %sockreader [ $+ [ $iif($did(sock_disp,90).seltext == Before,$+(-,$did(sock_disp,44))) ] ]
if ($+(*,$did(sock_disp_check,7),*) iswm $did(sock_disp_check,6)) {
did -ar sock_disp_check 8 IS on the line that you have specified to contain the unique data/string
did -v sock_disp_check 11
}
else {
did -ar sock_disp_check 8 IS NOT on the line that you have specified to contain the unique data/string
did -v sock_disp_check 17
}
unset %sockreader*
sockclose $sockname
}
if ($len($remove(%sockreader,$chr(9))) > 0) {
var %x = $calc($did(sock_disp,44) - 1)
while (%x > -1) {
if ($len(%sockreader [ $+ [ $iif(%x != 0,$+(-,%x)) ] ]) <= 850) set %sockreader [ $+ [ $+(-,$calc(%x + 1)) ] ] %sockreader [ $+ [ $iif(%x != 0,$+(-,%x)) ] ]
dec %x
}
}
}
elseif ($right($sockname,1) == 3) {
if ($+(*,$did(sock_disp,64),*) iswm %sockreader) {
did -ar sock_disp_lineref 6 %sockreader
if (%sockreader == $did(sock_disp,13)) {
did -v sock_disp_lineref 11
did -ar sock_disp_lineref 9 The line that was found using the data you specified IS the same as the line you want.
}
else {
did -v sock_disp_lineref 10
did -ar sock_disp_lineref 9 The line that was found using the data you specified IS NOT the same as the line you want.
}
sockclose $sockname
}
}
}
}
on *:SOCKCLOSE:dsock.2: {
did -ar sock_disp_check 8 IS NOT on the line that you have specified to contain the unique data/string
}
on *:SOCKCLOSE:dsock.3: {
did -ar sock_disp_lineref 6 NOT FOUND
did -v sock_disp_lineref 10
did -ar sock_disp_lineref 9 The string you specified is not contained anywhere on any line.
}
; DOUBLE CLICK ON PAGE LIST
on *:dialog:sock_disp:dclick:1:{
if ($did(1).seltext && $did(1).seltext != !!@@ LINE TOO LONG @@!!) {
did -ar sock_disp 13,16 $did(1).seltext
did -fu sock_disp 6
}
}
; "USE LINE" BUTTON CLICK
on *:dialog:sock_disp:sclick:78:{
if ($did(1).seltext && $did(1).seltext != !!@@ LINE TOO LONG @@!!) {
did -ar sock_disp 13,16 $did(1).seltext
did -fu sock_disp 6
}
}
; "COPY LINE" BUTTON CLICK
on *:dialog:sock_disp:sclick:126:{
}
; CHAR CODE LIST
on *:dialog:sock_disp:sclick:93:{
window -laCdo
-t15,30
@Chr -1 -1 240 400
aline @Chr $+(Character,$chr(9),Chr Code)
var %i = 32
while (%i <= 255) {
aline @Chr $+($chr(%i),$chr(9),$chr(36),chr,$chr(40),%i,$chr(41))
inc %i
}
}
; SINGLE CLICK ON PAGE LIST
on *:dialog:sock_disp:sclick:1:{
did -ar sock_disp 27 $did(1).seltext
did -ar sock_disp 29 Length: $len($did(1).seltext)
did -ar sock_disp 104 Line Number: $did(1).sel
}
; SEARCH PAGE LIST
on *:dialog:sock_disp:sclick:105:{
unset %sockdispres
unset %sckdispfnd.*
var %i $did(1).lines
var %c 0
set %sockdispres 1
while (%c <= %i) {
if ($+(*,$did(101),*) iswm $did(1,%c)) {
set %sckdispfnd. [ $+ [ %sockdispres ] ] %c
inc %sockdispres
}
inc %c
}
if (%sckdispfnd.1) did -c sock_disp 1 %sckdispfnd.1
did -ar sock_disp 107 $calc(%sockdispres - 1)
set %sckdispnextimes 1
did -ar sock_disp 27 $did(1).seltext
did -ar sock_disp 29 Length: $len($did(1).seltext)
did -ar sock_disp 104 Line Number: $did(1).sel
}
; SEARCH PAGE LIST --> NEXT
on *:dialog:sock_disp:sclick:102:{
if (%sckdispnextimes == $calc(%sockdispres - 1)) set %sckdispnextimes 0
inc %sckdispnextimes
did -c sock_disp 1 %sckdispfnd. [ $+ [ $calc(%sckdispnextimes) ] ]
did -ar sock_disp 27 $did(1).seltext
did -ar sock_disp 29 Length: $len($did(1).seltext)
did -ar sock_disp 104 Line Number: $did(1).sel
}
; SEARCH PAGE LIST --> GOTO
on *:dialog:sock_disp:sclick:110:{
did -c sock_disp 1 $did(108)
did -ar sock_disp 27 $did(1).seltext
did -ar sock_disp 29 Length: $len($did(1).seltext)
did -ar sock_disp 104 Line Number: $did(1).sel
}
alias -l updatechanges {
did -ar sock_disp 16 $did(13)
set %sckdispchanges $iif($did(sock_disp,33) != $null || $did(sock_disp,35) != $null,$chr(36) $+ regml(1),$chr(37) $+ sockreade [ $+ [ $iif($did(sock_disp,123).state == 1 && $did(sock_disp,90).seltext == After && $did(sock_disp,21).state == 1,$+(r,-,$did(sock_disp,44)),r)) ] ])
if ($did(85).state == 1) { did -ar sock_disp 16 $nohtml($did(16)) | set %sckdispchanges $chr(36) $+ nohtml( $+ %sckdispchanges $+ ) }
noop $regex($did(16
),
/ $+
$iif($did(33
),
$regexfriendly($did(33
)),^
) $+
(.*?
) $+
$iif($did(35
),
$regexfriendly($did(35
)),$
) $+
/Si)
if ($regml(1)) { did -ar sock_disp 16 $regml(1) }
if ($did(31
) !=
$null) { set
%sckdispchanges $chr(36
) $+
remove( $+
%sckdispchanges $+
$iif($1,
$chr(44
) $+
$1) $+
$iif($2,
$chr(44
) $+
$2) $+
$iif($3,
$chr(44
) $+
$3) $+
$iif($4,
$chr(44
) $+
$4) $+
$iif($5,
$chr(44
) $+
$5) $+
$iif($6,
$chr(44
) $+
$6) $+
$iif($7,
$chr(44
) $+
$7) $+
$iif($8,
$chr(44
) $+
$8) $+
$iif($9,
$chr(44
) $+
$9) $+
$iif($10,
$chr(44
) $+
$10) $+
$iif($11,
$chr(44
) $+
$11) $+
$iif($12,
$chr(44
) $+
$12) $+
) }
var %sckstredit = $chr(175) $+ $replace($did(31),$chr(40),OBKT,$chr(41),CBKT,$chr(44),$chr(175)) $+ $chr(175)
var %sckstredit = $regsubex(%sckstredit,/\$chrOBKT([0-9]+)CBKT/gSi,$chr(\t))
if ($did(31) != $null) { did -ar sock_disp 16 $remove($did(16),$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12) }
if ($did(30) != $null) { set %sckdispchanges $chr(36) $+ replace( $+ %sckdispchanges $+ $iif($1,$chr(44) $+ $1) $+ $iif($2,$chr(44) $+ $2) $+ $iif($3,$chr(44) $+ $3) $+ $iif($4,$chr(44) $+ $4) $+ $iif($5,$chr(44) $+ $5) $+ $iif($6,$chr(44) $+ $6) $+ $iif($7,$chr(44) $+ $7) $+ $iif($8,$chr(44) $+ $8) $+ $iif($9,$chr(44) $+ $9) $+ $iif($10,$chr(44) $+ $10) $+ $iif($11,$chr(44) $+ $11) $+ $iif($12,$chr(44) $+ $12) $+ ) }
var %sckstredit = $chr(175) $+ $replace($did(30),$chr(40),OBKT,$chr(41),CBKT,$chr(44),$chr(175)) $+ $chr(175)
var %sckstredit = $regsubex(%sckstredit,/\$chrOBKT([0-9]+)CBKT/gSi,$chr(\t))
if ($did(30) != $null) { did -ar sock_disp 16 $replace($did(16),$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12) }
if ($did(25).state == 1) { did -ar sock_disp 16 $nohtml($did(16)) | set %sckdispchanges $chr(36) $+ nohtml( $+ %sckdispchanges $+ ) }
if ($did(92) != $null) { did -ar sock_disp 16 $eval($replace($did(92),@LINE@,$did(16)),2) | set %sckdispchanges $replace($did(92),@LINE@,%sckdispchanges) }
}
; UPDATE CHANGES
on *:dialog:sock_disp:sclick:32:{
$updatechanges
}
; TOGGLE ADVANCED MODE
on *:dialog:sock_disp:sclick:21:{
did $iif($did(21).state == 0,-h,-v) sock_disp 39-41,24,92,112,28,83,86-89,123,65-66,44,118,90
}
; SCRIPT CREATE
on *:dialog:sock_disp:sclick:61:{
$updatechanges
dialog -mad sock_disp_create sock_disp_create
}
; ------------------- Create script ---------------
dialog sock_disp_create {
title "Create Script"
size -1 -1 130 63
option dbu
icon scksave.ico,0
edit "", 1, 6 17 96 10, limit 30 right
text "What would you like to call this file?", 2, 14 8 87 8
button "OK", 3, 21 48 37 12, default
radio ".mrc", 5, 104 15 23 7
radio ".txt", 6, 104 22 22 7
text "Note: If the filename already exists, it will be overwritten.", 4, 7 30 111 15
button "Cancel", 7, 64 48 37 12, cancel
}
; INITILISATION COMMANDS
on *:DIALOG:sock_disp_create:INIT:0: {
did -c sock_disp_create 5
did -ar sock_disp_create 1 $did(sock_disp,60)
}
on *:dialog:sock_disp_create:sclick:3:{
if ($did(1) && $did(1) != notes && $did(1) != readme && $did(1) != versions) {
did -f sock_disp 61
set %sockdispdir $replace($did(sock_disp_create,1),$chr(32),$chr(95))
set %sockdispdir $regsubex(%sockdispdir,/([\!\"\£\$\%\^\&\*\(\)\=\}\{\]\[\#\~\@\'\:\;\?\,\\\|\\\\<\>\¬\`\/])/g,$null)
set %sockdispdir $+(",$scriptdir,%sockdispdir,$chr(46),$iif($did(5).state == 1,mrc,txt),")
did -ar sock_disp 128 $nopath(%sockdispdir)
unset %sckerror
did -r sock_disp 97,98
if ($did(sock_disp,13) == $null) { did -a sock_disp 97 * You have not opened a socket to choose a line from | set %sckerror yes }
if ($did(sock_disp,13) == $null || $did(sock_disp,13) == No line selected) { did -a sock_disp 97 * You have not selected a line within the socket! | set %sckerror yes }
if ($did(sock_disp,64) == $null) { did -a sock_disp 97 * Must specify value ALWAYS on a line | set %sckerror yes }
if ($did(sock_disp,42) == $null && $did(sock_disp,119).state == 1) || ($did(sock_disp,115) == $null && $did(sock_disp,119).state == 0) { did -a sock_disp 97 No trigger defined. Used !trigger | $simplerad | did -arv sock_disp 42 !trigger | did -c sock_disp 119 | did -u sock_disp 120 }
if ($did(sock_disp,48) == $null) { did -a sock_disp 97 No output message: Used Result: @RESULT@ | did -a sock_disp 48 Result: @RESULT@ }
if ($did(sock_disp,60) == $null) { did -a sock_disp 60 socket $+ $rand(100,100000) | did -a sock_disp 97 No socket defined: Used socket: $did(sock_disp,60) }
if ($did(sock_disp,73) == $null) { did -a sock_disp 97 No variable defined. Value will be unset after. }
if ($left($did(sock_disp,73),1) != $chr(37) && $did(sock_disp,73) != $null) { did -ar sock_disp 73 $chr(37) $+ $did(sock_disp,73) | did -a sock_disp 97 Corrected invalid variable - added $chr(37) $+ . }
if (%sckerror != yes) {
write -c %sockdispdir $chr(59
) $iif($did(sock_disp,42
).
visible ==
$true,
$did(sock_disp,42
),
$did(sock_disp,60
)) script created using Chessnut's Simple Socket Script Creator
write %sockdispdir $iif($did(sock_disp,42
).
visible ==
$false,
$did(sock_disp,115
),
on *:text: $+
$did(sock_disp,42
) $+ *:#:
$chr(123
))
if ($did(sock_disp,94
).
state == 1
) write %sockdispdir var $chr(37
) $+ sckid = $+
($chr(36
),right,
$chr(40
),
$chr(36
),ticks,
$chr(44
),5,
$chr(41
))
if ($did(sock_disp,94
).
state == 0
) write %sockdispdir if ( $+
$chr(36
) $+ sock
( $+
$did(sock_disp,60
) $+
)) .
sockclose $did(sock_disp,60
)
if ($did(sock_disp,120).state == 1) {
var %i = 1
while (%sckdisptrigway. [ $+ [ %i ] ]) {
write %sockdispdir $iif($did(sock_disp,94
).
state == 0,
%sckdisptrigway.
[ $+
[ %i ] ],
$replace(%sckdisptrigway.
[ $+
[ %i ] ],$+
($chr(37
),way
),$+
($chr(37
),way
) $+ .
$chr(91
) $chr(36
) $+ +
$chr(91
) $chr(37
) $+ sckid
$chr(93
) $chr(93
))))
inc %i
}
}
if ($did(sock_disp,119
).
state = 1 &&
$did(sock_disp,46
).
state = 1
) write %sockdispdir set
$chr(37
) $+ chan $+
$iif($did(sock_disp,94
).
state == 1,.
$chr(91
) $chr(36
) $+ +
$chr(91
) $chr(37
) $+ sckid
$chr(93
) $chr(93
)) $chr(36
) $+ chan
if ($did(sock_disp,119
).
state = 1 &&
$did(sock_disp,47
).
state = 1
) write %sockdispdir set
$chr(37
) $+
nick $+
$iif($did(sock_disp,94
).
state == 1,.
$chr(91
) $chr(36
) $+ +
$chr(91
) $chr(37
) $+ sckid
$chr(93
) $chr(93
)) $chr(36
) $+
nick
write %sockdispdir sockopen
$did(sock_disp,60
) $+
$iif($did(sock_disp,94
).
state == 1,.
$chr(91
) $chr(36
) $+ +
$chr(91
) $chr(37
) $+ sckid
$chr(93
) $chr(93
)) %sockdisphost %sockdispport
write %sockdispdir $chr(125
)
write %sockdispdir on *:SOCKOPEN: $+
$did(sock_disp,60
) $+
$iif($did(sock_disp,94
).
state == 1,.*
) $+ :
$chr(123
)
write %sockdispdir sockwrite
-nt $chr(36
) $+ sockname
$iif($did(sock_disp,28
).
state == 1,GET,POST
) %sockdisppage HTTP
/1.1
write %sockdispdir sockwrite
-nt $chr(36
) $+ sockname Host:
%sockdisphost
$iif($did(sock_disp,40
),
write %sockdispdir sockwrite
-nt $chr(36
) $+ sockname User-Agent:
$did(sock_disp,40
))
var %j = 1
var %k = $did(sock_disp,88).lines
while (%j <= %k) {
if ($did(sock_disp,88
) !=
$null) write %sockdispdir sockwrite
-nt $chr(36
) $+ sockname
$did(sock_disp,88,
[ $+
[ %j ] ] )
inc %j
}
write %sockdispdir sockwrite
-nt $chr(36
) $+ sockname
$chr(36
) $+ crlf
write %sockdispdir $chr(125
)
write %sockdispdir on *:SOCKREAD: $+
$did(sock_disp,60
) $+
$iif($did(sock_disp,94
).
state == 1,.*
) $+ :
$chr(123
)
write %sockdispdir if ( $+
$chr(36
) $+ sockerr
) $chr(123
)
if ($did(sock_disp,119).state == 1) {
if ($did(sock_disp,46).state == 1) {
write %sockdispdir msg $chr(37
) $+ chan $+
$iif($did(sock_disp,94
).
state == 1,.
$chr(91
) $chr(36
) $+ +
$chr(91
) $chr(36
) $+ right
( $+
$chr(36
) $+ sockname,5
) $chr(93
) $chr(93
)) Socket Error:
$chr(36
) $+ sockname
$chr(36
) $+ + .
Error code:
$chr(36
) $+ sockerr Please inform
$chr(36
) $+
me of this error message.
}
if ($did(sock_disp,47).state == 1) {
write %sockdispdir notice $chr(37
) $+
nick $+
$iif($did(sock_disp,94
).
state == 1,.
$chr(91
) $chr(36
) $+ +
$chr(91
) $chr(36
) $+ right
( $+
$chr(36
) $+ sockname,5
) $chr(93
) $chr(93
)) Socket Error:
$chr(36
) $+ sockname
$chr(36
) $+ + .
Error code:
$chr(36
) $+ sockerr Please inform
$chr(36
) $+
me of this error message.
}
if ($did(sock_disp,91).state == 1) {
write %sockdispdir echo -s Socket Error:
$chr(36
) $+ sockname
$chr(36
) $+ + .
Error code:
$chr(36
) $+ sockerr $+ .
}
}
else {
write %sockdispdir $chr(37
) $+ way $+
$iif($did(sock_disp,94
).
state == 1,.
$chr(91
) $chr(36
) $+ +
$chr(91
) $chr(36
) $+ right
( $+
$chr(36
) $+ sockname,5
) $chr(93
) $chr(93
)) Socket Error:
$chr(36
) $+ sockname
$chr(36
) $+ + .
Error code:
$chr(36
) $+ sockerr Please inform
$chr(36
) $+
me of this error message.
}
write %sockdispdir $chr(125
)
write %sockdispdir else $chr(123
)
write %sockdispdir var $chr(37
) $+ sockreader
write %sockdispdir sockread
$chr(37
) $+ sockreader
write %sockdispdir if (* $+
$did(sock_disp,64
) $+ * iswm
$iif($did(sock_disp,90
).
seltext == Before &&
$did(sock_disp,123
).
state == 1 &&
$did(sock_disp,21
).
state == 1,
$chr(37
) $+ sockreader-
[ $+
[ $did(sock_disp,44
) ] ],
$chr(37
) $+ sockreader
)) $+
$chr(41
) $chr(123
)
$iif($did(sock_disp,33
) !=
$null ||
$did(sock_disp,35
) !=
$null,
write %sockdispdir noop $chr(36
) $+ regex
( $+
$iif($did(sock_disp,90
).
seltext == After &&
$did(sock_disp,123
).
state == 1 &&
$did(sock_disp,21
).
state == 1,
$chr(37
) $+ sockreader-
[ $+
[ $did(sock_disp,44
) ] ],
$chr(37
) $+ sockreader
) $+
$chr(44
) $+
/ $+
$iif($did(sock_disp,33
),
$regexfriendly($did(sock_disp,33
)),^
) $+
(.*?
) $+
$iif($did(sock_disp,35
),
$regexfriendly($did(sock_disp,35
)),$
) $+
/Si))
$iif($did(sock_disp,33) != $null || $did(sock_disp,35) != $null,set %sckdispchanges $replace(%sckdispchanges,$iif($did(sock_disp,90).seltext == After && $did(sock_disp,123).state == 1 && $did(sock_disp,21).state == 1,% $+ sockreader- [ $+ [ $did(sock_disp,44) ] ],% $+ sockreader),$ $+ regml(1)))
$iif($did(sock_disp,33
) !=
$null ||
$did(sock_disp,35
) !=
$null,
write %sockdispdir $iif($did(sock_disp,73
) ==
$null,
var $+
($chr(37
),tempvar
),set
$did(sock_disp,73
)) $replace(%sckdispchanges,
@zero£,0
),
write %sockdispdir $iif($did(sock_disp,73
) ==
$null,
var $+
($chr(37
),tempvar
), set
$did(sock_disp,73
)) $replace(%sckdispchanges,
@zero£,0
))
did -ar sock_disp 48 $regsubex($did(sock_disp,48),/(.*?[^ ])@RESULT@/Sig,\1 $chr(36) $+ + @RESULT@)
did -ar sock_disp 48 $regsubex($did(sock_disp,48),/@RESULT@([^ ].*?)/Sig,@RESULT@ $chr(36) $+ + \1)
if ($did(sock_disp,119).state == 1) {
var %i = 1
var %c = $did(sock_disp,48).lines
while (%i <= %c) {
if ($did(sock_disp,46).state == 1) {
write %sockdispdir msg $chr(37
) $+ chan $+
$iif($did(sock_disp,94
).
state == 1,.
$chr(91
) $chr(36
) $+ +
$chr(91
) $chr(36
) $+ right
( $+
$chr(36
) $+ sockname,5
) $chr(93
) $chr(93
)) $replace($did(sock_disp,48,
[ $+
[ %i ] ] ),
@RESULT@,
$iif($did(sock_disp,73
) ==
$null,$+
($chr(37
),tempvar
),
$did(sock_disp,73
)))
}
if ($did(sock_disp,47).state == 1) {
write %sockdispdir notice $chr(37
) $+
nick $+
$iif($did(sock_disp,94
).
state == 1,.
$chr(91
) $chr(36
) $+ +
$chr(91
) $chr(36
) $+ right
( $+
$chr(36
) $+ sockname,5
) $chr(93
) $chr(93
)) $replace($did(sock_disp,48,
[ $+
[ %i ] ] ),
@RESULT@,
$iif($did(sock_disp,73
) ==
$null,$+
($chr(37
),tempvar
),
$did(sock_disp,73
)))
}
if ($did(sock_disp,91).state == 1) {
write %sockdispdir echo -s $replace($did(sock_disp,48,
[ $+
[ %i ] ] ),
@RESULT@,
$iif($did(sock_disp,73
) ==
$null,$+
($chr(37
),tempvar
),
$did(sock_disp,73
)))
}
inc %i
}
}
else {
var %i = 1
var %c = $did(sock_disp,48).lines
while (%i <= %c) {
write %sockdispdir $chr(37
) $+ way $+
$iif($did(sock_disp,94
).
state == 1,.
$chr(91
) $chr(36
) $+ +
$chr(91
) $chr(36
) $+ right
( $+
$chr(36
) $+ sockname,5
) $chr(93
) $chr(93
)) $replace($did(sock_disp,48,
[ $+
[ %i ] ] ),
@RESULT@,
$iif($did(sock_disp,73
) ==
$null,$+
($chr(37
),tempvar
),
$did(sock_disp,73
)))
inc %i
}
}
if ($did(sock_disp,94
).
state == 1
) write %sockdispdir unset
$chr(37
) $+ * $+
$iif($did(sock_disp,94
).
state == 1,.
$chr(91
) $chr(36
) $+ +
$chr(91
) $chr(36
) $+ right
( $+
$chr(36
) $+ sockname,5
) $chr(93
) $chr(93
))
if ($did(sock_disp,123
).
state == 1 &&
$did(sock_disp,21
).
state == 1
) write %sockdispdir unset
$chr(37
) $+ sockreader*
if ($did(sock_disp,119
).
state = 1 &&
$did(sock_disp,46
).
state = 1
) write %sockdispdir unset
$chr(37
) $+ chan
if ($did(sock_disp,119
).
state = 1 &&
$did(sock_disp,47
).
state = 1
) write %sockdispdir unset
$chr(37
) $+
nick
write %sockdispdir sockclose
$chr(36
) $+ sockname
write %sockdispdir $chr(125
)
if ($did(sock_disp,123).state == 1 && $did(sock_disp,21).state == 1) {
write %sockdispdir if ($len($remove(%sockreader,
$chr(9
),
$chr(32
))) > 0
) $chr(123
)
write %sockdispdir var $chr(37
) $+ x =
$calc($did(sock_disp,44
) - 1
)
write %sockdispdir while (%x >
-1) $chr(123
)
write %sockdispdir if ($len(%sockreader $chr(91
) $chr(36
) $+ +
$chr(91
) $chr(36
) $+ iif
(%x != 0,$+
(-,
%x)) $chr(93
) $chr(93
) $+
) <= 850
) set
$chr(37
) $+ sockreader
$chr(91
) $chr(36
) $+ +
$chr(91
) $chr(36
) $+ +
(-,
$calc(%x + 1
)) $chr(93
) $chr(93
) $chr(37
) $+ sockreader
$chr(91
) $chr(36
) $+ +
$chr(91
) $chr(36
) $+ iif
(%x != 0,$+
(-,
%x)) $chr(93
) $chr(93
)
write %sockdispdir dec
$chr(37
) $+ x
write %sockdispdir $chr(125
)
write %sockdispdir $chr(125
)
}
write %sockdispdir $chr(125
)
write %sockdispdir $chr(125
)
did -a sock_disp 97 Full script successfully saved to $+($scriptdir,%sockdispdir)
did -a sock_disp 97 SCRIPT CREATED SUCCESSFULLY.
dialog -x sock_disp_create sock_disp_create
}
else {
did -a sock_disp 97 SCRIPT NOT CREATED.
dialog -x sock_disp_create sock_disp_create
}
}
}
; ----------------- Back to main dialog -----------------------
; SELECT CREATION LINE
on *:dialog:sock_disp:sclick:97:{
did -ar sock_disp 98 $did(97).seltext
}
; FIND ERROR
on *:dialog:sock_disp:sclick:99:{
if ($did(98) == $null) halt
if (*opened a socket to choose* iswm $did(98)) || (*not selected a line* iswm $did(98)) { did -f sock_disp 5 | did -f sock_disp 2 }
if (*value ALWAYS on a line* iswm $did(98)) { did -f sock_disp 6 | did -f sock_disp G }
if (*No trigger* iswm $did(98)) { did -f sock_disp 42 }
if (*No output* iswm $did(98)) { did -f sock_disp 48 }
if (*No socket* iswm $did(98)) { did -f sock_disp 60 }
if (*No variable* iswm $did(98)) { did -f sock_disp 73 }
if (*invalid variable* iswm $did(98)) { did -f sock_disp 73 }
}
; SCRIPT TEST
on *:dialog:sock_disp:sclick:51:{
if (%sockdisphost && %sockdispport && $did(13) != No line selected) {
did -h sock_disp 80
did -h sock_disp 81
did -r sock_disp 76,55,52
did -r sock_disp 68 Script initialised
if ($sock(testsock)) .sockclose testsock
set %reponce 1
unset %testvalue
sockopen testsock %sockdisphost %sockdispport
}
}
on *:SOCKOPEN:testsock: {
did -a sock_disp 68 Socket opened successfully
sockwrite -nt $sockname $iif($did(sock_disp,28).state == 1,GET,POST) %sockdisppage HTTP/1.1
sockwrite -nt $sockname Host: %sockdisphost
$iif($did(sock_disp,40),sockwrite -nt $sockname User-Agent: $did(sock_disp,40))
var %j = 1
var %k = $did(sock_disp,88).lines
while (%j <= %k) {
sockwrite -nt $sockname $did(sock_disp,88, [ $+ [ %j ] ] )
inc %j
}
sockwrite -nt $sockname $crlf
did -a sock_disp 68 Written data to socket: Host: %sockdisphost $+ , Page: %sockdisppage
}
on *:SOCKREAD:testsock: {
if ($sockerr) {
did -a sock_disp 68 SOCKET ERROR: $sockerr
$iif(%testvalue != $null,did -v sock_disp 80,did -v sock_disp 81)
halt
}
else {
if (%reponce == 1) {
did -a sock_disp 68 Socket read without errors.
set %reponce 0
}
var %sockreader
sockread %sockreader
if ($len($remove(%sockreader,$chr(9),$chr(32))) = 0) halt
if ($+(*,$did(sock_disp,64),*) iswm $iif($did(sock_disp,90).seltext == Before && $did(sock_disp,123).state == 1 && $did(sock_disp,21).state == 1,%sockreader- [ $+ [ $did(sock_disp,44) ] ],%sockreader)) {
did -a sock_disp 68 Line found: $iif($did(sock_disp,90).seltext == After && $did(sock_disp,123).state == 1 && $did(sock_disp,21).state == 1,%sockreader- [ $+ [ $did(sock_disp,44) ] ],%sockreader)
did -ra sock_disp 52,55 $iif($did(sock_disp,90).seltext == After && $did(sock_disp,123).state == 1 && $did(sock_disp,21).state == 1,%sockreader- [ $+ [ $did(sock_disp,44) ] ],%sockreader)
set %sckdispchanges $iif($did(sock_disp,90).seltext == After && $did(sock_disp,123).state == 1 && $did(sock_disp,21).state == 1,$chr(37) $+ sockreader- [ $+ [ $did(sock_disp,44) ] ],$chr(37) $+ sockreader)
if ($did(sock_disp,85).state == 1) { did -ar sock_disp 55 $nohtml($did(sock_disp,55)) | set %sckdispchanges $chr(36) $+ nohtml( $+ %sckdispchanges $+ ) }
noop $regex($did(sock_disp,55
),
/ $+
$iif($did(sock_disp,33
),
$regexfriendly($did(sock_disp,33
)),^
) $+
(.*?
) $+
$iif($did(sock_disp,35
),
$regexfriendly($did(sock_disp,35
)),$
) $+
/Si)
if ($regml(1)) set $iif($did(sock_disp,90).seltext == After && $did(sock_disp,123).state == 1 && $did(sock_disp,21).state == 1,% $+ sockreader- [ $+ [ $did(sock_disp,44) ] ],% $+ sockreader) $regml(1)
tokenize 44
$replace($did(sock_disp,31
),0,
@zero£
)
if ($did(sock_disp,31
) !=
$null) { did
-ar sock_disp 55
$remove($did(sock_disp,16
),
$1,
$2,
$3,
$4,
$5,
$6,
$7,
$8,
$9,
$10,
$11,
$12) | set
%sckdispchanges $chr(36
) $+
remove( $+
%sckdispchanges $+
$iif($1 !=
$null,
$chr(44
) $+
$1) $+
$iif($2,
$chr(44
) $+
$2) $+
$iif($3,
$chr(44
) $+
$3) $+
$iif($4,
$chr(44
) $+
$4) $+
$iif($5,
$chr(44
) $+
$5) $+
$iif($6,
$chr(44
) $+
$6) $+
$iif($7,
$chr(44
) $+
$7) $+
$iif($8,
$chr(44
) $+
$8) $+
$iif($9,
$chr(44
) $+
$9) $+
$iif($10,
$chr(44
) $+
$10) $+
$iif($11,
$chr(44
) $+
$11) $+
$iif($12,
$chr(44
) $+
$12) $+
) }
tokenize 44
$replace($did(sock_disp,30
),0,
@zero£
)
if ($did(sock_disp,30) != $null) { did -ar sock_disp 55 $replace($did(sock_disp,16),$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12) | set %sckdispchanges $chr(36) $+ replace( $+ %sckdispchanges $+ $iif($1,$chr(44) $+ $1) $+ $iif($2,$chr(44) $+ $2) $+ $iif($3,$chr(44) $+ $3) $+ $iif($4,$chr(44) $+ $4) $+ $iif($5,$chr(44) $+ $5) $+ $iif($6,$chr(44) $+ $6) $+ $iif($7,$chr(44) $+ $7) $+ $iif($8,$chr(44) $+ $8) $+ $iif($9,$chr(44) $+ $9) $+ $iif($10,$chr(44) $+ $10) $+ $iif($11,$chr(44) $+ $11) $+ $iif($12,$chr(44) $+ $12) $+ ) }
if ($did(sock_disp,25).state == 1) { did -ar sock_disp 55 $nohtml($did(sock_disp,16)) | set %sckdispchanges $chr(36) $+ nohtml( $+ %sckdispchanges $+ ) }
if ($did(sock_disp,92) != $null) { did -ar sock_disp 55 $eval($replace($did(sock_disp,92),@LINE@,$did(sock_disp,55)),2) | set %sckdispchanges $replace($did(sock_disp,92),@LINE@,%sckdispchanges) }
set %testvalue $eval($retchanges,2)
did -ra sock_disp 55 %testvalue
did -a sock_disp 68 $iif(%testvalue != $null,Data found: %testvalue,DATA NOT FOUND)
$iif(%testvalue != $null && $did(sock_disp,52) != HTTP/1.1 200 OK,did -v sock_disp 80,did -v sock_disp 81)
var %i = 1
var %c = $did(sock_disp,48).lines
while (%i <= %c) {
did
-a sock_disp 56
$iif($did(sock_disp,91
).
state == 1,
$chr(124
) ECHO $chr(124
) $+ >,< $+
$me $+ >
) $replace($did(sock_disp,48,
[ $+
[ %i ] ] ),
@RESULT@,
%testvalue)
inc %i
}
unset %reponce
unset %testvalue
unset %sockreader*
sockclose testsock
}
if ($did(sock_disp,123).state == 1 && $did(sock_disp,21).state == 1) {
if ($len($remove(%sockreader,$chr(9),$chr(32))) > 0) {
var %x = $calc($did(sock_disp,44) - 1)
while (%x > -1) {
if ($len(%sockreader [ $+ [ $iif(%x != 0,$+(-,%x)) ] ]) <= 850) set %sockreader [ $+ [ $+(-,$calc(%x + 1)) ] ] %sockreader [ $+ [ $iif(%x != 0,$+(-,%x)) ] ]
dec %x
}
}
}
}
}
on *:SOCKCLOSE:testsock: {
did -a sock_disp 68 Socket closed successfully
$iif(%testvalue != $null && $did(sock_disp,52) != HTTP/1.1 200 OK,did -v sock_disp 80,did -v sock_disp 81)
}
; TEST LINE SELECT
on *:dialog:sock_disp:sclick:68:{
did -ar sock_disp 76 $did(68).seltext
}
; FAKE CHAT WINDOW SELECT
on *:dialog:sock_disp:sclick:56:{
did -ar sock_disp 77 $did(56).seltext
}
; NEXT CLICK
on *:dialog:sock_disp:sclick:70:{
did -fu sock_disp 37
}
; CHECK FROM OTHER LINE
on *:dialog:sock_disp:sclick:123:{
did $iif($did(123).state == 0,-b,-e) sock_disp 65,44,66,118,90
}
; CHECK LINES CLICK
on *:dialog:sock_disp:sclick:124:{
if ($did(sock_disp,123).state == 1 && $did(sock_disp,21).state == 1) {
did -r sock_disp 125
if ($did(44)) dialog -mad sock_disp_check sock_disp_check
else did -ar sock_disp 125 The number of lines cannot be zero.
}
else {
dialog -mad sock_disp_lineref sock_disp_lineref
}
}
;;;;;;;;;;;;;;;;;;;; CHECK LINES DIALOG ;;;;;;;;;;;;;;;
dialog sock_disp_check {
title "Multiple line reference checker"
size -1 -1 155 167
option dbu
icon sckicon.ICO, 0
edit "", 1, 7 36 141 10, read autohs
text "The line you wish to get is:", 2, 8 28 86 8
text "If the following information is correct, you have the right line selected!", 3, 18 4 126 14, center
box "Specified lines", 4, 5 20 145 53
text "The line that should contain the unique data/string is:", 5, 8 49 133 8
edit "", 6, 7 58 141 10, read autohs
edit "", 7, 7 93 141 10, read autohs
text "IS on the line that you have specified to contain the unique data/string", 8, 9 105 132 14
text "The unique string you specified:", 9, 9 85 116 8
box "Valid?", 10, 5 77 145 68
icon 17, 68 121 15 15, sckcross.png, 0, hide
icon 11, 68 121 15 15, scktick.png, 0, hide
button "OK", 12, 57 149 37 12, default ok cancel
}
on *:DIALOG:sock_disp_check:INIT:0: {
did -ar sock_disp_check 7 $did(sock_disp,64)
sockopen dsock.2 %sockdisphost %sockdispport
}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;; CHECK LINES DIALOG - SIMPLE ;;;;;;;;;;;;;;;
dialog sock_disp_lineref {
title "Line Reference Checker"
size -1 -1 153 168
option dbu
icon sckicon.ICO, 0
text "If the following information is correct, you have used the right data to identify the line.", 1, 23 5 110 16, center
edit "", 2, 8 39 137 10, read autohs
text "The data you have selected to identify the line is:", 3, 9 31 124 7
box "Line identification", 4, 4 22 145 66
text "The first line that contains this, and the line that you wish to get data from, is:", 5, 9 53 125 15
edit "", 6, 8 69 137 10, read autohs
button "OK", 7, 59 146 37 12, result default ok cancel
icon 11, 69 119 15 15, scktick.png, 0, hide
box "Result", 8, 4 91 145 50
text "", 9, 10 100 129 16
icon 10, 69 119 15 15, sckcross.png, 0, hide
}
on *:DIALOG:sock_disp_lineref:INIT:0: {
did -ar sock_disp_lineref 2 $did(sock_disp,64)
sockopen dsock.3 %sockdisphost %sockdispport
}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; VIEW SCRIPT CLICK
on *:dialog:sock_disp:sclick:71:{
run notepad.
exe %sockdispdir
}
; TO TEST CLICK
on *:dialog:sock_disp:sclick:82:{
did -fu sock_disp 38
}
; VIEW IN BROWSER
on *:dialog:sock_disp:sclick:84:{
if ($left($did(3),7) != http:// && $did(3) != $null) did -ar sock_disp 3 http:// $+ $did(3)
$iif($did(3
),
run $did(3
))
}
; SOCKCLOSE CLICK
on *:dialog:sock_disp:sclick:83:{
if ($sock(testsock)) { .sockclose testsock | did -a sock_disp 68 Socket forced closed by user. }
}
; LOAD SCRIPT
on *:dialog:sock_disp:sclick:111:{
if ($exists(%sockdispdir) == $true) {
if ($?!"This will
load your script into remotes.
Any script with the same name will be overwritten.
Continue?" ==
$true) {
did -a sock_disp 68 Script $qt($nopath(%sockdispdir)) loaded.
}
else did -a sock_disp 68 Script loading cancelled.
did -f sock_disp 111
}
else {
did -a sock_disp 68 No such file: $qt(%sockdispdir)
}
}
; HELP CLICK
on *:dialog:sock_disp:sclick:18:{
if ($+($scriptdir,SockCreator_readme.txt)) {
run $scriptdir $+ SockCreator_readme.
txt
}
}
; FEEDBACK CLICK
on *:dialog:sock_disp:sclick:117:{
run mailto:chessnutrs
@gmail.
com
}
; TRIGGER RADIO CHANGE -> ADV
on *:dialog:sock_disp:sclick:120:{
did -h sock_disp 91,47,46,42
did -v sock_disp 113,115
}
alias -l simplerad {
did -v sock_disp 91,47,46,42
did -h sock_disp 113,115
}
; TRIGGER RADIO CHANGE -> SIMPLE
on *:dialog:sock_disp:sclick:119:{
$simplerad
}
; ADV TRIGGER OPTIONS
on *:dialog:sock_disp:sclick:113:{
dialog -mad sock_disp_trig sock_disp_trig
}
; -------------- Update Checker ----------------------
dialog sock_disp_upd {
title "Autoupdater"
size -1 -1 162 229
option dbu
icon sckupd.ICO, 0
edit "Connecting to update page... (http://h1.ripway.com/Chessnut/sckupdates.txt)", 1, 8 4 145 17, read multi center
text "Newest Version:", 2, 88 31 40 8
text "Current Version:", 4, 13 31 41 8
text "Up-to-date?", 6, 12 47 30 8
icon 7, 44 43 15 15, scktick.png, 0, hide
box "Version check", 8, 9 23 146 56
box "Latest version", 9, 9 82 146 79
button "Cancel", 10, 63 211 38 15, cancel
text "New features:", 12, 14 91 41 8
edit "", 14, 14 102 136 55, read multi hsbar vsbar
text "Connecting to update page...", 16, 64 44 88 15
icon 17, 45 43 14 14, sckcross.png, 0, hide
box "Topics", 18, 8 163 146 45,
disable
button "Latest version SwiftIRC topic", 19, 28 171 43 17,
disable multi
button "Latest version Hawkee topic", 20, 94 171 43 17,
disable multi
text "", 21, 61 91 36 8, hide
text "", 22, 103 91 36 8, hide
text "Click one of the above topics for the latest update download link.", 11, 16 191 133 13,
disable
edit "", 13, 68 64 83 10, read autohs
text "Expected release date for next version:", 15, 11 62 56 13
}
; CHECK FOR UPDATES
on *:dialog:sock_disp:sclick:122:{
if ($sock(sckdispupd)) sockclose sckdispupd
dialog -mad sock_disp_upd sock_disp_upd
did -ar sock_disp_upd 3 $remove($did(sock_disp,121),v)
sockopen sckdispupd h1.ripway.com 80
}
; http://h1.ripway.com/Chessnut/sckupdates.txt
on *:SOCKOPEN:sckdispupd: {
sockwrite -nt $sockname GET /Chessnut/sckupdates.txt HTTP/1.1
sockwrite -nt $sockname Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
sockwrite -nt $sockname Accept-Language: en-gb,en;q=0.5
sockwrite -nt $sockname Host: h1.ripway.com
sockwrite -nt $sockname Keep-Alive: 300
sockwrite -nt $sockname Proxy-Connection: keep-alive
sockwrite -nt $sockname If-None-Match: "fa7ba6628f3cc71:3ff"
sockwrite -nt $sockname Pragma: no-cache
sockwrite -nt $sockname Cache-Control: no-cache
sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:sckdispupd: {
if ($sockerr) {
did -ar sock_disp_upd 1 Error connecting to update page: $sockerr $crlf Page: http://h1.ripway.com/Chessnut/sckupdates.txt
did -ar sock_disp_upd 16 Error connecting to update page.
halt
}
else {
var %sockreader
sockread %sockreader
if ($regex(%sockreader,/Latest Version: (.*?) !END!/)) {
did -ar sock_disp_upd 1 Connection Established.
did -ar sock_disp_upd 5 $regml(1)
}
if ($regex(%sockreader,
/Latest Version
Topic URLs:
(.*?
) !END!
/)) {
did -ar sock_disp_upd 21 $1
did -ar sock_disp_upd 22 $2
}
if ($regex(%sockreader,/Updates in the new version: (.*?) !END!/)) {
did -ar sock_disp_upd 14 $replace($regml(1),$+($chr(124),$chr(32)),$crlf)
}
if ($regex(%sockreader,/Next Version: (.*?) !END!/)) {
if ($did(sock_disp_upd,5) <= $did(sock_disp_upd,3)) {
did -ar sock_disp_upd 13 $regml(1)
}
}
if ($regex(%sockreader,/:END OF FILE:/)) {
sockclose sckdispupd
if ($did(sock_disp_upd,5) <= $did(sock_disp_upd,3)) {
did -v sock_disp_upd 7
did -ar sock_disp_upd 16 Your Simple Socket Script Creator is up to date!
did -ev sock_disp_upd 11,18-20
}
else {
did -ev sock_disp_upd 11,17-20
did -ar sock_disp_upd 13 It's out now!
did -ar sock_disp_upd 16 Version $did(sock_disp_upd,5) has been released. You are strongly advised to update.
}
}
if (</html> iswm %sockreader) {
sockclose sckdispupd
did -ar sock_disp_upd 1 Error connecting to update page. $crlf Page: http://h1.ripway.com/Chessnut/sckupdates.txt
did
-ar sock_disp_upd 16 Error connecting to update page:
Url not found?
}
}
}
; SwiftIRC CLICK
on *:dialog:sock_disp_upd:sclick:19:{
}
; Hawkee CLICK
on *:dialog:sock_disp_upd:sclick:20:{
}
; ---------------------- Trigger Dialog ------------------------
dialog sock_disp_trig {
title "Trigger Creation"
size -1 -1 162 213
option dbu
icon sckicon.ico,0
tab "Advanced Trigger Creation", 1, 7 2 146 195
box "Finished Trigger", 2, 15 152 133 27, tab 1
button "Cancel", 3, 107 181 37 12, tab 1 cancel
button "Use Trigger", 4, 14 181 37 12, tab 1 ok cancel default
edit "", 5, 19 161 124 12, tab 1 read autohs
box "Starting characters", 7, 15 18 132 36, tab 1
text "Enter possible starting characters. E.G. '!@-' will trigger on !TEXT, @TEXT and -TEXT", 9, 21 38 122 13, tab 1
radio "Message channel", 12, 80 110 50 7, tab 1
radio "Notice nick", 18, 80 119 50 7, group tab 1
radio "Echo status", 11, 80 128 50 7, tab 1
box "Define starting character action", 13, 15 92 133 59, tab 1
list 17, 22 101 50 43, tab 1 size
button "See example", 6, 108 200 36 10, tab 1
edit "", 8, 23 26 117 12, autohs
text "Enter possible text triggers separated with a comma. E.G. 'google,search,find'", 14, 21 75 122 13
box "Text trigger", 15, 15 55 132 36
edit "", 16, 22 63 117 12, autohs
}
; INITILISATION COMMANDS
on *:DIALOG:sock_disp_trig:INIT:0: {
did -c sock_disp_trig 12
if ($did(sock_disp,115) != $null) {
noop $regex($did(sock_disp,115
),
/\
[(.*?
)\
]\
((.*?
)\
)/g)
did -ar sock_disp_trig 8 $remove($regml(1),\)
did -ar sock_disp_trig 16 $replace($remove($regml(2),\),$chr(124),$chr(44))
var %i = 0
while (%i != $len($did(8))) {
inc %i
did -a sock_disp_trig 17 $mid($did(8),%i,1)
if (!%sckdisptrigt. [ $+ [ $mid($did(8),%i,1) ] ]) set %sckdisptrigt. [ $+ [ $mid($did(8),%i,1) ] ] ,12,18,11
}
if ($did(16) != $null && $did(8) != $null) did -ar sock_disp_trig 5 on $+($chr(36),*:text:/^,$chr(91),$regexfriendly($did(8)),$chr(93),$chr(40),$replace($regexfriendly($did(16)),$chr(44),$chr(124)),$chr(41),/Si:#:, ,$chr(123))
}
}
; PRIM TRIGGER EDIT
on *:dialog:sock_disp_trig:edit:8:{
did -r sock_disp_trig 17,5
if ($did(16) != $null && $did(8) != $null) did -ar sock_disp_trig 5 on $+($chr(36),*:text:/^,$chr(91),$regexfriendly($did(8)),$chr(93),$chr(40),$replace($regexfriendly($did(16)),$chr(44),$chr(124)),$chr(41),/Si:#:, ,$chr(123))
var %i = 0
while (%i != $len($did(8))) {
inc %i
did -a sock_disp_trig 17 $mid($did(8),%i,1)
if (!%sckdisptrigt. [ $+ [ $mid($did(8),%i,1) ] ]) set %sckdisptrigt. [ $+ [ $mid($did(8),%i,1) ] ] ,12,18,11
}
}
; SEC TRIGGER EDIT
on *:dialog:sock_disp_trig:edit:16:{
did -r sock_disp_trig 5
if ($did(16) != $null && $did(8) != $null) did -ar sock_disp_trig 5 on $+($chr(36),*:text:/^,$chr(91),$regexfriendly($did(8)),$chr(93),$chr(40),$replace($regexfriendly($did(16)),$chr(44),$chr(124)),$chr(41),/Si:#:, ,$chr(123))
}
; RADIO CHANGES
on *:dialog:sock_disp_trig:sclick:12:{
set %sckdisptrigt. [ $+ [ $did(17).seltext ] ] ,12,18,11
}
on *:dialog:sock_disp_trig:sclick:18:{
set %sckdisptrigt. [ $+ [ $did(17).seltext ] ] ,18,12,11
}
on *:dialog:sock_disp_trig:sclick:11:{
set %sckdisptrigt. [ $+ [ $did(17).seltext ] ] ,11,18,12
}
; LISTBOX CHANGE
on *:dialog:sock_disp_trig:sclick:17:{
tokenize 44
%sckdisptrigt.
[ $+
[ $did(17
).
seltext ] ]
did -c sock_disp_trig $1
did -u sock_disp_trig $2 $+ $chr(44) $+ $3
}
; USE TRIGGER
on *:dialog:sock_disp_trig:sclick:4:{
if ($did(16) != $null && $did(8) != $null) did -ar sock_disp_trig 5 on $+($chr(36),*:text:/^,$chr(91),$regexfriendly($did(8)),$chr(93),$chr(40),$replace($regexfriendly($did(16)),$chr(44),$chr(124)),$chr(41),/Si:#:, ,$chr(123))
unset %sckdisptrigway.*
var %i = 1
while (%i <= $len($did(8))) {
if ($gettok(%sckdisptrigt.
[ $+
[ $mid($did(8
),
%i,1
) ] ],1,44
) == 12
) set
%sckdisptrigway.
[ $+
[ %i ] ] msg $+
($chr(36
),chan
)
if ($gettok(%sckdisptrigt.
[ $+
[ $mid($did(8
),
%i,1
) ] ],1,44
) == 18
) set
%sckdisptrigway.
[ $+
[ %i ] ] notice $+
($chr(36
),
nick)
if ($gettok(%sckdisptrigt.
[ $+
[ $mid($did(8
),
%i,1
) ] ],1,44
) == 11
) set
%sckdisptrigway.
[ $+
[ %i ] ] echo -s
set %sckdisptrigway. [ $+ [ %i ] ] if $+($chr(40),$chr(36),left,$chr(40),$chr(36),1,$chr(44),1,$chr(41),$chr(32),==,$chr(32),$mid($did(8),%i,1),$chr(41)) set $+($chr(37),way) %sckdisptrigway. [ $+ [ %i ] ]
inc %i
}
did -ar sock_disp 115 $did(5)
}
; SEE EXAMPLE
on *:dialog:sock_disp_trig:sclick:6:{
did -ar sock_disp_trig 8 !@-
did -ar sock_disp_trig 16 google,search,find
did -ar sock_disp_trig 5 on $+($chr(36),*:text:/^,$chr(91),$regexfriendly($did(8)),$chr(93),$chr(40),$replace($regexfriendly($did(16)),$chr(44),$chr(124)),$chr(41)/Si:#:, ,$chr(123))
set %sckdisptrigt.! ,18,11,12
set %sckdisptrigt.@ ,12,18,11
set %sckdisptrigt.- ,11,18,11
did -r sock_disp_trig 17
var %i = 0
while (%i != $len($did(8))) {
inc %i
did -a sock_disp_trig 17 $mid($did(8),%i,1)
if (!%sckdisptrigt. [ $+ [ $mid($did(8),%i,1) ] ]) set %sckdisptrigt. [ $+ [ $mid($did(8),%i,1) ] ] ,12,18,11
}
}
; CLOSE TRIGGER CREATION
on *:
dialog:sock_disp_trig:
close:0:
{
var %i = 0
while (%i != $len($did(8))) {
inc %i
did -a sock_disp_trig 17 $mid($did(8),%i,1)
set %sckdisptrigsafe. [ $+ [ $mid($did(8),%i,1) ] ] %sckdisptrigt. [ $+ [ $mid($did(8),%i,1) ] ]
}
unset %sckdisptrigt.*
var %i = 0
while (%i != $len($did(8))) {
inc %i
did -a sock_disp_trig 17 $mid($did(8),%i,1)
set %sckdisptrigt. [ $+ [ $mid($did(8),%i,1) ] ] %sckdisptrigsafe. [ $+ [ $mid($did(8),%i,1) ] ]
}
unset %sckdisptrigsafe.*
}