OK lets do a little bit of looking up the screen.

BNX said
Quote:
Here is what the chat would look like.
<JOE> !addme BLAH
<Bot> JOE added // /set %person. $+ $nick BLAH
<Mike> !read Bob
<Bot> Bob is not found (cant find %person.Bob)
<Mike> !read JOE
<Bot> BLAH (%person.JOE found)


here is what i said to use

Quote:
Code:
on *:TEXT:!addme *:#: {
  set $+(%,person.,$nick) $2-
  msg $chan $nick added [color:blue]// /set $+(%,person.,$nick) $2-[/color]
}
On *:TEXT:!read &amp;:#: {
  if ($var($+(%,person.,$2),1) == $+(%,person.,$2)) { msg $chan  [color:orange]$($v2,2) ( $+ $v2 found)[/color] }
  else { msg $chan $2 is not found (can't find $v2 $+ ) }
}

You well note the sections in color which attempt to comply with what you said the bot was to do.

Here is what you said my code was, its close enough, but you respaced it and added unneeded /'s and removed the blue code (although looking closely at mine i think it might have been missing a bit anyway)
Also note the green } being left on that line well force the line too line up under the IF above it, not indented as shown.

Quote:
HIS (code)
Code:
on *:TEXT:!addme *:#: {
   /set $+(%,person.,$nick) $2-
   /msg $chan $nick added 
}
on *:TEXT:!read &amp;:#: {
   if ($var($+(%,person.,$2),1) == $+(%,person.,$2)) { 
       /msg $chan $($v2,2) ( $+ $v2 found) [color:green]}[/color] 
   else { 
      /msg $chan $2 is not found (can't find $v2 $+ ) 
   }
}


now your code, which by the way AGAIN is faulty

Quote:
Code:
MINE
on *:TEXT:!add:#: {
  /set $+(%,person.,$nick) 1
  /msg $chan $nick added
}
on *:TEXT:!read *:#: {
  /set %persontemp %person. $+ $2
  if ($var(%persontemp) == 1) { 
    /msg $chan $2 Found!
  }
  else {
    /msg $chan user not found
  }
  /unset %persontemp
}


/set %persontemp %person. $+ $2
if ($var(%persontemp) == 1) {

^^^^ thats always gonna be true since you just made that vairable on the line above $var(%persontemp) is the same as $var(%persontemp,0) which tells you how many variables with the name %persontemp there are, and WOW there is 1 since you just made it above!
%persontemp s not evaluated inside ot the $var( ) this is a special condition of this identifier since it is variable names specificly that it is designed to look up.
$var($(%persontemp,2)) would be the correct method there as you need to force the evaluation of the variable to get its contents.

Quote:
/msg $chan $($v2,2) ( $+ $v2 found) <---- You dont need all that
/msg $chan $2 Found! <----- Works just fine

I direct you to the orange section above for what you specificed, the bot was to do.
Why but why if you said "!READ BOB" would you only want to reply "BOB Found"

Quote:
btw, why do you guys jumble your scripts together like that? Does it make your scripts look more complicated so people think your smarter? In my opinion, its much easier to script and understand when things are properly spaced and organized.


I well space out stuff when i feel its needed, and when its only one command in a IF ELSE i well put them following the IF or ELSE simple to align the condition and the action together.
To make people think im smarter? Did you get upset with my example script? Smarts is in the ability of code to complete the task requested.
Your intitled to your opinion, and its a fair one, if im involved in a large coding project, ill organize and setout according to the layout secifications of the project, here its just how I code at that moment, nothing more or less.