As you can see there is no reason it would not be working correctly:

Code:
new Float:DeagleArr[]={0.0,0.3,0.4,0.5,0.5,0.5,0.5};
new Float:ColtArr[]={0.0,0.0,0.0,0.0,0.3,0.4,0.5};
Code:
new Float:odds=Math_GetRandomFloat(0.0,1.0);
            if(DeagleArr[wep_level]<=odds)
            {
                new wep2 = GetPlayerWeaponSlot( client, CS_SLOT_SECONDARY );
                if( IsValidEdict( wep2 ) )
                {
                    W3DropWeapon(client,wep2);
                    UTIL_Remove( wep2 );
                }
                GivePlayerItem(client,"weapon_deagle");
                PrintToChat(client,"Got Degal");
            }
            if(ColtArr[wep_level]<=odds)
            {
                new wep1 = GetPlayerWeaponSlot( client, CS_SLOT_PRIMARY );
                if( IsValidEdict( wep1 ) )
                {
                    W3DropWeapon(client,wep1);
                    UTIL_Remove( wep1 );
                }
                GivePlayerItem(client,"weapon_m4a1");
                PrintToChat(client,"Got M4A1");
            }