(...) could you gimme the line finished up with error checking and all?

Put these lines to a remote file. Besides the aliases section, you can add your own aliases to remotes as well - you'll have to prefix them with "alias". I'm prefering this.
; You can add comments to a code - all lines prefixed with a ; will be ignored while processing your code.
; Of course you can remove all these comments if you like

; kickban per editbox command (example)
alias kb {

  ; the window where you entered the command is not a active channel 
  ; [note how the operator "ison" has been negated with an exclamation mark]

  if ($me !ison $acitve) { echo -a kickban: $active is not a channel! }

  ; no first parameter (no nick given)
  ; [using the 'negation-prefix' again, this time to check whether there was a parameter entered]

  elseif (!$1) { echo -a kickban: no nick specified. Syntax: /kb <nick> <optional kick-reason> }

  ; first paramter given is not a nick on that chan

  elseif ($1 !ison $chan) { echo -a kickban: $1 is not a nick on $active }

  ; no sufficient channel rights (only ops, halfops etc can kick or ban a user)
  ; [this line combines two "if" comparisons with "or"]

  elseif (($me isreg $active) || ($me isvoice $active)) { echo -a kickban: Your have no sufficient channel rights on active to kick or ban }

  ; none of the possible errors above occured: perform the ban with "mode" as you liked, followed by a kick. 
  ; [desired banmask "4" via $address(nick,4). "$2-" refers to the 2nd parameter onwards, in this case the kick reason]

  else { 
    mode $active +b $address($1,4)
    kick $active $1 $2-


As you see, the structure of this alias is: if....elseif....elseif...elseif...else. The respective command is executed once a condition is matched; processing stopps at that point. Thus, only if none of the "error message conditions" is true, the alias will procede to "else" and try to perform a kickban.
"$active" refers to the active window, In this case it's the name of the channel where command was entered - so you could use # instead, if you want.

Anyway. I think it might have something to do with /kb /mode # +b$1 | /kick # $1 needing $address. Somehow make it when I go /kb nick it takes the nick, $addresses it, and then puts it in as $1.

"mode $active +b $address($1,4) .... kick $active $1 $2-" does the same as "ban -k $active $1 4 $2-" (ban in combination with kick on $active of user $1 with mask 4; kick of user $1 with reason $2-).

If you only want to "stop processing" if invalid or insufficient parameters were given (no echo feedback), the alias could be much smaller - now you can combine multiple "error-conditions":
alias kb {
  if ((($me isop $active) || ($me ishop $active)) && ($1 ison $active)) { ban -k $address($1,4) 4 $2- }
"if (I'm op on $active OR I'm halfop on $active) AND $1 is a nick on active".
The condition "$active has to be a valid channel" is inherent in these conditions. (if $1 has to be a nick on $active, $active for sure has to be a chan) - thus no need to check this condition on its own smile

I'm also looking at a /i /invite $1 $2 where $1nick and $2channel, but I also want it to work if I just type /i nick on a channel, but that would be just a /i /invite $1 #. So I dunno. Error checking included would pwn.

A good starting point for another if-then-else construction:
alias i {
  ; first parameter is a user in your internal address list 
  if ($ial($1)) { 
    ; second parameter is a channel you're on: invite the user to that chan
    if (#$2 ischan) { invite $1 #$2 }
    ; second parameter given, but it's no channel
    elseif ($2) { echo -a Cannot invite $1 on $2 - $2 is no channel! }
    ; (no second parameter given) and typing the command in a channel window: invite the user to the active channel
    elseif ($active ischan) { invite $1 $active }
    ; (no second parameter given) and typing the command in somo other window, e.g. status window
    else { echo -a invite: neither is $active a channel; nor did you provide a channel to invite $1 }
  ; first parameter given, but it's not a user
  elseif ($1) { echo -a invite: looks like $1 is no user sharing a channel with you! }
  ; no first parameter given
  else { echo -a invite: no nickname given! }

Without error echos, it can be simplified again:
alias i {
  if (($ial($1)) && ((#$2 ischan) || ($active ischan))) { invite $1 $iif(($2 ischan),#$2,$active) }
"If $1 is a user in your internal address list AND ($2 is a channel OR $active is a channel)"
You might have noted the # prefix for $2 in some of the lines above: "#$2". Take for example a channel named "#test": "/i John #Test" would work, but what about "/i John Test"? If you use #$2 instead of $2, mIRC will add that prefix if it's missing smile

alias kb {
 .raw -q mode # +b $address($1,1) $crlf kick # $1 $iif($2,: $+ $2)
- I don't see any advantage of using rawmode here. Then, breaking lines with a pipe | or splitting the two commands on two lines looks a lot cleaner imho
- it should be $2- as the kick-reason could contain spaces