Code:
if(task_exists(id+6500)) id -= 6500
if(!is_user_connected(id) && !is_user_connecting(id))
{
remove_task(id+6500)
return PLUGIN_HANDLED
}
Something feels wrong there.
I'm thinking that first 'task_exists' is wrong.
If the task does exist, do you want to do:
or do you want:
Code:
remove_task(id+6500)
Also, should:
Code:
if(!is_user_connected(id) && !is_user_connecting(id))
have its && changed to a ||?
I recommend writing out your thoughts on a piece of paper to clear out what makes sense and what does not.

Draw a flowchart or something.
Edit: And for the sake of the processor, change all those id+6500's to a single variable equalling id + 6500... for whatever reason you are doing that.