mIRC Homepage
Posted By: JB_uk A small issue, any help appreciated - 27/10/14 06:57 PM
Anybody able to help with this problem?
This script randomises the symbols to work like a slot or scratchcard. However it costs 1 gold to buy.
The script will not execute any of the if statements or else if sections if they are true. However if none of them are true it will execute the else section perfectly. Any ideas appreciated.
Code:
on *:TEXT:!scratch:#:{

  var %symbol.0 Kappa
  var %symbol.1 shazamicon
  var %symbol.2 BrainSlug
  var %symbol.3 ItsBoshyTime
  var %topic $+($chan,.,$nick)
  var %goldies $readini(Gold.ini,$+(#,.,$nick),Gold)
  var %ngoldies $calc(%goldies - 1)
  var %topic1 $+($chan,.,$nick)
  var %againgoldies1 $readini(Gold.ini,%topic1,Gold)
  var %wingoldies1 $calc(%againgoldies1 + 68)
  var %topic2 $+($chan,.,$nick)
  var %againgoldies2 $readini(Gold.ini,%topic2,Gold)
  var %wingoldies2 $calc(%againgoldies2 + 29)
  var %topic2 $+($chan,.,$nick)
  var %againgoldies2 $readini(Gold.ini,%topic2,Gold)
  var %wingoldies2 $calc(%againgoldies2 + 29)

  msg # $nick spent 1 Gold.
  var %slot1 %symbol. [ $+ [ $rand(0,3) ] ]
  var %slot2 %symbol. [ $+ [ $rand(0,3) ] ]
  var %slot3 %symbol. [ $+ [ $rand(0,3) ] ]
  .timer.s 1 2 msg # %slot1 %slot2 %slot3
  if (%slot1 == Kappa) && (%slot2 == Kappa) && (%slot3 == Kappa) {
    var %topic1 $+($chan,.,$nick)
    var %againgoldies1 $readini(Gold.ini,%topic1,Gold)
    var %wingoldies1 $calc(%againgoldies1 + 68)

    writeini -n Gold.ini %topic1 Gold %winngoldies1

    .timer.Kappawin 1 4 msg # $nick won the jackpot Kappa
    .timer.Kappawin1 1 6 msg # $nick won 69 Gold! Kappa

    return
  }
  elseif (%slot1 == %slot2) && (%slot1 == %slot3) {
    var %topic2 $+($chan,.,$nick)
    var %againgoldies2 $readini(Gold.ini,%topic2,Gold)
    var %wingoldies2 $calc(%againgoldies2 + 29)

    writeini -n Gold.ini %topic2 Gold %winngoldies2

    .timer.wiener 1 4 msg # We have an wiener %slot1
    .timer.wiener1 1 6 msg # $nick won 30 points!

    return
  }
  elseif (%slot1 == %slot2) || (%slot1 == %slot3) || (%slot2 == %slot3) {
    var %topic3 $+($chan,.,$nick)
    var %againgoldies3 $readini(Gold.ini,%topic3,Gold)
    var %wingoldies3 $calc(%againgoldies3 + 5)

    writeini -n Gold.ini %topic Gold %winngoldies3

    .timer.2of3 1 4 msg # You were so close $nick $+ . You won 5 Gold.

    return
  }
  else {   
    var %topic $+($chan,.,$nick)
    var %goldies $readini(Gold.ini,$+(#,.,$nick),Gold)
    var %ngoldies $calc(%goldies - 1)

    writeini -n Gold.ini %topic Gold %ngoldies
    return
  }
}
Posted By: Loki12583 Re: A small issue, any help appreciated - 27/10/14 07:59 PM
On lines 30, 42, and 54 you have a typo in your variables %winngoldies1/2/3.

You will have errors in your status window telling you the line number: * /writeini: insufficient parameters
Posted By: JB_uk Re: A small issue, any help appreciated - 27/10/14 08:26 PM
Noticed that now, such a stupid little mistake, I tried making it do $error but it didn't display. Cheers for that simple "fix".
© mIRC Discussion Forums