actually, I've been using the ^ and haltdef for years now and it works fine with it. There may be a 2nd ctcp event in the script file which is causing this one not to work (as an alternative solution). What I've been using is (basic formatting):
ctcp ^*:*: {
if (stuff) { }
elseif ($1 == clientinfo) { }
elseif ($1 == dcc) { }
elseif ($1 == finger) { }
elseif ($1 == ping) { }
elseif ($1 == time) { }
elseif ($1 == userinfo) { }
elseif ($1 == version) { }
}
That has all worke3d for me no problem so ^ can be used in a CTCP event