mIRC Home    About    Download    Register    News    Help

Print Thread
#101037 19/10/04 10:36 PM
Joined: Dec 2002
Posts: 60
C
Babel fish
OP Offline
Babel fish
C
Joined: Dec 2002
Posts: 60
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

Code:
var %cs.character $left(%cs.word,%cs.ii)

Last edited by Cyber_Axe; 19/10/04 10:50 PM.
#101038 20/10/04 09:23 AM
Joined: Aug 2004
Posts: 101
D
Vogon poet
Offline
Vogon poet
D
Joined: Aug 2004
Posts: 101
var %cs.character = $left(%cs.word,%cs.ii)

Add the equal (=) sign to all var statements in the code!!


Maybe I wake up one day to notice that all my life was just a dream!
#101039 20/10/04 01:13 PM
Joined: Feb 2004
Posts: 2,019
Hoopy frood
Offline
Hoopy frood
Joined: Feb 2004
Posts: 2,019
Hi,

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.:

//echo -a $ab(string)
//msg $nick $ab(string)
//notice $nick $ab(string)
//msg $chan $ab(string)
...

Greets


Gone.
#101040 20/10/04 03:03 PM
Joined: Dec 2002
Posts: 60
C
Babel fish
OP Offline
Babel fish
C
Joined: Dec 2002
Posts: 60
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

#101041 21/10/04 09:24 AM
Joined: Aug 2004
Posts: 101
D
Vogon poet
Offline
Vogon poet
D
Joined: Aug 2004
Posts: 101
/set doesn't need the = sign
though /var does


Maybe I wake up one day to notice that all my life was just a dream!

Link Copied to Clipboard