how can i detect ring-3 debuggers(like OllyDbg) with out IsDebuggerPresent API ?
Don't bother. If anybody is going to attack your application, they'll either use a ring0 debugger or know how to defeat ring3 debugger checks. If you really insist on doing this, I believe there's some TIB/TEB field to check, but I can't remember exactly nor whether if it's 9x/NT dependant (probably is).
mov ecx, [fs:30h]
test ecx, ecx
movzx ecx, byte[ecx+2]
mov ecx, [fs:20h]
Anyway do not bother because some people have patched their TIB/TEB field to stop this kind of detection