Elvish/Drow translator
Platform: mIRC
Published Nov 23, 2010
Updated Nov 23, 2010
drow elf/reg elf translator. translates text and names. with the drow translation you can translate more than one word at a time eg i love you make sure the drow check box is clicked. but with the elfish part you can only do one word at a time the best site i could find for it sucks make sure the elf check box is clicked. there isnt much to the elvish language.then for a name just click male/female and type in a male/female name in the upper text box then click trans name. thanks to napa and typo for teachin me. napa scripted the drow socket im not that good yet
Menu Menubar,Nicklist,Channel {
ElvenTranslator
.ElvenTranslator: dialog $iif($dialog(ElvenTranslator.System),-v,-md ElvenTranslator.System) ElvenTranslator.System
}
dialog ElvenTranslator.System {
title "Elven Translator"
size -1 -1 164 56
option dbu
button "Translate", 1, 0 26 35 14
edit , 4, 1 2 155 11, autohs
edit , 5, 1 15 155 10, autohs
Radio "Message chan on " 6, 113 27 50 10, flat
Radio "Message chan off" 7, 113 40 50 10, flat
check "Drow", 8, 40 27 20 9
check "Elven", 9, 40 40 23 9
check "Male name", 10, 70 27 35 9
check "Girl name", 11, 70 40 35 9
button "Trans Name", 12, 0 41 35 14
}
On *:dialog:ElvenTranslator.System:init:*: {
if (%msgchan == on ) {
did -c ElvenTranslator.System 6
}
elseif (%msgchan == off ) { did -c ElvenTranslator.System 7
}
if ( %Language == Drow ) { did -c ElvenTranslator.System 8
}
if ( %Language == Elven ) { did -c ElvenTranslator.System 9
}
if ( %sex == male ) { did -c ElvenTranslator.System 10
}
if ( %sex == female ) { did -c ElvenTranslator.System 11
}
}
On *:dialog:ElvenTranslator.System:sclick:1: {
if (%Language == Drow ) {
set %trans $did(4) | sockopen Drow www.eilistraee.com 80
}
elseif (%Language == Elven ) && (%msgchan == off) {
did -r ElvenTranslator.System 5
set %elvish.msg did -a ElvenTranslator.System 5
set %elvish.word $did(4)
sockopen elvish www.arwen-undomiel.com 80
}
else { set %elvish.msg msg $active 12,1[4,1Elvish12,1]
set %elvish.word $did(4)
sockopen elvish www.arwen-undomiel.com 80
}
}
On *:dialog:ElvenTranslator.System:sclick:12: {
if (%sex == male ) && (%msgchan == off) {
did -r ElvenTranslator.System 5
set %elvishname.msg did -a ElvenTranslator.System 5
set %elvishname.word $did(4)
sockopen elvishname www.arwen-undomiel.com 80
}
else { set %elvishname.msg msg $active 12,1[4,1Elvish Name12,1]
set %elvishname.word $did(4)
sockopen elvishname www.arwen-undomiel.com 80
}
if (%sex == female ) && (%msgchan == off) {
did -r ElvenTranslator.System 5
set %elvishname2.msg did -a ElvenTranslator.System 5
set %elvishname2.word $did(4)
sockopen elvishname2 www.arwen-undomiel.com 80
}
elseif (%msgchan == on) { set %elvishname2.msg msg $active 12,1[4,1Elvish Name12,1]
set %elvishname2.word $did(4)
sockopen elvishname2 www.arwen-undomiel.com 80
}
}
on *:sockopen:Drow:{
var %Drow $+(page=result&words=,%trans,&direction=drow&plain=plain&submit=Translate)
sockwrite -n Drow POST /chosen/language.php HTTP/1.1
sockwrite -n Drow Host: $sock(Drow).addr
sockwrite -n Drow Content-Type: application/x-www-form-urlencoded
sockwrite -n Drow Content-Length: $len(%Drow)
sockwrite -n Drow $+($crlf,%Drow)
}
on *:sockread:Drow: {
var %Drow | sockread %Drow
if ($regex(%Drow,/<tr><td.+>(.+:)<\/b> <.+>(.+?)<\/td>/)) {
.set %reg1 $regml(1) $+ $regml(2)
Did -r ElvenTranslator.System 5
Did -a ElvenTranslator.System 5 %reg1
if (%msgchan == on) { msg $active 4,1 $regml(1) $regml(2)
}
}
}
On *:dialog:ElvenTranslator.System:sclick:6: {
set %msgchan on
}
On *:dialog:ElvenTranslator.System:sclick:7: {
set %msgchan off
}
On *:dialog:ElvenTranslator.System:sclick:8: {
set %Language Drow
did -u ElvenTranslator.System 9
}
On *:dialog:ElvenTranslator.System:sclick:9: {
set %Language Elven
did -u ElvenTranslator.System 8
}
On *:dialog:ElvenTranslator.System:sclick:10: {
set %sex male
did -u ElvenTranslator.System 11
}
On *:dialog:ElvenTranslator.System:sclick:11: {
set %sex female
did -u ElvenTranslator.System 10
}
on *:sockopen:elvish: {
sockwrite -n $sockname GET /elvish/eng_to_elv.html HTTP/1.1
sockwrite -n $sockname Host: $+($sock(elvish).addr,$str($crlf,2))
}
on *:sockread:elvish: {
var %elvish.sock
sockread %elvish.sock
if (<b> $+ %elvish.word isin %elvish.sock) {
var %elvish.sock $htmlfree(%elvish.sock)
%elvish.msg $mid(%elvish.sock,1,$calc($pos(%elvish.sock,$chr(40))-2))
}
}
on *:sockopen:elvish: { unset %elvish.* }
alias htmlfree {
var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, )
return %x
}
on *:sockopen:elvishname: {
sockwrite -n $sockname GET /elvish/boynames.html HTTP/1.1
sockwrite -n $sockname Host: $+($sock(elvishname).addr,$str($crlf,2))
}
on *:sockread:elvishname: {
var %elvishname.sock
sockread %elvishname.sock
if (<b> $+ %elvishname.word isin %elvishname.sock) {
var %elvishname.sock $htmlfree(%elvishname.sock)
%elvishname.msg $mid(%elvishname.sock,1,$calc($pos(%elvishname.sock,$chr(40))-2))
}
}
on *:sockopen:elvishname: { unset %elvishname.* }
alias htmlfree {
var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, )
return %x
}
on *:sockopen:elvishname2: {
sockwrite -n $sockname GET /elvish/girlnames.html HTTP/1.1
sockwrite -n $sockname Host: $+($sock(elvishname2).addr,$str($crlf,2))
}
on *:sockread:elvishname2: {
var %elvishname2.sock
sockread %elvishname2.sock
if (<b> $+ %elvishname2.word isin %elvishname2.sock) {
var %elvishname2.sock $htmlfree(%elvishname2.sock)
%elvishname2.msg $mid(%elvishname2.sock,1,$calc($pos(%elvishname2.sock,$chr(40))-2))
}
}
on *:sockopen:elvishname2: { unset %elvishname2.* }
alias htmlfree {
var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, )
return %x
}