I told you in your last thread that all your checks are redundant. I don't know why you're checking for $3 for ops and $4 for non-ops; I can only guess you shouldn't be doing this, but I'm not a mind reader. The first event should be replaced with the following:
on *:TEXT:!60x2*:#chan: {
if ($nick !ishop #) && ($nick !isop #) {
if ($4 != $null) {
notice $nick 12You must be a channel (half)operator to use this command.
}
}
elseif ($3 != $null) {
set %roller1 $2
set %rollpot $3
msg # 12 $+ %roller1 %rollpot Pot gl - 1 60 = win. type !dice
}
}
For your second event you are using the pipe | in your text. You happen to be using color codes right next to it so it's okay, but be careful using it in your text in the future because this is reserved for separating commands on a single line.
if ($nick == %roller1) ($nick == %roller1 <60) {
Here you seem to be using the same variable for the name and for the value, and trying to check the value before it's been set. Then you have the fact that the syntax is all wrong - but I can't really correct it because your code doesn't make sense anyway.
Please keep all your dice questions in a single thread. We don't need a new one every time you're doing something wrong, and it seems like that will be happening a lot.
If you write out what you're doing in English first and then turn it into mIRC script you might have a better time spotting what you're doing wrong with your syntax.