Well I thought I'd add my buyscript as I've had it since the early beta cs days and it still works well now. This buyscript will buy the gun and fill it with as much ammo as possible dependent on money:
//Buy MP5
alias mp5combo "buy mp5navy; buy primammo"
bind "f4" "mp5combo"
//Buy AK47
alias akcombo "buy ak47; buy primammo"
bind "f7" "akcombo"
//Buy Sig
alias sigcombo "buy sg550; buy primammo"
bind "f8" "sigcombo"
//Buy Colt
alias m4combo "buy m4a1; buy primammo"
bind "f9" "m4combo"
//Buy AUG
alias augcombo "buy aug; buy primammo"
bind "f10" "augcombo"
//Buy Scout
alias scoutcombo "buy scout; buy primammo"
bind "f11" "scoutcombo"
//Buy AWP
alias awpcombo "buy awp; buy primammo"
bind "f12" "awpcombo"
//Buy ITEMS script:
//Buy Kevlar V
bind "KP_END" "buy vest"
//Buy Kevlar V and Helmet
bind "KP_DOWNARROW" "buy vesthelm"
//Buy Flashbang
bind "KP_PGDN" "buy flashbang"
//Buy HE Grenade
bind "KP_LEFTARROW" "buy hegrenade"
//Buy Smoke Grenade
bind "KP_5" "buy smokegrenade"
//Buy Defuse kit
bind "KP_RIGHTARROW" "buy defuser"
Oh and here is something a little extra
A little weapon switch alias (uses one button to flick between guns):
//Weapon Switch
bind "e" "weapswitch"
alias "switch1" "slot2;alias weapswitch switch2"
alias "switch2" "slot1;alias weapswitch switch1"
alias "weapswitch" "switch1"
...and a little weapon scroll one (uses the mouse wheel to change weapons without having to select - much faster

)
//Weapon Scroll
alias next_wpn "invnext;wait;+attack;wait;-attack"
bind "mwheeldown" "next_wpn"
alias prev_wpn "invprev;wait;+attack;wait;-attack"
bind "mwheelup" "prev_wpn"