this is a script i have created for a friend however there seems to be a bug in it that i cant figure out whats wrong can anyone see anytihng wrong with this?
Code:
;Replace character with another
alias ab {
var %cs.text = $1-
var %cs.wordcount = $gettok(%cs.text,0,32)
var %cs.i = 1
var %cs.ii = 1
var %cs.word2
while (%cs.i <= %cs.wordcount) {
var %cs.word = $gettok(%cs.text,%cs.i,32)
var %cs.wordlen = $len(%cs.word)
while (%cs.ii <= %cs.wordlen) {
var %cs.character $left(%cs.word,%cs.ii)
inc %cs.ii
if (%cs.character = a) {
var %cs.character y
}
elseif (%cs.character = b) {
var %cs.character p
}
elseif (%cs.character = c) {
var %cs.character l
}
elseif (%cs.character = d) {
var %cs.character t
}
elseif (%cs.character = e) {
var %cs.character a
}
elseif (%cs.character = f) {
var %cs.character v
}
elseif (%cs.character = g) {
var %cs.character k
}
elseif (%cs.character = h) {
var %cs.character r
}
elseif (%cs.character = i) {
var %cs.character e
}
elseif (%cs.character = j) {
var %cs.character z
}
elseif (%cs.character = k) {
var %cs.character g
}
elseif (%cs.character = l) {
var %cs.character m
}
elseif (%cs.character = m) {
var %cs.character h
}
elseif (%cs.character = n) {
var %cs.character s
}
elseif (%cs.character = o) {
var %cs.character u
}
elseif (%cs.character = p) {
var %cs.character b
}
elseif (%cs.character = q) {
var %cs.character x
}
elseif (%cs.character = r) {
var %cs.character n
}
elseif (%cs.character = s) {
var %cs.character c
}
elseif (%cs.character = t) {
var %cs.character d
}
elseif (%cs.character = u) {
var %cs.character i
}
elseif (%cs.character = v) {
var %cs.character j
}
elseif (%cs.character = w) {
var %cs.character f
}
elseif (%cs.character = x) {
var %cs.character q
}
elseif (%cs.character = y) {
var %cs.character u
}
elseif (%cs.character = z) {
var %cs.character w
}
var %cs.word2 %cs.word2 $+ %cs.character
var %cs.word $left(%cs.word,%cs.ii) $+ $mid(%cs.word,$calc(%cs.ii + 1))
inc %cs.ii
if (%cs.ii == %cs.wordlen) {
var %cs.word %cs.word2
}
}
inc %cs.i
var %cs.ii = 1
var %cs.word2
var %cs.string %cs.string $+ %cs.word
}
msg $active %cs.string
}
aparently this pice of code is where the error is tho ic ant see whats causing it
I was wondering why you just don't use $replacex for this?
Also in your if comparisons, use double equal signs "==" instead of one "="
like if (v1 == v2) { commands }
Usage: $ab(string)
Code:
alias ab return $replacex($$1,a,y,b,p,c,l,d,t,e,a,f,v,g,k,h,r,i,e,j,z,k,g,l,m,m,h,n,s,o,u,p,b,q,x,r,n,s,c,t,d,u,i,v,j,w,f,x,q,y,u,z,w)
So you in your code you'll do something like: //msg $active $ab(my string)
It's advisable to create the function (char replacer) independent from messaging it to the channel, that way you can use that function in multiple situations, like e.g.:
i didnt notice i hadn't ='d all vars tho i didnt think it mattered (havent scripted for a while) since i seem to have other scripts with no = that work
i noticed after i posted that i had = instead of == which i fixed
thanks, i didnt know about replacex if i did would have saved me much more time and pulling out of hair